# detect_legcharge¶

tenpy.linalg.np_conserved.detect_legcharge(flat_array, chargeinfo, legcharges, qtotal=None, qconj=1, cutoff=None)[source]

Calculate a missing LegCharge by looking for nonzero entries of a flat array.

Parameters
• flat_array (ndarray) – A flat array, in which we look for non-zero entries.

• chargeinfo (ChargeInfo) – The nature of the charge.

• legcharges (list of LegCharge) – One LegCharge for each dimension of flat_array, except for one entry which is None. This missing entry is to be calculated.

• qconj ({+1, -1}) – qconj for the new calculated LegCharge.

• qtotal (charges) – Desired total charge of the array. Defaults to zeros.

• cutoff (float) – Blocks with np.max(np.abs(block)) > cutoff are considered as zero. Defaults to QCUTOFF.

Returns

new_legcharges – A copy of the given legcharges with the None replaced by a compatible LegCharge. The new legcharge is ‘bunched’, but not sorted!

Return type

list of LegCharge

detect_grid_outer_legcharge()
detect_qtotal()