# 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)