ChargeInfo¶
full name: tenpy.linalg.charges.ChargeInfo
parent module:
tenpy.linalg.charges
type: class
-
class
tenpy.linalg.charges.
ChargeInfo
(mod=[], names=None)[source]¶ Bases:
object
Meta-data about the charge of a tensor.
Saves info about the nature of the charge of a tensor. Provides
make_valid()
for taking modulo m.(This class is implemented in
tenpy.linalg.charges
but also imported intenpy.linalg.np_conserved
for convenience.)- Parameters
- moditerable of QTYPE
The len gives the number of charges, qnumber. For each charge one entry m: the charge is conserved modulo m. Defaults to trivial, i.e., no charge.
- nameslist of str
Descriptive names for the charges. Defaults to
['']*qnumber
.
Notes
Instances of this class can (should) be shared between different LegCharge and Array’s.
- Attributes
qnumber
intThe number of charges.
mod
ndarray[QTYPE,ndim=1]Modulo how much each of the charges is taken.
- nameslist of strings
A descriptive name for each of the charges. May have ‘’ entries.
- _mask_mod11D array bool
mask
(mod == 1)
, to speed up make_valid in pure python.- _mod_masked1D array QTYPE
Equivalent to
self.mod[self._maks_mod1]
- _qnumber, _mod :
Storage of qnumber and mod.
Methods
add
(chinfos)Create a
ChargeInfo
combining multiple charges.change
(chinfo, charge, new_qmod[, new_name])Change the qmod of a given charge.
check_valid
(self, charges)Check, if charges has all entries as expected from self.mod.
drop
(chinfo[, charge])Remove a charge from a
ChargeInfo
.make_valid
(self[, charges])Take charges modulo self.mod.
test_sanity
(self)Sanity check, raises ValueErrors, if something is wrong.
-
classmethod
add
(chinfos)[source]¶ Create a
ChargeInfo
combining multiple charges.- Parameters
- chinfositerable of
ChargeInfo
ChargeInfo instances to be combined into a single one (in the given order).
- chinfositerable of
- Returns
- chinfo
ChargeInfo
ChargeInfo combining all the given charges.
- chinfo
-
classmethod
drop
(chinfo, charge=None)[source]¶ Remove a charge from a
ChargeInfo
.- Parameters
- chinfo
ChargeInfo
The ChargeInfo from where to drop/remove a charge.
- chargeint | str
Number or name of the charge (within chinfo) which is to be dropped.
None
means dropping all charges.
- chinfo
- Returns
- chinfo
ChargeInfo
ChargeInfo where the specified charge is dropped.
- chinfo
-
classmethod
change
(chinfo, charge, new_qmod, new_name='')[source]¶ Change the qmod of a given charge.
- Parameters
- chinfo
ChargeInfo
The ChargeInfo for which qmod of charge should be changed.
- new_qmodint
The new qmod to be set.
- new_namestr
The new name of the charge.
- chinfo
- Returns
- chinfo
ChargeInfo
ChargeInfo where qmod of the specified charge was changed.
- chinfo
-
property
qnumber
¶ The number of charges.
-
property
mod
¶ Modulo how much each of the charges is taken.
1 for a U(1) charge, i.e., mod 1 -> mod infinity.