ChargeInfo¶
full name: tenpy.linalg.charges.ChargeInfo
parent module:
tenpy.linalg.charges
type: class
Inheritance Diagram
Methods

Initialize self. 

Create a 

Change the qmod of a given charge. 

Check, if charges has all entries as expected from self.mod. 

Remove a charge from a 

Load instance from a HDF5 file. 

Take charges modulo self.mod. 

Export self into a HDF5 file. 
Sanity check, raises ValueErrors, if something is wrong. 
Class Attributes and Properties
Modulo how much each of the charges is taken. 

The number of charges. 

class
tenpy.linalg.charges.
ChargeInfo
(mod=[], names=None)[source]¶ Bases:
object
Metadata 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
mod (iterable 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.
names (list of str) – Descriptive names for the charges. Defaults to
['']*qnumber
.

mod
¶ Modulo how much each of the charges is taken. 1 for a \(U(1)\) charge, N for a \(Z_N\) symmetry.
 Type
ndarray[QTYPE,ndim=1]

names
¶ A descriptive name for each of the charges. May have ‘’ entries.
 Type
list of strings

_mask
¶ mask
(mod == 1)
, to speed up make_valid in pure python. Type
1D array bool

_mod_masked
¶ Equivalent to
self.mod[self._maks_mod1]
 Type
1D array QTYPE

_qnumber, _mod
Storage of qnumber and mod.
Notes
Instances of this class can (should) be shared between different LegCharge and Array’s.

save_hdf5
(hdf5_saver, h5gr, subpath)[source]¶ Export self into a HDF5 file.
This method saves all the data it needs to reconstruct self with
from_hdf5()
.It stores the
names
under the path"names"
, andmod
as dataset"U1_ZN"
.

classmethod
from_hdf5
(hdf5_loader, h5gr, subpath)[source]¶ Load instance from a HDF5 file.
This method reconstructs a class instance from the data saved with
save_hdf5()
.The
"U1_ZN"
dataset is mandatory,'names'
are optional. Parameters
hdf5_loader (
Hdf5Loader
) – Instance of the loading engine.h5gr (
Group
) – HDF5 group which is represent the object to be constructed.subpath (str) – The name of h5gr with a
'/'
in the end.
 Returns
obj – Newly generated class instance containing the required data.
 Return type
cls

classmethod
add
(chinfos)[source]¶ Create a
ChargeInfo
combining multiple charges. Parameters
chinfos (iterable of
ChargeInfo
) – ChargeInfo instances to be combined into a single one (in the given order). Returns
chinfo – ChargeInfo combining all the given charges.
 Return type

classmethod
drop
(chinfo, charge=None)[source]¶ Remove a charge from a
ChargeInfo
. Parameters
chinfo (
ChargeInfo
) – The ChargeInfo from where to drop/remove a charge.charge (int  str) – Number or name of the charge (within chinfo) which is to be dropped.
None
means dropping all charges.
 Returns
chinfo – ChargeInfo where the specified charge is dropped.
 Return type

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_qmod (int) – The new qmod to be set.
new_name (str) – The new name of the charge.
 Returns
chinfo – ChargeInfo where qmod of the specified charge was changed.
 Return type

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.

make_valid
(charges=None)[source]¶ Take charges modulo self.mod.
 Parameters
charges (array_like or None) – 1D or 2D array of charges, last dimension self.qnumber None defaults to trivial charges
np.zeros(qnumber, dtype=QTYPE)
. Returns
A copy of charges taken modulo mod, but with
x % 1 := x
 Return type
charges