MATEIGEN INDEX

MATEIGEN _ _ _ _ _ _ _ _ _ _ _ _ operator

The mateigen operator calculates the eigenvalue equation and the corresponding eigenvectors of a matrix.

syntax:

mateigen(<matrix-id>,<tag-id>)

<matrix-id> must be a declared matrix of values, and <tag-id> must b e a legal REDUCE identifier.

examples:


aa := mat((2,5),(1,0))$ 

mateigen(aa,alpha); 

         2
  {{ALPHA  - 2*ALPHA - 5,
    1,
                5*ARBCOMPLEX(1)
    MAT(1,1) := ---------------,
                   ALPHA - 2
    MAT(2,1) := ARBCOMPLEX(1)
    }}


charpoly := first first ws; 

                   2
  CHARPOLY := ALPHA  - 2*ALPHA - 5 


bb := mat((1,0,1),(1,1,0),(0,0,1))$ 

mateigen(bb,lamb); 

  {{LAMB - 1,3,
    [      0      ]
    [ARBCOMPLEX(2)]
    [      0      ]
    }}

The mateigen operator returns a list of lists of three elements. The first element is a square free factor of the characteristic polynomial; the second element is its multiplicity; and the third element is the corresponding eigenvector. If the characteristic polynomial can be completely factored, the product of the first elements of all the sublists will produce the minimal polynomial. You can access the various parts of the answer with the usual list access operators.

If the matrix is degenerate, more than one eigenvector can be produced for the same eigenvalue, as shown by more than one arbitrary variable in the eigenvector. The identification numbers of the arbitrary complex variables shown in the examples above may not be the same as yours. Note that since lambda is a reserved word in REDUCE, you cannot use it as a tag-id for this operator.