next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NumericalCertification :: krawczykOper

krawczykOper -- compute the Krawczyk operator

Synopsis

Description

For given interval and polynomial system, this function computes the Krawczyk operator.

i1 : R = QQ[x1,x2,y1,y2];
i2 : f = polySystem {3*y1 + 2*y2 -1, 3*x1 + 2*x2 -7/2,x1^2 + y1^2 -1, x2^2 + y2^2 - 1};
i3 : (I1, I2, I3, I4) = (interval(.94,.96), interval(.31,.33), interval(-.31,-.29), interval(.94,.96));

Intervals for certification should be given in advance using other system solvers. After that we set the relationships between variables and intervals.

i4 : o = intervalOptionList {("x1" => "I1"), ("x2" => "I2"), ("y1" => "I3"), ("y2" => "I4")};

If the Krawczyk operator is contained in the input interval, then we conclude that the input interval (or the Krawczyk operator) contains a unique root of the system.

i5 : krawczykOper(f,o)

o5 = {{[.954149, .954609]}, {[.318086, .318777]}, {[-.298824, -.298442]},
     ------------------------------------------------------------------------
     {[.947663, .948236]}}

o5 : IntervalMatrix

The function krawczykMethod checks this criterion automatically.

By default, these functions uses the inverse of the matrix obtained by evaluating the system at the midpoint of the input interval.

However, users can choose an invertible matrix by themselves. (See InvertibleMatrix.)

i6 : Y = matrix {{.095, .032, .476, -.100},{-.143, .452, -.714, .150},{.301,.101,-.160, -.317},{.048,-.152,.240,.476}};

                4          4
o6 : Matrix RR    <--- RR
              53         53
i7 : krawczykOper(f,o,InvertibleMatrix => Y)

o7 = {{[.95414, .95462]}, {[.318062, .318798]}, {[-.298859, -.298414]},
     ------------------------------------------------------------------------
     {[.947651, .948244]}}

o7 : IntervalMatrix

Ways to use krawczykOper :

For the programmer

The object krawczykOper is a method function with options.