If the input is a matrix or a ring element, 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 = | .0248573 .482965 .0624838 .736211 |
| .926753 .541999 .239009 .261269 |
| .928131 .991511 .884975 .343919 |
| .0879844 .121406 .723043 .160745 |
4 4
o2 : Matrix RR <--- RR
53 53
|
i3 : M * (M + 1) + 1 - M^2 - M
o3 = | 1 -5.55112e-17 0 -2.22045e-16 |
| 2.22045e-16 1 0 0 |
| 1.11022e-16 -1.11022e-16 1 -2.22045e-16 |
| 1.11022e-16 0 1.11022e-16 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
|