magnopy.SpinHamiltonian.add_43#
method
- SpinHamiltonian.add_43(alpha: int, beta: int, gamma: int, nu: tuple, _lambda: tuple, parameter, replace=False) None#
Adds a (four spins & three sites) parameter to the Hamiltonian.
Doubles of the bonds are managed automatically (independently of the convention of the Hamiltonian).
- Parameters:
- alphaint
Index of an atom from the (0, 0, 0) unit cell.
0 <= alpha < len(spinham.atoms.names).- betaint
Index of an atom from the nu unit cell.
0 <= beta < len(spinham.atoms.names).- gammaint
Index of an atom from the _lambda unit cell.
0 <= gamma < len(spinham.atoms.names).- nutuple of 3 int
Three relative coordinates with respect to the three lattice vectors, that specify the unit cell for the second atom.
\[\nu = (x_{\boldsymbol{a}_1}, x_{\boldsymbol{a}_2}, x_{\boldsymbol{a}_3})\]- _lambdatuple of 3 int
Three relative coordinates with respect to the three lattice vectors, that specify the unit cell for the third atom.
\[\lambda = (x_{\boldsymbol{a}_1}, x_{\boldsymbol{a}_2}, x_{\boldsymbol{a}_3})\]- parameter(3, 3, 3, 3) array-like
Value of the parameter (\(3\times3\times3\times3\) matrix).
- replacebool, default False
Whether to replace the value of the parameter if the triplet of atoms
alpha, beta, gamma, nu, lambdaor one of its duplicates already have a parameter associated with it.
- Raises:
- ValueError
If an atom already has a parameter associated with it.
Notes
If
spinham.convention.multiple_countingisTrue, then this function adds the bond and all its duplicates to the Hamiltonian. It will cause anValueErrorto add the duplicate of the bond after the bond is added.If
spinham.convention.multiple_countingisFalse, then only the primary version of the bond is added to the Hamiltonian.For the definition of the primary version see Multiple counting.