MARS - sample Matlab session
Contents
The library includes four canned top-level MATLAB functions for
solving multipolynomial systems of two or three functions. In this
section, we describe how to use the introductory functions.
Debugging transcript
These functions compute and return all of the complex roots of the
given functions (which are passed as arguments) in the given variables
(which are also passed as arguments).
The sylvester resultant formulation is described in
sylvester
All of these functions utilize specialized Maple functions and Maple
variable names to store the resultant data structure.
For example, the sylveter2() calls the helper function
Sylvester_shorthand_2() which sets the Maple variable
Sylvester_shorthand_2_ to the resultant. We can examine the Maple
resultant structure by using the maple() Matlab command.
>> maple('eval(Sylvester_shorthand_2_);')
1.0
Sylvester
For example, we can find the common roots of the system of two equations:
{f1(x,y) = x*x+6*x+3*y-4} and {f2(x,y) = y*y+2*x-7*y+5} by calling
sylvester2 with the appropriate arguments.
>> format long g % to print out all of the results
>> sylvester2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.214777517761955 |
0.888401837097428 |
7.11551073091436 + 0.80726460031964i
-2.58512085521498 - 2.91867382513375i |
7.11551073091436 - 0.80726460031964i
-2.58512085521498 + 2.91867382513375i |
-12.8955223880597
8174680.64485979 |
-13.4892758454899
-8174678.81600003 |
-1.11942329892624
-7.04453580733058
|
Each function returns a NxM matrix where each row corresponds to a
different root and each element in each row corresponds to one of the
variables. In the previous example, the leftmost column corresponds
to the 'x' variable and the rightmost column corresponds to the 'y'
variable. The third row corresponds to the solution {x=0.2148,y=0.8884},
which we can verify is a common root of the two given equations
Since we aren't really interested in complex roots, we can tell the
library to prune complex roots by calling the matlab function
removecomplex() on the result matrix.
>> removecomplex(sylvester2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y'))
ans =
0.214777517761948 |
0.888401837097446 |
-7.04453580732936
-1.11942329892106
|
Another way to turn on only complex roots is to use the global
variable only_real.
>> global only_real;
>> only_real = 1;
only_real =
1
>> sylvester2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.214777517761955 |
0.888401837097428 |
33551816.6582203
5.89617486338798 |
-33551814.6751613
5.74216914211935 |
-7.04453580733046
-1.11942329892604
|
Note that we have turned on the only_real flag for subsequent function
calls
We can also use the general linearized transform capability to solve
{f1(x,y) = x*x+6*x+3*y-4} and {f2(x,y) = y*y+2*x-7*y+5} by calling
sylvesterglt2 with the appropriate arguments.
>> sylvesterglt2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.214777517761948 |
0.888401837097422 |
-7.04453580733884
-1.11942329893167 |
35574.2161607169
-71363.4893455638 |
36468582006577.3
-38734212202199.8
|
2.0
U Resultant
The u-resultant formulation is described in
u-resultant
>> uresultant2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y','u')
ans =
-7.04453580733045 |
-1.11942329892606 |
-3.06958541502185
9.13839480664002e-016 |
0.214777517761956
0.888401837097427
|
>> uresultantglt2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y','u')
ans =
0.302539401499435 |
0.277593300740616 |
0.214777517761955
0.888401837097428 |
-7.04453580733046
-1.11942329
|
>> uresultant3('x*x+6*x+3*y+6*z-4','y*y+2*x-7*y+5+2*z','x*x+y*y+z*z-1','x','y','z','u')
ans =
-0.197730522175287 |
0.888778516434436 |
0.413491704058118 |
0.41740791388553
0.881547960575404 |
-0.220553455268943 |
-0.0278427896158022
0.860270585048114 |
4.01226041280012e-008 |
-0.0277110820702231
0.85620486199717 |
-4.0122604794135e-008 |
0.177547774447134
0.801939389904517 |
-1.29047851293862e-008 |
0.184314194522218
0.827056008631649 |
1.29047831309848e-008
|
>> uresultantglt3('x*x+6*x+3*y+6*z-4','y*y+2*x-7*y+5+2*z','x*x+y*y+z*z-1','x','y','z','u')
ans =
-0.197730522175298 |
0.888778516434436 |
0.413491704058126 |
0.417407913885499
0.881547960575403 |
-0.220553455268931
|
The bezout formulation is described in
bezout
We also provide a MATLAB routine bezout2, bezoutglt2, bezout3, bezoutglt3
which solves systems of two or three equations in two or three
unknowns:
>> bezout2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.214777517761955 |
0.888401837097428 |
-7.04453580733045
-1.11942329892606
|
>> bezoutglt2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.772343341832084 |
-0.488746323384348 |
3609554.98781189
-11882415.1801526 |
-3609513.69518684
11882362.9258693 |
1.20255185997157
7.0308223052048
|
>> bezout3('x*x+6*x+3*y+6*z-4','y*y+2*x-7*y+5+2*z','x*x+y*y+z*z-1','x','y','z')
ans =
0.417407913885528 |
0.881547960575404 |
-0.220553455268941 |
-0.197730522175284
0.888778516434437 |
0.413491704058113
|
>> bezoutglt3('x*x+6*x+3*y+6*z-4','y*y+2*x-7*y+5+2*z','x*x+y*y+z*z-1','x','y','z')
ans =
-0.19773052217529 |
0.888778516434437 |
0.41349170405812 |
0.417407913885535
0.881547960575403 |
-0.220553455268948 |
-460.672180098364
-1505.22020593223 |
246.664270897438 |
444.930200650982
1510.38949053478 |
-235.811401018116
|
The sparse formulation is described in
sparse
>> sparse2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.214777517761945 |
0.888401837097468 |
-7.04453580733112
-1.11942329893055
|
>> sparseglt2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
ans =
0.214777517761955 |
0.888401837097454 |
-7.04453580733538
-1.11942329893006 |
9625.23788653637
-72708.7921394629 |
-21447859665299.8
14917535758743
|
>> sparse3('x*x+6*x+3*y+6*z-4','y*y+2*x-7*y+5+2*z','x*x+y*y+z*z-1','x','y','z')
ans =
0.417407913885536 |
0.881547960575403 |
-0.220553455268948 |
-0.19773052217529
0.888778516434436 |
0.413491704058122 |
-311573.388570388
-0.234770175256422 |
-2184325395.96579 |
8670166.98885402
-0.221027962779406 |
96203871.4406896 |
-8669537.84956352
-0.215091315634127 |
-96233872.6585923 |
27442825.5075708
-0.187615822305745 |
59404180.5619189 |
-27442803.0373335
-0.178067673099765 |
-59177893.6035637 |
114894638128899
7.88546266559615 |
-1.83278599870186e+015
|
>> sparseglt3('x*x+6*x+3*y+6*z-4','y*y+2*x-7*y+5+2*z','x*x+y*y+z*z-1','x','y','z')
ans =
0.417407913885535 |
0.881547960575404 |
-0.22055345526895 |
-0.197730522175291
0.888778516434435 |
0.413491704058121 |
2.1406301891098
1.4948453637733 |
0.578259725129625 |
-2.31064800033365
-0.842814480421134 |
-3.61238925618412 |
222441.227243238
106238.487412096 |
80879.180465357 |
110516.838354917
52816.5877825235 |
40187.6745632624 |
3474825390496.66
1659432630815.84 |
1263402466524.04 |
-18001028440440.1
-8596545329755.67 |
-6544945767322.06 |
-52122380857374.6
-24891489462306.9 |
-18951036997936.3 |
83147607558196.5
39707852237483.4 |
30231416163379.5
|
The library also includes methods for constructing the Macaulay
resultant. The Macaulay resultant suffers from the requirement that
the all of the polynomials have to be homogeneous.
The Macaulay resultant formulation is described in
Macaulay
A homogeneous function is a function whose monomials all have the same
degree, such as 'x*x+x*y+y*y' (degree(x*x)=degree(x*y)=degree(y*y)=2);
in contrast, a non-homogeneous function have monomials with differing
degrees: 'x*x+y'.
>> macaulay2('(y+6)*x1+(y+2)*x2','(y-13)*x1*x1+(y+5)*x1*x2+y*x2*x2','y','x1','x2')
ans =
14.8261994128261 |
0.672853013055348 |
0.832806665463022
|
>> macaulay3('(y+6)*x1+(y+2)*x2+(y-4)*x3','(y-13)*x1*x1+(y+5)*x1*x2+y*x2*x2+(y-5)*x2*x3+(y-7)*x3*x3','(y+1)*x1*x1+(y-1)*x1*x2+(y-2)*x2*x3','y','x1','x2','x3')
ans =
-6 |
1 |
0 |
0 |
14.7407124599508
0.712685678828748 |
-0.858694959266913 |
-0.037841375656509 |
-5.99999999999999
0.465185038764771 |
-0.913540235158803 |
0.365416094063521 |
7.16050047117295
0.187918120792279 |
0.0726430726575083 |
-0.993052665919189
|
Debugging Transcript
The global variable debug_resultant can be set to display all of the
computations involved in numerically solving a resultant
system. The debug_resultant variable is a bit field.
bit (0x1) |
TRACING |
prints out functions arguments and returned results |
bit (0x4)
FULL |
prints out all intermediate computations |
bit (0x8)
MATRIX |
prints out intermediate matrix results |
bit (0x32)
LATEX |
enables LaTeX output
|
Consequently, setting debug_resultant to 63 prints all of the
intermediate matrices out in Latex format.
>> global debug_resultant
>> debug_resultant=63;
>> sylvester2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
mapleresultant called with
VECTOR([VECTOR([x^2+6*x+3*y-4, y^2+2*x-7*y+5]), VECTOR([y]), x, [[2, 1, 1, 1]], MATRIX([[x^2+6*x-4, 3, 0], [0, x^2+6*x-4, 3], [2*x+5, -7, 1]]), VECTOR([1, y, y^2]), 0, 0, 0, 0])
mapledecomposematpoly called with
maplematrixpolynomial
{\it MATRIX}([[{x}^{2}+6\,x-4,3,0],[0,{x}^{2}+6\,x-4,3],[2\,x+5,-7,1]])
variable
x
maxdeg
2
maplemapcoeff(maplematrixpolynomial,variable,0)
MATRIX([[-4, 3, 0], [0, -4, 3], [5, -7, 1]])
zeromat
mapledecomposematpoly returned
\left [\begin {array}{ccc} -4&3&0\\\noalign{\medskip}0&-4&3\\\noalign{\medskip}5&-7&1\\\noalign{\medskip}6&0&0\\\noalign{\medskip}0&6&0\\\noalign{\medskip}2&0&0\\\noalign{\medskip}1&0&0\\\noalign{\medskip}0&1&0\\\noalign{\medskip}0&0&0\end {array}\right ]
mapleresultant returned
function array
\left [\begin {array}{cc} {x}^{2}+6\,x+3\,y-4&{y}^{2}+2\,x-7\,y+5\end {array}\right ]
variable array
y
hidden variable
x
hidden variable max deg
2
resultant extraction scheme
\left [\begin {array}{cccc} 2&1&1&1\end {array}\right ]
resultant numerator
\left [\begin {array}{ccc} {x}^{2}+6\,x-4&3&0\\\noalign{\medskip}0&{x}^{2}+6\,x-4&3\\\noalign{\medskip}2\,x+5&-7&1\end {array}\right ] Empty string: 1-by-0
resultant numerator companion matrix
\left [\begin {array}{ccc} -4&3&0\\\noalign{\medskip}0&-4&3\\\noalign{\medskip}5&-7&1\\\noalign{\medskip}6&0&0\\\noalign{\medskip}0&6&0\\\noalign{\medskip}2&0&0\\\noalign{\medskip}1&0&0\\\noalign{\medskip}0&1&0\\\noalign{\medskip}0&0&0\end {array}\right ]
solveresultant called with
numvars: | 1 |
fnarray: [1x2 sym ] |
vararray: [1x1 sym ] |
hiddenvar: [1x1 sym ] |
hiddenvarmaxdeg: 2 |
extract: [2 1 1 1] |
numer: 'not cached' |
numerdecomposematpoly: [9x3 double] |
numerrow: 'not cached' |
denom: 'not cached' |
denomrow: 'not cached' |
resultantUDim: 0 |
companionmatrix called with
\left [\begin {array}{ccc} -4&3&0\\\noalign{\medskip}0&-4&3\\\noalign{\medskip}5&-7&1\\\noalign{\medskip}6&0&0\\\noalign{\medskip}0&6&0\\\noalign{\medskip}2&0&0\\\noalign{\medskip}1&0&0\\\noalign{\medskip}0&1&0\\\noalign{\medskip}0&0&0\end {array}\right ]
matsize
3
maxdeg
2
leading matrix
\left [\begin {array}{ccc} 1&0&0\\\noalign{\medskip}0&1&0\\\noalign{\medskip}0&0&0\end {array}\right ]
bigsize = matsize * maxdeg
6
cond(leading matrix)
Inf
identity transformation didnt succeed
trailing matrix
\left [\begin {array}{ccc} -4&3&0\\\noalign{\medskip}0&-4&3\\\noalign{\medskip}5&-7&1\end {array}\right ]
cond(trailingmatrix)
17.9877134220118
cond(trailingmatrix) < 1e6
-> inverse process
inversetrailing matrix
\left [\begin {array}{ccc} -{\frac {17}{23}}&{\frac {3}{23}}&-{\frac {9}{23}}\\\noalign{\medskip}-{\frac {15}{23}}&{\frac {4}{23}}&-{\frac {12}{23}}\\\noalign{\medskip}-{\frac {20}{23}}&{\frac {13}{23}}&-{\frac {16}{23}}\end {array}\right ]
i
0
following matrix
\left [\begin {array}{ccc} 1&0&0\\\noalign{\medskip}0&1&0\\\noalign{\medskip}0&0&0\end {array}\right ]
matrix mult
\left [\begin {array}{ccc} {\frac {17}{23}}&-{\frac {3}{23}}&0\\\noalign{\medskip}{\frac {15}{23}}&-{\frac {4}{23}}&0\\\noalign{\medskip}{\frac {20}{23}}&-{\frac {13}{23}}&0\end {array}\right ]
i
1
following matrix
\left [\begin {array}{ccc} 6&0&0\\\noalign{\medskip}0&6&0\\\noalign{\medskip}2&0&0\end {array}\right ]
matrix mult
\left [\begin {array}{ccc} {\frac {120}{23}}&-{\frac {18}{23}}&0\\\noalign{\medskip}{\frac {114}{23}}&-{\frac {24}{23}}&0\\\noalign{\medskip}{\frac {152}{23}}&-{\frac {78}{23}}&0\end {array}\right ]
inverse transformation didnt succeed
companion matrix condition number too high
4.9977034620114e+017
inverse transformation didnt succeed
-> try random (as+b)/(cs+d) transformations
alpha
0.83849604493808
beta
0.568072461007776
gamma
0.370413556632116
delta
0.702739913240377
leading matrix
\left [\begin {array}{ccc} {\frac {1135916260876681}{562949953421312}}&{\frac {3707530826516023}{9007199254740992}}&0\\\noalign{\medskip}0&{\frac {1135916260876681}{562949953421312}}&{\frac {3707530826516023}{9007199254740992}}\\\noalign{\medskip}{\frac {735894720106225}{562949953421312}}&-{\frac {67585197358365}{70368744177664}}&{\frac {4943374435354697}{36028797018963968}}\end {array}\right ]
cond(leadingmatrix)
8.54622424482992
alpha
0.546571151829106
beta
0.444880204672912
gamma
0.694567240425548
delta
0.621310130795413
leading matrix
\left [\begin {array}{ccc} {\frac {2913053969825901}{4503599627370496}}&{\frac {1629482232754227}{1125899906842624}}&0\\\noalign{\medskip}0&{\frac {2913053969825901}{4503599627370496}}&{\frac {1629482232754227}{1125899906842624}}\\\noalign{\medskip}{\frac {7141310845352135}{2251799813685248}}&-{\frac {3802125209759863}{1125899906842624}}&{\frac {543160744251409}{1125899906842624}}\end {array}\right ]
cond(leadingmatrix)
3.82795386162057
alpha
0.794821080200926
beta
0.956843448444877
gamma
0.522590349080708
delta
0.880142207411327
leading matrix
\left [\begin {array}{ccc} {\frac {2287302604089313}{1125899906842624}}&{\frac {1801664192787}{2199023255552}}&0\\\noalign{\medskip}0&{\frac {2287302604089313}{1125899906842624}}&{\frac {1801664192787}{2199023255552}}\\\noalign{\medskip}{\frac {2472740800233367}{1125899906842624}}&-{\frac {4203883116503}{2199023255552}}&{\frac {600554730929}{2199023255552}}\end {array}\right ]
cond(leadingmatrix)
4.93595805574755
alpha
0.172956141275237
beta
0.979746896788841
gamma
0.2714472586418
delta
0.25232934687399
leading matrix
\left [\begin {array}{ccc} {\frac {4862501899701431}{288230376151711744}}&{\frac {1991048985379111}{9007199254740992}}&0\\\noalign{\medskip}0&{\frac {4862501899701431}{288230376151711744}}&{\frac {1991048985379111}{9007199254740992}}\\\noalign{\medskip}{\frac {8328326862175923}{18014398509481984}}&-{\frac {4645780965884593}{9007199254740992}}&{\frac {5309463961010963}{72057594037927936}}\end {array}\right ]
cond(leadingmatrix)
4.65411231701963
bestalpha
0.546571151829106
bestbeta
0.444880204672912
bestgamma
0.694567240425548
bestdelta
0.621310130795413
smallestcond
3.82795386162057
smallestcond < 1e8
-> rational_quotient process
leading matrix
\left [\begin {array}{ccc} {\frac {2913053969825901}{4503599627370496}}&{\frac {1629482232754227}{1125899906842624}}&0\\\noalign{\medskip}0&{\frac {2913053969825901}{4503599627370496}}&{\frac {1629482232754227}{1125899906842624}}\\\noalign{\medskip}{\frac {7141310845352135}{2251799813685248}}&-{\frac {3802125209759863}{1125899906842624}}&{\frac {543160744251409}{1125899906842624}}\end {array}\right ]
cond(leadingmatrix)
3.82795386162057
inverse leading matrix
\left [\begin {array}{ccc} {\frac {4680475012850535}{9007199254740992}}&-{\frac {2514042913935103}{36028797018963968}}&{\frac {3771064370902655}{18014398509481984}}\\\noalign{\medskip}{\frac {4131733128033135}{9007199254740992}}&{\frac {4494398615425671}{144115188075855872}}&-{\frac {3370798961569253}{36028797018963968}}\\\noalign{\medskip}-{\frac {7386371786659109}{36028797018963968}}&{\frac {3049016261140933}{4503599627370496}}&{\frac {753254553739999}{18014398509481984}}\end {array}\right ]
i
0
following matrix
\left [\begin {array}{ccc} {\frac {2812630831727623}{9007199254740992}}&{\frac {5215523413766537}{4503599627370496}}&0\\\noalign{\medskip}0&{\frac {2812630831727623}{9007199254740992}}&{\frac {5215523413766537}{4503599627370496}}\\\noalign{\medskip}{\frac {2795551540523377}{1125899906842624}}&-{\frac {190149291126905}{70368744177664}}&{\frac {6954031218355383}{18014398509481984}}\end {array}\right ]
matrix mult
\left [\begin {array}{ccc} -{\frac {6143226768865817}{9007199254740992}}&-{\frac {129042498707599}{9007199254740992}}&-{\frac {1}{36028797018963968}}\\\noalign{\medskip}{\frac {802185481956501}{9007199254740992}}&-{\frac {7149717546115545}{9007199254740992}}&0\\\noalign{\medskip}-{\frac {1434081057024049}{36028797018963968}}&{\frac {2504031572456349}{18014398509481984}}&-{\frac {7207390430725807}{9007199254740992}}\end {array}\right ]
i
1
following matrix
\left [\begin {array}{ccc} {\frac {4168173901860261}{4503599627370496}}&{\frac {728809077247183}{281474976710656}}&0\\\noalign{\medskip}0&{\frac {4168173901860261}{4503599627370496}}&{\frac {728809077247183}{281474976710656}}\\\noalign{\medskip}{\frac {6319220694044961}{1125899906842624}}&-{\frac {3401109027153521}{562949953421312}}&{\frac {7773963490636619}{9007199254740992}}\end {array}\right ]
matrix mult
\left [\begin {array}{ccc} -{\frac {1864325633295085}{1125899906842624}}&-{\frac {72810256955173}{4503599627370496}}&-{\frac {1}{36028797018963968}}\\\noalign{\medskip}{\frac {452864452570813}{4503599627370496}}&-{\frac {501540912812687}{281474976710656}}&0\\\noalign{\medskip}-{\frac {809593725440403}{18014398509481984}}&{\frac {1412861530429113}{9007199254740992}}&-{\frac {1007149456047401}{562949953421312}}\end {array}\right ]
companionmatrix returned
\left [\begin {array}{cccccc} 0&0&0&1&0&0\\\noalign{\medskip}0&0&0&0&1&0\\\noalign{\medskip}0&0&0&0&0&1\\\noalign{\medskip}-{\frac {6143226768865817}{9007199254740992}}&-{\frac {129042498707599}{9007199254740992}}&-{\frac {1}{36028797018963968}}&-{\frac {1864325633295085}{1125899906842624}}&-{\frac {72810256955173}{4503599627370496}}&-{\frac {1}{36028797018963968}}\\\noalign{\medskip}{\frac {802185481956501}{9007199254740992}}&-{\frac {7149717546115545}{9007199254740992}}&0&{\frac {452864452570813}{4503599627370496}}&-{\frac {501540912812687}{281474976710656}}&0\\\noalign{\medskip}-{\frac {1434081057024049}{36028797018963968}}&{\frac {2504031572456349}{18014398509481984}}&-{\frac {7207390430725807}{9007199254740992}}&-{\frac {809593725440403}{18014398509481984}}&{\frac {1412861530429113}{9007199254740992}}&-{\frac {1007149456047401}{562949953421312}}\end {array}\right ]
companionmat
\left [\begin {array}{cccccc} 0&0&0&1&0&0\\\noalign{\medskip}0&0&0&0&1&0\\\noalign{\medskip}0&0&0&0&0&1\\\noalign{\medskip}-{\frac {6143226768865817}{9007199254740992}}&-{\frac {129042498707599}{9007199254740992}}&-{\frac {1}{36028797018963968}}&-{\frac {1864325633295085}{1125899906842624}}&-{\frac {72810256955173}{4503599627370496}}&-{\frac {1}{36028797018963968}}\\\noalign{\medskip}{\frac {802185481956501}{9007199254740992}}&-{\frac {7149717546115545}{9007199254740992}}&0&{\frac {452864452570813}{4503599627370496}}&-{\frac {501540912812687}{281474976710656}}&0\\\noalign{\medskip}-{\frac {1434081057024049}{36028797018963968}}&{\frac {2504031572456349}{18014398509481984}}&-{\frac {7207390430725807}{9007199254740992}}&-{\frac {809593725440403}{18014398509481984}}&{\frac {1412861530429113}{9007199254740992}}&-{\frac {1007149456047401}{562949953421312}}\end {array}\right ]
process
rational_quotient
procvals
0.546571151829106 |
0.444880204672912 |
0.694567240425548 |
0.621310130795413
|
eigenvecs
\left [\begin {array}{cccccc} {\frac {1141163923709957}{2251799813685248}}&-{\frac {1035222019083947}{72057594037927936}}+{\frac {7886380668354835}{4611686018427387904}}\,\sqrt {-1}&-{\frac {1035222019083947}{72057594037927936}}-{\frac {7886380668354835}{4611686018427387904}}\,\sqrt {-1}&-{\frac {4956811243645047}{324518553658426726783156020576256}}-{\frac {5509035460862685}{316912650057057350374175801344}}\,\sqrt {-1}&-{\frac {4956811243645047}{324518553658426726783156020576256}}+{\frac {5509035460862685}{316912650057057350374175801344}}\,\sqrt {-1}&-{\frac {6894199748983083}{18014398509481984}}\\\noalign{\medskip}{\frac {8110497010025551}{18014398509481984}}&-{\frac {454166153071291}{4503599627370496}}+{\frac {3425009499876963}{144115188075855872}}\,\sqrt {-1}&-{\frac {454166153071291}{4503599627370496}}-{\frac {3425009499876963}{144115188075855872}}\,\sqrt {-1}&{\frac {3144163679346495}{5070602400912917605986812821504}}+{\frac {3490175125283267}{4951760157141521099596496896}}\,\sqrt {-1}&{\frac {3144163679346495}{5070602400912917605986812821504}}-{\frac {3490175125283267}{4951760157141521099596496896}}\,\sqrt {-1}&{\frac {1929381956624441}{4503599627370496}}\\\noalign{\medskip}{\frac {7205380443479631}{18014398509481984}}&-{\frac {3145221356893889}{4503599627370496}}+{\frac {4512865513294937}{18014398509481984}}\,\sqrt {-1}&-{\frac {3145221356893889}{4503599627370496}}-{\frac {4512865513294937}{18014398509481984}}\,\sqrt {-1}&{\frac {3039268677810507}{4611686018427387904}}+{\frac {3356614823974591}{4503599627370496}}\,\sqrt {-1}&{\frac {3039268677810507}{4611686018427387904}}-{\frac {3356614823974591}{4503599627370496}}\,\sqrt {-1}&-{\frac {8639180459163849}{18014398509481984}}\\\noalign{\medskip}-{\frac {3577312575961211}{9007199254740992}}&{\frac {3655037928259203}{288230376151711744}}-{\frac {237072563031931}{144115188075855872}}\,\sqrt {-1}&{\frac {3655037928259203}{288230376151711744}}+{\frac {237072563031931}{144115188075855872}}\,\sqrt {-1}&{\frac {1138586879027757}{81129638414606681695789005144064}}+{\frac {5058960210767075}{316912650057057350374175801344}}\,\sqrt {-1}&{\frac {1138586879027757}{81129638414606681695789005144064}}-{\frac {5058960210767075}{316912650057057350374175801344}}\,\sqrt {-1}&{\frac {6111235484483391}{18014398509481984}}\\\noalign{\medskip}-{\frac {6356182128711079}{18014398509481984}}&{\frac {6406175256190197}{72057594037927936}}-{\frac {3162183732295829}{144115188075855872}}\,\sqrt {-1}&{\frac {6406175256190197}{72057594037927936}}+{\frac {3162183732295829}{144115188075855872}}\,\sqrt {-1}&-{\frac {5623197503112421}{10141204801825835211973625643008}}-{\frac {6241394068191923}{9903520314283042199192993792}}\,\sqrt {-1}&-{\frac {5623197503112421}{10141204801825835211973625643008}}+{\frac {6241394068191923}{9903520314283042199192993792}}\,\sqrt {-1}&-{\frac {6841059386586229}{18014398509481984}}\\\noalign{\medskip}-{\frac {705855485009069}{2251799813685248}}&{\frac {5538356160774829}{9007199254740992}}-{\frac {1026359665474401}{4503599627370496}}\,\sqrt {-1}&{\frac {5538356160774829}{9007199254740992}}+{\frac {1026359665474401}{4503599627370496}}\,\sqrt {-1}&-{\frac {339853903753831}{576460752303423488}}-{\frac {6005174658005305}{9007199254740992}}\,\sqrt {-1}&-{\frac {339853903753831}{576460752303423488}}+{\frac {6005174658005305}{9007199254740992}}\,\sqrt {-1}&{\frac {3829020633372655}{9007199254740992}}\end {array}\right ]
eigenvals
\left [\begin {array}{cccccc} -{\frac {3529463044123859}{4503599627370496}}&0&0&0&0&0\\\noalign{\medskip}0&-{\frac {7960361743273919}{9007199254740992}}+{\frac {2682067687082117}{288230376151711744}}\,\sqrt {-1}&0&0&0&0\\\noalign{\medskip}0&0&-{\frac {7960361743273919}{9007199254740992}}-{\frac {2682067687082117}{288230376151711744}}\,\sqrt {-1}&0&0&0\\\noalign{\medskip}0&0&0&-{\frac {4028597824189623}{4503599627370496}}+{\frac {5233835525034039}{151115727451828646838272}}\,\sqrt {-1}&0&0\\\noalign{\medskip}0&0&0&0&-{\frac {4028597824189623}{4503599627370496}}-{\frac {5233835525034039}{151115727451828646838272}}\,\sqrt {-1}&0\\\noalign{\medskip}0&0&0&0&0&-{\frac {3992132350785519}{4503599627370496}}\end {array}\right ]
eigenval
-0.783698227229981
rational_quotient map
becomes root
0.214777517761954
eigenvecs
0.506778585189752
0.450223026084193
0.399978963476745
-0.397161478811327
-0.352838987400299
-0.31346280460601
corresponding to root
0.214777517761954
eigenval
-0.883777689172795 + 0.00930529156188033i
rational_quotient map
becomes root
-2.58512085523833 + 2.91867382512894i
eigenvecs
-0.0143665915148243 + 0.0017100862107356i
-0.100845144029036 + 0.0237657775395206i
-0.698379433593274 + 0.250514359994843i
0.0126809601994737 - 0.00164502136240593i
0.088903540865079 - 0.0219420574230621i
0.61488105282668 - 0.227897626431251i
corresponding to root
-2.58512085523833 + 2.91867382512894i
eigenval
-0.883777689172795 - 0.00930529156188033i
rational_quotient map
becomes root
-2.58512085523833 - 2.91867382512894i
eigenvecs
-0.0143665915148243 - 0.0017100862107356i
-0.100845144029036 - 0.0237657775395206i
-0.698379433593274 - 0.250514359994843i
0.0126809601994737 + 0.00164502136240593i
0.088903540865079 + 0.0219420574230621i
0.61488105282668 + 0.227897626431251i
corresponding to root
-2.58512085523833 - 2.91867382512894i
eigenval
-0.894528412274026 + 3.46346182047956e-008i
rational_quotient map
becomes root
1.01506447539561 + 1830856.7355098i
eigenvecs
-1.52743539244981e-017 - 1.73834508022032e-014i
6.20076951563076e-016 + 7.04835253429969e-013i
0.00065903634064986 + 0.745318212474942i
1.40341668134782e-017 + 1.59632637253712e-014i
-5.54490084067725e-016 - 6.30219747132792e-013i
-0.000589552545244133 - 0.666708317221299i
corresponding to root
1.01506447539561 + 1830856.7355098i
eigenval
-0.894528412274026 - 3.46346182047956e-008i
rational_quotient map
becomes root
1.01506447539561 - 1830856.7355098i
eigenvecs
-1.52743539244981e-017 + 1.73834508022032e-014i
6.20076951563076e-016 - 7.04835253429969e-013i
0.00065903634064986 - 0.745318212474942i
1.40341668134782e-017 - 1.59632637253712e-014i
-5.54490084067725e-016 + 6.30219747132792e-013i
-0.000589552545244133 + 0.666708317221299i
corresponding to root
1.01506447539561 - 1830856.7355098i
eigenval
-0.886431450638607
rational_quotient map
becomes root
-7.04453580733091
eigenvecs
-0.3827049648843
0.428408854308158
-0.479570852982772
0.339241717188987
-0.379755082190804
0.425106686893512
corresponding to root
-7.04453580733091
solveresultant called with only_real flag
\left [\begin {array}{cc} {\frac {7738175591682373}{36028797018963968}}&{\frac {8002012365014157}{9007199254740992}}\\\noalign{\medskip}-{\frac {727646832522441}{281474976710656}}+{\frac {3286134587816683}{1125899906842624}}\,\sqrt {-1}&{\frac {8011352869070461}{1125899906842624}}-{\frac {7271193105799951}{9007199254740992}}\,\sqrt {-1}\\\noalign{\medskip}-{\frac {727646832522441}{281474976710656}}-{\frac {3286134587816683}{1125899906842624}}\,\sqrt {-1}&{\frac {8011352869070461}{1125899906842624}}+{\frac {7271193105799951}{9007199254740992}}\,\sqrt {-1}\\\noalign{\medskip}{\frac {571430499143589}{562949953421312}}+{\frac {982933725334487}{536870912}}\,\sqrt {-1}&-{\frac {5706389628529369}{140737488355328}}+{\frac {6433644837814793}{147573952589676412928}}\,\sqrt {-1}\\\noalign{\medskip}{\frac {571430499143589}{562949953421312}}-{\frac {982933725334487}{536870912}}\,\sqrt {-1}&-{\frac {5706389628529369}{140737488355328}}-{\frac {6433644837814793}{147573952589676412928}}\,\sqrt {-1}\\\noalign{\medskip}-{\frac {7931442209223397}{1125899906842624}}&-{\frac {5041434351936711}{4503599627370496}}\end {array}\right ]
removecomplex called with
removecomplex
{\it results}({\it MATRIX}([[{\frac {7738175591682373}{36028797018963968}},{\frac {8002012365014157}{9007199254740992}}],[-{\frac {727646832522441}{281474976710656}}+{\frac {3286134587816683}{1125899906842624}}\,\sqrt {-1},{\frac {8011352869070461}{1125899906842624}}-{\frac {7271193105799951}{9007199254740992}}\,\sqrt {-1}],[-{\frac {727646832522441}{281474976710656}}-{\frac {3286134587816683}{1125899906842624}}\,\sqrt {-1},{\frac {8011352869070461}{1125899906842624}}+{\frac {7271193105799951}{9007199254740992}}\,\sqrt {-1}],[{\frac {571430499143589}{562949953421312}}+{\frac {982933725334487}{536870912}}\,\sqrt {-1},-{\frac {5706389628529369}{140737488355328}}+{\frac {6433644837814793}{147573952589676412928}}\,\sqrt {-1}],[{\frac {571430499143589}{562949953421312}}-{\frac {982933725334487}{536870912}}\,\sqrt {-1},-{\frac {5706389628529369}{140737488355328}}-{\frac {6433644837814793}{147573952589676412928}}\,\sqrt {-1}],[-{\frac {7931442209223397}{1125899906842624}},-{\frac {5041434351936711}{4503599627370496}}]]))
removecomplex returned
\left [\begin {array}{cc} {\frac {7738175591682373}{36028797018963968}}&{\frac {8002012365014157}{9007199254740992}}\\\noalign{\medskip}-{\frac {7931442209223397}{1125899906842624}}&-{\frac {5041434351936711}{4503599627370496}}\end {array}\right ]
solveresultant returned
\left [\begin {array}{cc} {\frac {7738175591682373}{36028797018963968}}&{\frac {8002012365014157}{9007199254740992}}\\\noalign{\medskip}-{\frac {7931442209223397}{1125899906842624}}&-{\frac {5041434351936711}{4503599627370496}}\end {array}\right ]
ans =
0.214777517761954 |
0.888401837097392 |
-7.04453580733091
-1.11942329893127
|
If we set debug_resultant to 31 (all bits except Latex) then the
intermediate matrices are printed in their normal output.
>> debug_resultant=31
>> sylvester2('x*x+6*x+3*y-4','y*y+2*x-7*y+5','x','y')
mapleresultant called with
VECTOR([VECTOR([x^2+6*x+3*y-4, y^2+2*x-7*y+5]), VECTOR([y]), x, [[2, 1, 1, 1]], MATRIX([[x^2+6*x-4, 3, 0], [0, x^2+6*x-4, 3], [2*x+5, -7, 1]]), VECTOR([1, y, y^2]), 0, 0, 0, 0])
mapledecomposematpoly called with
maplematrixpolynomial
MATRIX([[x^2+6*x-4, 3, 0], [0, x^2+6*x-4, 3], [2*x+5, -7, 1]])
variable
x
maxdeg
2
maplemapcoeff(maplematrixpolynomial,variable,0)
MATRIX([[-4, 3, 0], [0, -4, 3], [5, -7, 1]])
zeromat
mapledecomposematpoly returned
-4 | 3 | 0 |
0 -4 | 3 |
5 -7 | 1 |
6 0 | 0 |
0 6 | 0 |
2 0 | 0 |
1 0 | 0 |
0 1 | 0 |
0 0 | 0
|
mapleresultant returned
numvars: | 1 |
fnarray: [1x2 sym ] |
vararray: [1x1 sym ] |
hiddenvar: [1x1 sym ] |
hiddenvarmaxdeg: 2 |
extract: [2 1 1 1] |
numer: 'not cached' |
numerdecomposematpoly: [9x3 double] |
numerrow: 'not cached' |
denom: 'not cached' |
denomrow: 'not cached' |
resultantUDim: 0
|
solveresultant called with
numvars: 1 |
fnarray: [1x2 sym ] |
vararray: [1x1 sym ] |
hiddenvar: [1x1 sym ] |
hiddenvarmaxdeg: 2 |
extract: [2 1 1 1] |
numer: 'not cached' |
numerdecomposematpoly: [9x3 double] |
numerrow: 'not cached' |
denom: 'not cached' |
denomrow: 'not cached' |
resultantUDim: 0
companionmatrix called with
-4 | 3 | 0 |
0 -4 | 3 |
5 -7 | 1 |
6 0 | 0 |
0 6 | 0 |
2 0 | 0 |
1 0 | 0 |
0 1 | 0 |
0 0 | 0
|
matsize
3
maxdeg
2
leading matrix
bigsize = matsize * maxdeg
6
cond(leading matrix)
Inf
identity transformation didnt succeed
trailing matrix
cond(trailingmatrix)
17.9877134220118
cond(trailingmatrix) < 1e6
-> inverse process
inversetrailing matrix
-0.739130434782608 |
0.130434782608696 |
-0.391304347826087 |
-0.652173913043478
0.173913043478261 |
-0.521739130434782 |
-0.869565217391304
0.565217391304348 |
-0.695652173913043
|
i
0
following matrix
matrix mult
0.739130434782608 |
-0.130434782608696 |
0 |
0.652173913043478
-0.173913043478261 |
0 |
0.869565217391304
-0.565217391304348 |
0
|
i
1
following matrix
matrix mult
5.21739130434782 | -0.782608695652174 | 0 |
4.95652173913043 -1.04347826086956 | 0 |
6.60869565217391 -3.39130434782609 | 0
|
inverse transformation didnt succeed
companion matrix condition number too high
4.9977034620114e+017
inverse transformation didnt succeed
-> try random (as+b)/(cs+d) transformations
alpha
0.875741899818074
beta
0.737305988465256
gamma
0.13651874225971
delta
0.011756687353118
leading matrix
1.40970550338803 | 0.0559121009645192 | 0 |
0 1.40970550338803 | 0.0559121009645192 |
0.33229720035545 -0.130461568917211 | 0.0186373669881731
|
cond(leadingmatrix)
61.6800083595098
alpha
0.893897966445253
beta
0.199138067205738
gamma
0.298723012102214
delta
0.661442576382325
leading matrix
2.0442791808687 | 0.267706313878259 | 0 |
0 2.0442791808687 | 0.267706313878259 |
0.98023297589424 -0.624648065715938 | 0.0892354379594198
|
cond(leadingmatrix)
14.1976942871452
alpha
0.284408589749945
beta
0.469224285211001
gamma
0.0647811229632725
delta
0.988334938277631
leading matrix
0.174647717300434 | 0.0125897816771479 | 0 |
0 0.174647717300434 | 0.0125897816771479 |
0.0578315851107173 -0.0293761572466784 | 0.00419659389238263
|
cond(leadingmatrix)
29.8970674697294
alpha
0.582791681561231
beta
0.423496256851051
gamma
0.515511752140763
delta
0.333951479971759
leading matrix
1.07925244308416 | 0.797257099785718 | 0 |
0 1.07925244308416 | 0.797257099785718 |
1.92963375476558 -1.86026656616668 | 0.265752366595239
|
cond(leadingmatrix)
3.97698037110095
bestalpha
0.582791681561231
bestbeta
0.423496256851051
bestgamma
0.515511752140763
bestdelta
0.333951479971759
smallestcond
3.97698037110095
smallestcond < 1e8
-> rational_quotient process
leading matrix
1.07925244308416 | 0.797257099785718 | 0 |
0 1.07925244308416 | 0.797257099785718 |
1.92963375476558 -1.86026656616668 | 0.265752366595239
|
cond(leadingmatrix)
3.97698037110095
inverse leading matrix
0.564261995240502 | -0.0675463002813278 | 0.202638900843983 |
0.4904551658458 0.091437893271208 | -0.274313679813624 |
-0.663932545855778 1.13052041874426 | 0.371340323202931
|
i
0
following matrix
0.58181792609299 | 0.334570772925984 | 0 |
0 0.58181792609299 | 0.334570772925984 |
0.840472358352456 -0.780665136827295 | 0.111523590975328
|
matrix mult
-0.498610138730214 | 0.00870720171846473 | 6.93889390390723e-018 |
-0.0548025420326997 -0.431439295737239 | -6.93889390390723e-018 |
0.0741865797017177 -0.14573217617917 | -0.419652296625402
|
i
1
following matrix
1.59402154256994 | 1.03293547542145 | 0 |
0 1.59402154256994 | 1.03293547542145 |
2.54744200963631 -2.41018277598339 | 0.344311825140484
|
matrix mult
-1.41565662486335 | 0.013220814011703 | 2.77555756156289e-017 |
-0.0829979082477692 -1.31350861789077 | -2.77555756156289e-017 |
0.112354841708347 -0.22127637088041 | -1.29561151063952
|
companionmatrix returned
0 | 0 | 0 |
1 | 0 | 0 |
0 0 | 0 |
0 | 1 | 0 |
0 0 | 0 |
0 | 0 | 1 |
-0.498610138730214 0.00870720171846473 | 6.93889390390723e-018 |
-1.41565662486335 | 0.013220814011703 | 2.77555756156289e-017 |
-0.0548025420326997 -0.431439295737239 | -6.93889390390723e-018 |
-0.0829979082477692 | -1.31350861789077 | -2.77555756156289e-017 |
0.0741865797017177 -0.14573217617917 | -0.419652296625402 |
0.112354841708347 | -0.22127637088041 | -1.29561151063952 |
process
rational_quotient
procvals
0.582791681561231 | 0.423496256851051 | 0.515511752140763 |
0.333951479971759
|
eigenvecs
0.516287527208712 |
0.00719021104069036 + 0.0143997492651957i |
0.00719021104069036 - 0.0143997492651957i |
-8.80466661864955e-019 + 1.17210245729081e-014i |
-8.80466661864955e-019 - 1.17210245729081e-014i |
0.427086819441958 |
0.458670787642716
0.0395376159823668 + 0.108265973260912i |
0.0395376159823668 - 0.108265973260912i |
2.91353263563277e-018 - 3.88985240152381e-014i |
2.91353263563277e-018 + 3.88985240152381e-014i |
-0.478090936348463 |
0.40748397036471
0.193931043164951 + 0.802285012294318i |
0.193931043164951 - 0.802285012294318i |
6.3584001502449e-005 - 0.839284116376348i |
6.3584001502449e-005 + 0.839284116376348i |
0.535186133144021 |
-0.384719331340661
-0.00493239620779266 - 0.00945810485259946i |
-0.00493239620779266 + 0.00945810485259946i |
5.68171535803886e-019 - 7.54753691251029e-015i |
5.68171535803886e-019 + 7.54753691251029e-015i |
-0.281327001004484 |
-0.341785360729943
-0.0274613249120986 - 0.0712809954260574i |
-0.0274613249120986 + 0.0712809954260574i |
-1.88197856396639e-018 + 2.51194172663092e-014i |
-1.88197856396639e-018 - 2.51194172663092e-014i |
0.314923999542013 |
-0.303642742365487
-0.137858727814382 - 0.529369243343658i |
-0.137858727814382 + 0.529369243343658i |
-4.11862446830847e-005 + 0.543693080937344i |
-4.11862446830847e-005 - 0.543693080937344i |
-0.352533262471838 |
eigenvals
-0.745164876286342 |
0 |
0 |
0 |
0 |
0 |
0
-0.662644431431398 + 0.0116559599595437i |
0 |
0 |
0 |
0 |
0
0 |
-0.662644431431398 - 0.0116559599595437i |
0 |
0 |
0 |
0
0 |
0 |
-0.647805755319755 + 4.57227342551611e-009i |
0 |
0 |
0
0 |
0 |
0 |
-0.647805755319755 - 4.57227342551611e-009i |
0 |
0
0 |
0 |
0 |
0 |
-0.658711503604988 |
eigenval
-0.745164876286342
rational_quotient map
becomes root
0.214777517761974
eigenvecs
0.516287527208712
0.458670787642716
0.40748397036471
-0.384719331340661
-0.341785360729943
-0.303642742365487
corresponding to root
0.214777517761974
eigenval
-0.662644431431398 + 0.0116559599595437i
rational_quotient map
becomes root
-2.58512085521856 - 2.91867382513253i
eigenvecs
0.00719021104069036 + 0.0143997492651957i
0.0395376159823668 + 0.108265973260912i
0.193931043164951 + 0.802285012294318i
-0.00493239620779266 - 0.00945810485259946i
-0.0274613249120986 - 0.0712809954260574i
-0.137858727814382 - 0.529369243343658i
corresponding to root
-2.58512085521856 - 2.91867382513253i
eigenval
-0.662644431431398 - 0.0116559599595437i
rational_quotient map
becomes root
-2.58512085521856 + 2.91867382513253i
eigenvecs
0.00719021104069036 - 0.0143997492651957i
0.0395376159823668 - 0.108265973260912i
0.193931043164951 - 0.802285012294318i
-0.00493239620779266 + 0.00945810485259946i
-0.0274613249120986 + 0.0712809954260574i
-0.137858727814382 + 0.529369243343658i
corresponding to root
-2.58512085521856 + 2.91867382513253i
eigenval
-0.647805755319755 + 4.57227342551611e-009i
rational_quotient map
becomes root
13.070291357318 - 19499053.0700004i
eigenvecs
-8.80466661864955e-019 + 1.17210245729081e-014i
2.91353263563277e-018 - 3.88985240152381e-014i
6.3584001502449e-005 - 0.839284116376348i
5.68171535803886e-019 - 7.54753691251029e-015i
-1.88197856396639e-018 + 2.51194172663092e-014i
-4.11862446830847e-005 + 0.543693080937344i
corresponding to root
13.070291357318 - 19499053.0700004i
eigenval
-0.647805755319755 - 4.57227342551611e-009i
rational_quotient map
becomes root
13.070291357318 + 19499053.0700004i
eigenvecs
-8.80466661864955e-019 - 1.17210245729081e-014i
2.91353263563277e-018 + 3.88985240152381e-014i
6.3584001502449e-005 + 0.839284116376348i
5.68171535803886e-019 + 7.54753691251029e-015i
-1.88197856396639e-018 - 2.51194172663092e-014i
-4.11862446830847e-005 - 0.543693080937344i
corresponding to root
13.070291357318 + 19499053.0700004i
eigenval
-0.658711503604988
rational_quotient map
becomes root
-7.04453580732924
eigenvecs
0.427086819441958
-0.478090936348463
0.535186133144021
-0.281327001004484
0.314923999542013
-0.352533262471838
corresponding to root
-7.04453580732924
solveresultant called with only_real flag
0.214777517761974 |
0.888401837097445 |
-2.58512085521856 - 2.91867382513253i
7.11551073091394 + 0.807264600314788i |
-2.58512085521856 + 2.91867382513253i
7.11551073091394 - 0.807264600314788i |
13.070291357318 - 19499053.0700004i
-3.31869656723626 + 7.22552248830212e-007i |
13.070291357318 + 19499053.0700004i
-3.31869656723626 - 7.22552248830212e-007i |
-7.04453580732924
-1.11942329892819 |
removecomplex called with
removecomplex
results(MATRIX([[3869087795841549/18014398509481984, 1000251545626829/1125899906842624], [-5821174660135003/2251799813685248-1643067293910361/562949953421312*i, 2002838217268423/281474976710656+7271193106334139/9007199254740992*i], [-5821174660135003/2251799813685248+1643067293910361/562949953421312*i, 2002838217268423/281474976710656-7271193106334139/9007199254740992*i], [459869994425321/35184372088832-5234237202413759/268435456*i, -7473040311780477/2251799813685248+3412156521997879/4722366482869645213696*i], [459869994425321/35184372088832+5234237202413759/268435456*i, -7473040311780477/2251799813685248-3412156521997879/4722366482869645213696*i], [-7931442209221525/1125899906842624, -315089646995177/281474976710656]]))
removecomplex returned
0.214777517761974 | 0.888401837097445 |
-7.04453580732924 -1.11942329892819
|
solveresultant returned
0.214777517761974 | 0.888401837097445 |
-7.04453580732924 -1.11942329892819
|
ans =
0.214777517761974 | 0.888401837097445 |
-7.04453580732924 -1.11942329892819
|
>> diary off
\end{verbatim}
|