|
D.8.8.7 ivmatGaussian
Procedure from library rootisolation.lib (see rootisolation_lib).
- Usage:
ivmatGaussian(A) ; A ivmat
- Return:
- 0, if
A not invertible, (1, Ainv) if A invertible
where Ainv is the inverse matrix
- Purpose:
- Inverts an interval matrix using Gaussian elimination in the setting
of interval arithmetic. Pivoting is handled as a special case as
I/I != [1,1] and I-I != [0,0] in general.
Example:
| LIB "rootisolation.lib";
ring R = 0,(x,y),dp;
ideal I = 2x2-xy+2y2-2,2x2-3xy+3y2-2;
box B = list(bounds(7/8, 9/8), bounds(-1/10, 1/20));
ivmat J = evalJacobianAtBox (I, B); J;
==> [69/20, 23/5],[-61/40, -27/40]
==> [67/20, 24/5],[-159/40, -93/40]
==>
list result = ivmatGaussian(J);
ivmat Jinv = result[2];
Jinv;
==> [1060/4273, 620/187],[-1220/561, -180/4273]
==> [2680/12819, 1280/187],[-920/187, -3680/12819]
==>
Jinv * J;
==> [-7657037/799051, 12073835/799051],[-3961862/799051, 6773506/799051]
==> [-18293234/799051, 73172936/2397153],[-7807572/799051, 15513600/799051]
==>
|
|