block.symmetry¶
Classes for handling symmetries and quantum numbers.
-
class
block.symmetry.
IrrepSpace
(*args, **kwargs)¶ Bases:
object
A wrapper class for molecular point group symmetry irrep.
-
irrep
¶
-
-
class
block.symmetry.
SpinQuantum
(*args, **kwargs)¶ Bases:
object
A collection of quantum numbers associated with a specific state (irreducible representation). One such collection defines a specific sector in the state space.
-
n
¶ Particle number.
-
s
¶ Irreducible representation for spin symmetry (\(S\) or \(S_z\)).
-
symm
¶ Irreducible representation for molecular point group symmetry.
-
-
class
block.symmetry.
SpinSpace
(*args, **kwargs)¶ Bases:
object
A wrapper class for the spin irrep.
In \(S_z\) symmetry, the irrep is \(2S_z\). In SU(2) symmetry, the irrep is \(2S\). The behaviour is toggled checking
block.io.Global.dmrginp.spin_adapted
.-
irrep
¶
-
-
class
block.symmetry.
StateInfo
(*args, **kwargs)¶ Bases:
object
A collection of symmetry sectors. Each sector can contain several internal states (which can no longer be differentiated by symmetries), the number of which is also stored.
-
collect_quanta
(self: block.symmetry.StateInfo) → None¶
-
copy
(self: block.symmetry.StateInfo) → block.symmetry.StateInfo¶
-
left_state_info
¶
-
left_unmap_quanta
¶ Index in left StateInfo, for each combined state.
-
n_states
¶ Number of states per (combined) quantum number.
-
n_total_states
¶
-
old_to_new_state
¶ old_to_new_state[i] = [k1, k2, k3, …] where i is the index in the collected StateInfo and k’s are indices in the uncollected StateInfo.
-
quanta
¶ Quantum numbers for a set of sites.
-
right_state_info
¶
-
right_unmap_quanta
¶ Index in right StateInfo, for each combined state.
-
set_left_state_info
(self: block.symmetry.StateInfo, arg0: block.symmetry.StateInfo) → None¶
-
set_right_state_info
(self: block.symmetry.StateInfo, arg0: block.symmetry.StateInfo) → None¶
-
set_uncollected_state_info
(self: block.symmetry.StateInfo, arg0: block.symmetry.StateInfo) → None¶
-
uncollected_state_info
¶
-
-
class
block.symmetry.
VectorSpinQuantum
(*args, **kwargs)¶ Bases:
object
-
append
(self: block.symmetry.VectorSpinQuantum, x: block.symmetry.SpinQuantum) → None¶ Add an item to the end of the list
-
count
(self: block.symmetry.VectorSpinQuantum, x: block.symmetry.SpinQuantum) → int¶ Return the number of times
x
appears in the list
-
extend
(*args, **kwargs)¶ Overloaded function.
- extend(self: block.symmetry.VectorSpinQuantum, L: block.symmetry.VectorSpinQuantum) -> None
Extend the list by appending all the items in the given list
- extend(self: block.symmetry.VectorSpinQuantum, L: iterable) -> None
Extend the list by appending all the items in the given list
-
insert
(self: block.symmetry.VectorSpinQuantum, i: int, x: block.symmetry.SpinQuantum) → None¶ Insert an item at a given position.
-
pop
(*args, **kwargs)¶ Overloaded function.
- pop(self: block.symmetry.VectorSpinQuantum) -> block.symmetry.SpinQuantum
Remove and return the last item
- pop(self: block.symmetry.VectorSpinQuantum, i: int) -> block.symmetry.SpinQuantum
Remove and return the item at index
i
-
remove
(self: block.symmetry.VectorSpinQuantum, x: block.symmetry.SpinQuantum) → None¶ Remove the first item from the list whose value is x. It is an error if there is no such item.
-
-
class
block.symmetry.
VectorStateInfo
(*args, **kwargs)¶ Bases:
object
-
append
(self: block.symmetry.VectorStateInfo, x: block.symmetry.StateInfo) → None¶ Add an item to the end of the list
-
count
(self: block.symmetry.VectorStateInfo, x: block.symmetry.StateInfo) → int¶ Return the number of times
x
appears in the list
-
extend
(*args, **kwargs)¶ Overloaded function.
- extend(self: block.symmetry.VectorStateInfo, L: block.symmetry.VectorStateInfo) -> None
Extend the list by appending all the items in the given list
- extend(self: block.symmetry.VectorStateInfo, L: iterable) -> None
Extend the list by appending all the items in the given list
-
insert
(self: block.symmetry.VectorStateInfo, i: int, x: block.symmetry.StateInfo) → None¶ Insert an item at a given position.
-
pop
(*args, **kwargs)¶ Overloaded function.
- pop(self: block.symmetry.VectorStateInfo) -> block.symmetry.StateInfo
Remove and return the last item
- pop(self: block.symmetry.VectorStateInfo, i: int) -> block.symmetry.StateInfo
Remove and return the item at index
i
-
remove
(self: block.symmetry.VectorStateInfo, x: block.symmetry.StateInfo) → None¶ Remove the first item from the list whose value is x. It is an error if there is no such item.
-
-
block.symmetry.
get_commute_parity
(a: block.symmetry.SpinQuantum, b: block.symmetry.SpinQuantum, c: block.symmetry.SpinQuantum) → float¶
-
block.symmetry.
state_tensor_product
(arg0: block.symmetry.StateInfo, arg1: block.symmetry.StateInfo) → block.symmetry.StateInfo¶
-
block.symmetry.
state_tensor_product_target
(arg0: block.symmetry.StateInfo, arg1: block.symmetry.StateInfo) → block.symmetry.StateInfo¶
-
block.symmetry.
wigner_9j
(arg0: int, arg1: int, arg2: int, arg3: int, arg4: int, arg5: int, arg6: int, arg7: int, arg8: int) → float¶