# clean -- Set to zero elements that are approximately zero

## Synopsis

• Usage:
clean(epsilon,M)
clean_epsilon M
• Inputs:
• epsilon,
• M, , or a
• Outputs:
• , or

## Description

If the input is or , then the result has the same type, where each real or complex number coefficient that is less than epsilon in absolute value is replaced with zero.

 i1 : e = 1e-11; i2 : M = random(RR^4,RR^4) o2 = | .892712 .0258884 .461944 .0741835 | | .673395 .714827 .775187 .808694 | | .29398 .89189 .909047 .362835 | | .632944 .231053 .314897 .706096 | 4 4 o2 : Matrix RR <--- RR 53 53 i3 : M * (M + 1) + 1 - M^2 - M o3 = | 1 0 0 0 | | 1.11022e-16 1 1.11022e-16 -2.22045e-16 | | 1.11022e-16 0 1 -2.22045e-16 | | -2.22045e-16 0 0 1 | 4 4 o3 : Matrix RR <--- RR 53 53 i4 : clean_e oo o4 = | 1 0 0 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 0 1 | 4 4 o4 : Matrix RR <--- RR 53 53
Cleaning a polynomial is a way to get rid of small terms.
 i5 : CC[x]; i6 : f = product(5,j -> x - exp(2*pi*j*ii/5)) 5 4 3 o6 = x + (2.22045e-16 - 1.11022e-16*ii)x - 1.11022e-16*ii*x + (- ------------------------------------------------------------------------ 2 1.11022e-16 - 1.11022e-16*ii)x - 1.11022e-16*ii*x - 1 + 5.55112e-16*ii o6 : CC [x] 53 i7 : clean_e f 5 o7 = x - 1 o7 : CC [x] 53

• norm
• RR -- the class of all real numbers
• CC -- the class of all complex numbers
• fillMatrix -- fill a mutable matrix with random numbers

## Ways to use clean :

• "clean(RR,Matrix)"
• "clean(RR,MutableMatrix)"
• "clean(RR,Number)"
• "clean(RR,RingElement)"

## For the programmer

The object clean is .