Exact arithmetic.
Euler has a long accumulator, which can compute the scalar product, and the residuum of a linear equation exactly. On this basis, Euler implements a residuum iteration to solve linear systems. This is used to invert matrices more exactly, or to evaluate polynomials.
Residuum iterations uses the long accumulator of Euler to compute an exact scalar product.
function xlgs (A:complex, b:complex, n:integer=20) Compute a more exact solution of Ax=b using residuum iteration. n is the number of residual iterations. You can specify the relative accuracy with eps=... This epsilon is used to determine, if the algorithm should stop. See:
ilgs (Interval Solvers and Guaranteed Solutions)
function xinv (A:complex, n:integer=20) Cumpute the invers of A using residuum iteration. You can specify the relative accuracy with eps=... as last parameter. Addtionally, a maximal number of iteration n can be set. See:
xlgs (Exact Computation)
function xlusolve (A:complex, b:complex, n:integer=20) Compute the solution of Ax=b for L- or U-matrices A. Works for lower triangle matrices with diagonal 1, or for upper triangle matrices. The function is just a faster version of xlgs. You can specify the relative accuracy with eps=... as last parameter. Addtionally, a maximal number of iteration n can be set. See:
xlgs (Exact Computation),
lu (Euler Core),
lusolve (Euler Core)
function xpolyval (p:complex vector, t:complex, n:integer=20) Evaluate the polynomial at values t using residuum iteration. Alias to xevalpoly. See:
xevalpoly (Exact Computation)
function xevalpoly (t:complex, p:complex vector, n:integer=20) Evaluate the polynomial at values t using residuum iteration. You can specify the relative accuracy with eps=... as last parameter. Addtionally, a maximal number of iteration n can be set. See:
evalpoly (Basic Utilities),
xlgs (Exact Computation)
function xeigenvalue (a,l,x=none) Returns an improved eigenvalue of A, starting with the approximation l. l must be close to a simple eigenvalue, and x close to an eigenvector, if x is not 0. This is the inverse iteration due to Wielandt. Returns the eigenvalue and the eigenvector. >H=hilbert(10); >lambda=jacobi(H)[1] 255023613680 >lambda=lambda+1000; >x=eigenspace(H,lambda); >norm(H.x-lambda*x) 7445.4368515 >{lambda,x}=xeigenvalue(H,lambda,x); >norm(H.x-lambda*x) 3.7570410926e-005 See:
eigenvalues (Linear Algebra),
eigenvalues (Maxima Documentation)