This is an old revision of the document!
Chop
Chop(a) replaces approximate real numbers in a that are close to zero by the exact integer 0. Chop(a, $\epsilon$) replaces numbers smaller in absolute magnitude than $\epsilon$ by 0. Chop uses a default tolerance of $\epsilon=10^{-10}$. Chop works on Real and Complex numbers as well as on operators and wavefunctions.
Input
-
a : object that will be chopped, all types allowed
-
$\epsilon$ : real number setting the boundary between zero and finite
Output
-
a' : object of same type as a
Example
A small test script of chop is:
Input
- Chop.Quanty
dofile("../definitions.Quanty") Opp = Opp1 + 0.000001*Opp2 print(Opp) Opp3 = Chop(Opp,0.001) print(Opp3) psi = psi1 + 0.00001 * psi2 print(psi) psi3 = Chop(psi,0.001) print(psi3) a = 0.000001 + 0.3 * I b = Chop(a,0.001) print("a = ",a,"\nChop(a) = ",b)
Result
- Chop.out
Operator: Lx QComplex = 1 (Real==0 or Complex==1 or Mixed==2) MaxLength = 2 (largest number of product of lader operators) NFermionic modes = 6 (Number of fermionic modes (site, spin, orbital, ...) in the one particle basis) NBosonic modes = 0 (Number of bosonic modes (phonon modes, ...) in the one particle basis) Operator of Length 2 QComplex = 1 (Real==0 or Complex==1) N = 8 (number of operators of length 2) C 3 A 1 | 7.071067811865476E-01 -7.071067811865476E-07 C 1 A 3 | 7.071067811865476E-01 7.071067811865476E-07 C 2 A 0 | 7.071067811865476E-01 -7.071067811865476E-07 C 0 A 2 | 7.071067811865476E-01 7.071067811865476E-07 C 5 A 3 | 7.071067811865476E-01 -7.071067811865476E-07 C 3 A 5 | 7.071067811865476E-01 7.071067811865476E-07 C 4 A 2 | 7.071067811865476E-01 -7.071067811865476E-07 C 2 A 4 | 7.071067811865476E-01 7.071067811865476E-07 Operator: Lx QComplex = 0 (Real==0 or Complex==1 or Mixed==2) MaxLength = 2 (largest number of product of lader operators) NFermionic modes = 6 (Number of fermionic modes (site, spin, orbital, ...) in the one particle basis) NBosonic modes = 0 (Number of bosonic modes (phonon modes, ...) in the one particle basis) Operator of Length 2 QComplex = 0 (Real==0 or Complex==1) N = 8 (number of operators of length 2) C 3 A 1 | 7.071067811865476E-01 C 1 A 3 | 7.071067811865476E-01 C 2 A 0 | 7.071067811865476E-01 C 0 A 2 | 7.071067811865476E-01 C 5 A 3 | 7.071067811865476E-01 C 3 A 5 | 7.071067811865476E-01 C 4 A 2 | 7.071067811865476E-01 C 2 A 4 | 7.071067811865476E-01 WaveFunction: Wave Function QComplex = 0 (Real==0 or Complex==1) N = 3 (Number of basis functions used to discribe psi) NFermionic modes = 6 (Number of fermions in the one particle basis) NBosonic modes = 0 (Number of bosons in the one particle basis) # pre-factor Determinant 1 3.162277660168E-01 110000 2 9.486832980505E-01 100010 3 1.000000000000E-05 010010 WaveFunction: Wave Function QComplex = 0 (Real==0 or Complex==1) N = 2 (Number of basis functions used to discribe psi) NFermionic modes = 6 (Number of fermions in the one particle basis) NBosonic modes = 0 (Number of bosons in the one particle basis) # pre-factor Determinant 1 9.486832980505E-01 100010 2 3.162277660168E-01 110000 a = (1e-06 + 0.3 I) Chop(a) = (0 + 0.3 I)