![]() |
kdotpy
|
Public Member Functions | |
__init__ (self, *arg) | |
__add__ (self, other) | |
__neg__ (self) | |
__mul__ (self, other) | |
__rmul__ (self, other) | |
__matmul__ (self, other) | |
__rmatmul__ (self, other) | |
__getitem__ (self, arg) | |
getentry (self, i, j) | |
bramidket (self, vec_v, vec_w) | |
conjugate (self) | |
shift (self, k) | |
maxorder (self, maxord) | |
chop (self, value=1e-10) | |
__setitem__ (self, arg, value) | |
setentry (self, i, j, value) | |
applyphases (self, phases) | |
shuffle (self, reordering) | |
deriv (self, to) | |
delta_n (self, dn) | |
ll_evaluate (self, m_and_n, magn, delta_n_vec, all_dof=False, add_matrix=None) | |
![]() | |
__init__ (self, *arg) | |
__repr__ (self) | |
__str__ (self) | |
__neg__ (self) | |
__add__ (self, other) | |
__radd__ (self, other) | |
__iadd__ (self, other) | |
__sub__ (self, other) | |
__rsub__ (self, other) | |
__mul__ (self, other) | |
__rmul__ (self, other) | |
__eq__ (self, other) | |
evaluate (self, k, eB) | |
leadingorder (self, value) | |
iszero (self, value=0.0) | |
kx_ky_eB_str (self, kxstr="kx", kystr="ky", eBstr="eB", print_zeros=False, fmt=None, degfmt=None) | |
kp_km_str (self, kpstr="k+", kmstr="k-", eBstr="eB", print_zeros=False, fmt=None, degfmt=None) | |
k2_eB_str (self, kstr="k", kpstr="k+", kmstr="k-", eBstr="eB", print_zeros=False, fmt=None, degfmt=None) | |
Public Attributes | |
dim = None | |
![]() | |
dict | opsum = {} |
Container for symbolic matrix, i.e., a symbolic object whose coefficients are square matrices. This class is derived from SymbolicObject. The coefficients (values of the operator sum) are matrix-valued, i.e., represented by 2-dim numpy arrays. Attributes: opsum Dict instance, whose keys are strings containing + and -, which encode the operators k+ and k-. The values are the coefficients, matrix-valued in this case. dim Integer. Size of the square matrices.
kdotpy.symbolic.SymbolicMatrix.__init__ | ( | self, | |
* | arg ) |
kdotpy.symbolic.SymbolicMatrix.__add__ | ( | self, | |
other ) |
SymbolicMatrix + SymbolicMatrix
kdotpy.symbolic.SymbolicMatrix.__getitem__ | ( | self, | |
arg ) |
Get entry (arg is tuple) or operator (arg is str).
kdotpy.symbolic.SymbolicMatrix.__matmul__ | ( | self, | |
other ) |
SymbolicMatrix @ SymbolicObject or matrix (@ is matrix multiplication) This multiplication involves concatenation of operators and a matrix multiplication of the coefficients. Note: If the argument 'other' is a SymbolicObject that contains scalars as coefficients in the operator sum, the multiplication is not a matrix multiplication strictly speaking, but a separate implementation is not required.
kdotpy.symbolic.SymbolicMatrix.__mul__ | ( | self, | |
other ) |
SymbolicMatrix times SymbolicObject, matrix, or number This multiplication involves concatenation of operators and either a scalar multiplication (if argument other involves numbers) or a matrix multiplication (if argument other involves matrices).
kdotpy.symbolic.SymbolicMatrix.__neg__ | ( | self | ) |
SymbolicMatrix - SymbolicMatrix
kdotpy.symbolic.SymbolicMatrix.__rmatmul__ | ( | self, | |
other ) |
SymbolicObject or matrix @ SymbolicMatrix (@ is matrix multiplication) This multiplication involves concatenation of operators and a matrix multiplication of the coefficients. Note: If the argument 'other' is a SymbolicObject that contains scalars as coefficients in the operator sum, the multiplication is not a matrix multiplication strictly speaking, but a separate implementation is not required.
kdotpy.symbolic.SymbolicMatrix.__rmul__ | ( | self, | |
other ) |
SymbolicObject, matrix, or number times SymbolicMatrix This multiplication involves concatenation of operators and either a scalar multiplication (if argument other involves numbers) or a matrix multiplication (if argument other involves matrices).
kdotpy.symbolic.SymbolicMatrix.__setitem__ | ( | self, | |
arg, | |||
value ) |
Set entry. (Set operator not implemented.)
kdotpy.symbolic.SymbolicMatrix.applyphases | ( | self, | |
phases ) |
Apply phase factors. Multiply each matrix element m, n with exp( i * (phi_m - phi_n)), where i is the imaginary unit and phi_j the elements of the argument phases. Argument: phases Numpy array of one dimension and length equal to self.dim. This vector contains the phases phi_j, in units or radians. Returns: A new SymbolicMatrix object.
kdotpy.symbolic.SymbolicMatrix.bramidket | ( | self, | |
vec_v, | |||
vec_w ) |
Calculate the triple product <v|M|w> for all matrix coefficients M in the operator sum. Arguments: vec_v Numpy array of one dimension and length equal to self.dim. vec_w Numpy array of one dimension and length equal to self.dim. Returns: A new SymbolicObject instance.
kdotpy.symbolic.SymbolicMatrix.chop | ( | self, | |
value = 1e-10 ) |
Discard all terms with coefficients below the cutoff value Argument: value Float. Cutoff value. Returns: A new SymbolicObject instance.
Reimplemented from kdotpy.symbolic.SymbolicObject.
kdotpy.symbolic.SymbolicMatrix.conjugate | ( | self | ) |
Complex conjugation, i.e., + to -, - to +, and reversal of operator strings.
Reimplemented from kdotpy.symbolic.SymbolicObject.
kdotpy.symbolic.SymbolicMatrix.delta_n | ( | self, | |
dn ) |
Take terms whose operators are of the degree dn, where k+ counts as +1 and k- as -1. Argument: dn Integer. Returns: A new SymbolicMatrix instance.
Reimplemented from kdotpy.symbolic.SymbolicObject.
kdotpy.symbolic.SymbolicMatrix.deriv | ( | self, | |
to ) |
Take derivative with respect to k+, k-, kx, or ky. Argument: to '+', '-', 'x', or 'y'. Take derivative with respect to this k component. Returns: A new SymbolicMatrix instance.
Reimplemented from kdotpy.symbolic.SymbolicObject.
kdotpy.symbolic.SymbolicMatrix.getentry | ( | self, | |
i, | |||
j ) |
Get entry
kdotpy.symbolic.SymbolicMatrix.ll_evaluate | ( | self, | |
m_and_n, | |||
magn, | |||
delta_n_vec, | |||
all_dof = False, | |||
add_matrix = None ) |
Evaluate an abstract operator product at Landau level n. Arguments: m_and_n 2-tuple or integer. If a 2-tuple, the LL indices m and n. If an integer, the two identical LL indices m = n and n. magn Float or Vector instance. Magnetic field. If a Vector instance, only the perpendicular component (bz) is considered. delta_n_vec List or array. For each orbital, the 'LL offset'. This is typically related to the value of Jz (total angular momentum quantum number). all_dof True or False. Whether to include 'unphysical' degrees of freedom for the lower LL indices. If False, reduce the matrix by eliminating all 'unphysical' degrees of freedom, which should be characterized by all zeros in the respective rows and columns. If set to True, then keep everything, and preserve the shape of the matrix. add_matrix Numpy array (2-dim). Add a 'constant' contribution at the end. This is used for terms that depend on the magnetic field, but not through momentum, for example the Zeeman and exchange terms. Returns: A matrix. This may be a 2-dim numpy array (dense matrix) or a scipy sparse matrix.
Reimplemented in kdotpy.symbolic.SymbolicHamiltonian.
kdotpy.symbolic.SymbolicMatrix.maxorder | ( | self, | |
maxord ) |
Concatenate to certain order and discard all higher order terms
Reimplemented from kdotpy.symbolic.SymbolicObject.
kdotpy.symbolic.SymbolicMatrix.setentry | ( | self, | |
i, | |||
j, | |||
value ) |
Set entry
kdotpy.symbolic.SymbolicMatrix.shift | ( | self, | |
k ) |
Shift momentum values by amount k.
Reimplemented from kdotpy.symbolic.SymbolicObject.
kdotpy.symbolic.SymbolicMatrix.shuffle | ( | self, | |
reordering ) |
Shuffle matrix elements (reorder basis). Argument: reordering Numpy array or list of one dimension and length equal to self.dim. This array encodes the new basis order, i.e. reordering[new index] = old index. Returns: A new SymbolicMatrix object.
kdotpy.symbolic.SymbolicMatrix.dim = None |