Artifact a580ffab86bd4ebe8a76ea634e39a4008fb64df3bc0a99aefc86a8115cf292de:
- Executable file
r37/lisp/csl/html/r37_0628.html
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 2507) [annotate] [blame] [check-ins using] [more...]
<A NAME=Jordansymbolic> <TITLE>Jordansymbolic</TITLE></A> <b><a href=r37_idx.html>INDEX</a></b><p><p> <B>JORDANSYMBOLIC</B> _ _ _ _ _ _ _ _ _ _ _ _ <B>operator</B><P> <P> The operator <em>jordansymbolic</em> computes the Jordan normal form J of a <A HREF=r37_0345.html>matrix</A> (A say). It returns {J,L,P,P^-1} where P*J*P^-1 = A. L = {ll,mm} where mm is a name and ll is a list of irreducible factors of p(mm). <P> <P> <P> <H3> syntax: </H3> <em>jordansymbolic</em>(<matrix>) <P> <P> <matrix> :- a square <A HREF=r37_0345.html>matrix</A>. <P> <P> <P> Field Extensions: <P> <P> By default, calculations are performed in the rational numbers. To extend this field the <A HREF=r37_0634.html>arnum</A> package can be used. The package must first be loaded by load_package arnum;. The field can now be extended by using the defpoly command. For example, defpoly sqrt2**2-2; will extend the field to include the square root of 2 (now defined by sqrt2). See <A HREF=r37_0626.html>frobenius</A> for an example. <P> <P> Modular Arithmetic: <P> <P> <em>jordansymbolic</em>can also be calculated in a modular base. To do this first type on modular;. Then setmod p; (where p is a prime) will set the modular base of calculation to p. By further typing on balanced_mod the answer will appear using a symmetric modular representation. See <A HREF=r37_0627.html>ratjordan</A> for an example. <P> <P> <P> <H3> examples: </H3> <P><PRE><TT> a := mat((1,y),(2,5*y)); [1 y ] a := [ ] [2 5*y] jordansymbolic(a); { [lambda11 0 ] [ ] [ 0 lambda12] , 2 lambda - 5*lambda*y - lambda + 3*y,lambda, [lambda11 - 5*y lambda12 - 5*y] [ ] [ 2 2 ] , [ 2*lambda11 - 5*y - 1 5*lambda11*y - lambda11 - y + 1 ] [---------------------- ---------------------------------] [ 2 2 ] [ 25*y - 2*y + 1 2*(25*y - 2*y + 1) ] [ ] [ 2*lambda12 - 5*y - 1 5*lambda12*y - lambda12 - y + 1 ] [---------------------- ---------------------------------] [ 2 2 ] [ 25*y - 2*y + 1 2*(25*y - 2*y + 1) ] } </TT></PRE><P>