API documentation
Models
dot_abs_chain(length, params=None)
Construct a spinful dot/ABS chain Hamiltonian.
The model includes on-site chemical potentials and Zeeman energies, Coulomb repulsion, s-wave pairing, nearest-neighbour hopping, and spin-orbit coupling.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
length
|
int
|
Number of lattice sites. |
required |
params
|
dict | None
|
Parameter policy for each physical quantity. When |
None
|
Returns:
| Type | Description |
|---|---|
tuple[dict[str, Any], Expr, list[FermionOp]]
|
The prepared parameter dictionary, symbolic Hamiltonian expression, and the list of spinful fermionic operators ordered as |
Source code in pmm_tools/models.py
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | |
interacting_kiteav_chain(length, params=None)
Build a spinless Kitaev-style chain with interactions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
length
|
int
|
Number of lattice sites. |
required |
params
|
dict | None
|
Parameter policy describing the chemical potential, hopping,
pairing, and interaction strengths. The accepted value formats match
:func: |
None
|
Returns:
| Type | Description |
|---|---|
tuple[dict[str, Any], Expr, list[str]]
|
The prepared parameter mapping, the symbolic Hamiltonian in second quantization, and the list of fermionic operator labels. |
Source code in pmm_tools/models.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
Model helpers
define_operators(length, spinful=False)
Create fermionic ladder operators for a 1D lattice.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
length
|
int
|
Number of spatial sites. |
required |
spinful
|
bool
|
If |
False
|
Returns:
| Type | Description |
|---|---|
list[FermionOp]
|
Fermionic annihilation operators named |
Source code in pmm_tools/model_helper.py
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | |
prepare_parameters(parameters, specs)
Prepare and validate a parameter specification.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parameters
|
dict | None
|
Mapping describing the value policy for each parameter.
Each value can be:
* a SymPy expression or numeric scalar to keep constant,
* a sequence whose length matches |
required |
specs
|
dict
|
Metadata describing the required length and realness of each parameter. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Prepared parameter mapping containing scalars, lists of symbols, or the original |
dict[str, Any]
|
sequence objects. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If a provided value does not match the required length or uses an unsupported declarative string. |
Source code in pmm_tools/model_helper.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | |