/* -*- MaTX -*- * * 【名前】 * round2z() - ゼロへの丸め * * 【形式】 * y = round2z(x) * (Integer|Real|Complex|Polynomial|Rational) y; * (Integer|Real|Complex|Polynomial|Rational) x; * * y = round2z(x,tol) * (Integer|Real|Complex|Polynomial|Rational) y; * (Integer|Real|Complex|Polynomial|Rational) x; * Real tol; * * Y = round2z(X) * (Matrix|Array|Index) Y; * (Matrix|Array|index) X; * * Y = round2z(X,tol) * (Matrix|Array|Index) Y; * (Matrix|Array|index) X; * Real tol; * * 【機能説明】 * 実数 x について,round2z(x,tol)は,x の絶対値が tol より小さければ, * ゼロに丸める。複素数 x について,round2z(x,tol) は,x の実部と虚部 * の絶対値がそれぞれ tol より小さければ,ゼロに丸める。(多項式|有理 * 多項式) x にについて,round2z(x,tol) は,x の各係数の絶対値が tol * より小さければ,ゼロに丸める。tol を省略すると,tol = EPS となる。 * * round2z(X,tol)は,(行列|配列|指数) X の各成分に round2z(X(i,j),tol) * を作用した 結果からなる(行列|配列|指数) を求める。Y の大きさは X の * 大きさと同じになる。tol を省略すると,tol = EPS となる。 * * 【例題】 * >> y = round2z(1E-5, 1E-4) * y = 0 * >> y = round2z(1E-5, 1E-5) * y = 1E-5 * >> y = round2z((3.14, 1E-5), 1E-4) * y = (3.14, 0) * >> s = Polynomial("s"); * >> y = round2z(2.1*s + 1E-5, 1E-4) * y = 2.1 s * >> Y = round2z([1.2, 1E-5, 5.6], 1E-4) * === [Y] : ( 1, 3) === * ( 1) ( 2) ( 3) * ( 1) 1.20000000E+00 0.00000000E+00 5.60000000E+00 * * 【関連項目】 * fix(), floor(), ceil(), round(), */