Hamiltonian
- class ttnopt.Hamiltonian(system_size: int, spin_size: List[str], model: str, interaction_indices: List[List[int]], interaction_coefs: List[List[float]], magnetic_field_X_indices: List[int] | None = None, magnetic_field_X: List[float] | None = None, magnetic_field_Y_indices: List[int] | None = None, magnetic_field_Y: List[float] | None = None, magnetic_field_Z_indices: List[int] | None = None, magnetic_field_Z: List[float] | None = None, ion_anisotropy_indices: List[int] | None = None, ion_anisotropy: List[float] | None = None, dzyaloshinskii_moriya_X_indices: List[List[int]] | None = None, dzyaloshinskii_moriya_X: List[float] | None = None, dzyaloshinskii_moriya_Y_indices: List[List[int]] | None = None, dzyaloshinskii_moriya_Y: List[float] | None = None, dzyaloshinskii_moriya_Z_indices: List[List[int]] | None = None, dzyaloshinskii_moriya_Z: List[float] | None = None, sod_X_indices: List[List[int]] | None = None, sod_X: List[float] | None = None, sod_Y_indices: List[List[int]] | None = None, sod_Y: List[float] | None = None, sod_Z_indices: List[List[int]] | None = None, sod_Z: List[float] | None = None)[source]
Bases:
objectA class for Hamiltonian. This class is used to store Hamiltonian as a List of Observable.
- __init__(system_size: int, spin_size: List[str], model: str, interaction_indices: List[List[int]], interaction_coefs: List[List[float]], magnetic_field_X_indices: List[int] | None = None, magnetic_field_X: List[float] | None = None, magnetic_field_Y_indices: List[int] | None = None, magnetic_field_Y: List[float] | None = None, magnetic_field_Z_indices: List[int] | None = None, magnetic_field_Z: List[float] | None = None, ion_anisotropy_indices: List[int] | None = None, ion_anisotropy: List[float] | None = None, dzyaloshinskii_moriya_X_indices: List[List[int]] | None = None, dzyaloshinskii_moriya_X: List[float] | None = None, dzyaloshinskii_moriya_Y_indices: List[List[int]] | None = None, dzyaloshinskii_moriya_Y: List[float] | None = None, dzyaloshinskii_moriya_Z_indices: List[List[int]] | None = None, dzyaloshinskii_moriya_Z: List[float] | None = None, sod_X_indices: List[List[int]] | None = None, sod_X: List[float] | None = None, sod_Y_indices: List[List[int]] | None = None, sod_Y: List[float] | None = None, sod_Z_indices: List[List[int]] | None = None, sod_Z: List[float] | None = None)[source]
- Parameters:
system_size (int) – The size of the system, indicating the number of sites or particles.
spin_size (List[str]) – A list of spin types or values, each corresponding to the spin state of each site in the system.
model (str) – The type of Hamiltonian model, which determines the specific interactions and parameters used (e.g., “Heisenberg”, “Ising”).
interaction_indices (List[List[int]]) – A nested list of integer pairs, where each sub-list specifies two indices corresponding to sites or particles between which an interaction occurs.
interaction_coefs (List[List[float]]) – A nested list where each sub-list contains the coefficients for the interactions specified in interaction_indices, defining the strength and nature of each interaction.
magnetic_field_indices (Optional[List[int]], optional) – A list of site indices at which the magnetic field is applied. If None, no magnetic field is applied to any specific site. Defaults to None.
magnetic_field (Optional[List[float]], optional) – A list of magnetic field strengths, where each value corresponds to a specific site defined in magnetic_field_indices. Defaults to None.
magnetic_field_axis (Optional[str], optional) – The axis along which the magnetic field is applied, specified as a string (“x”, “y”, or “z”). Defaults to None.
ion_anisotropy_indices (Optional[List[int]], optional) – A list of indices specifying the sites with single-ion anisotropy. Defaults to None.
ion_anisotropy (Optional[List[float]], optional) – A list of single-ion anisotropy values corresponding to each site specified in ion_anisotropy_indices. Defaults to None.
dzyaloshinskii_moriya_indices (Optional[List[List[int]]], optional) – A nested list of integer pairs, where each sub-list specifies two indices corresponding to sites with Dzyaloshinskii-Moriya (DM) interaction. Defaults to None.
dzyaloshinskii_moriya (Optional[List[List[float]]], optional) – A list of DM interaction strengths, where each value corresponds to the pair specified in dzyaloshinskii_moriya_indices. Defaults to None.
sod_indices (Optional[List[List[int]]], optional) – A nested list of integer pairs, where each sub-list specifies two indices two indices corresponding to sites with second-order symmetric off-diagonal anisotropy interaction. Defaults to None.
sod (Optional[List[List[float]]], optional) – A list of SOD interaction strengths, where each value corresponds to the pair specified in sod_indices. Defaults to None.