#1,CMATCR, AN EXACT ARITHMETIC COMPLEX RATIONAL MATRIX CALCULATOR i,: information c,: calculate p,: print variable values x,: enter data q,: exit complex rational calculator #2, Complex Calculations n,: number calculation p,: polynomial calculation m,: matrix calculation q,: exit #3,Complex Number Calculations c,j k : (CR[j])* -> CR[k] (complex conjugate) a,j k l : CR[j] + CR[k] -> CR[l] t,j k l : CR[j] * CR[k] -> CR[l] s,j k l : CR[j] - CR[k] -> CR[l] e,n j k : CR[j] ^ n -> CR[k] (exponentiation) r,j k l : CR[j] / CR[k] -> CR[l] i,j k : 1 / CR[j] -> CR[k] x,j : enter CR[j] p, : print numbers q, : exit #4,Complex Polynomial Calculations a,j k l : PCR[j] + PCR[k] -> PCR[l] t,j k l : PCR[j] * PCR[k] -> PCR[l] s,j k l : PCR[j] - PCR[k] -> PCR[l] e,n j k : PCR[j] ^ n -> PCR[k] (exponentiation) v,j k l : PCR[j](CR[k]) -> CR[l] (evaluation) d,j k : (PCR[j])' -> PCR[k] (derivative) f,j k l : CR[j] * PCR[k] -> PCR[l] (scalar multiple) r,j k l : PCR[j] div PCR[k] -> PCR[l] (quotient) i,j k l : PCR[j] mod PCR[k] -> PCR[l] (remainder) g,j k l : gcd(PCR[j],PCR[k]) -> PCR[l] G,j k m n l : gcd(PCR[j],PCR[k]) = PCR[m]*PCR[j] + PCR[n]*PCR[k]->PCR[l] L, : gcd(a, b, ...) = r*a+s*b+... z, : polynomial factorization x, : enter data p, : print polynomials q, : exit #5,Complex Matrix Calculations m,: A + B, A - B, A * B, -A, tA, A*, A^n, A - tI j,: joining matrices together o,: row/column operations v,: extract vectors from matrices c,: various matrix algorithms f,: dot product and Gram-Schmidt process s,: polynomial matrix arithmetic x,: enter data p,: print numbers, polynomials and matrices L,: line-print rational numbers, polynomials and matrices q,: exit #6,Complex Polynomial Factorization z,j : find the squarefree decomposition of PCR[j] w,j : factorize PCR[j] into irreducibles x, : enter data p, : print polynomials q, : exit #7,Complex Matrix Arithmetic a,j k l : CRM[j] + CRM[k] -> CRM[l] t,j k l : CRM[j] * CRM[k] -> CRM[l] s,j k l : CRM[j] - CRM[k] -> CRM[l] m,j k : -CRM[j] -> CRM[k] f,j k l : CR[j] * (CRM[k]) -> CRM[l] (scalar multiple) *,j k : (CRM[j])* -> CRM[k] (complex conjugate-transpose) e,n j k : CRM[j] ^ n -> CRM[k] (exponentiation) z,j k l : CRM[j] - CR[k]I -> CRM[l] v,j k l : PCR[j](CRM[k]) -> CRM[l] (evaluation) x, : enter data p, : print numbers and matrices q, : exit #8,Joining Complex Matrices c,j k l : join(CRM[j],CRM[k]) -> CRM[l] r,j k l : join(CRM[j],CRM[k]) -> CRM[l] i,j k : [CRM[j] | I] -> CRM[k] k,j k l : Kronecker_product(CRM[j],CRM[k]) -> CRM[l] d,j k l : direct_sum(CRM[j],CRM[k]) -> CRM[l] u,j k : unwrap(CRM[j]) -> CRM[k] q, : exit #9,Complex Matrix Row/Column Operations i,p q k l : interchange rows p q of CRM[k] -> CRM[l] j,p q k l : interchange cols p q of CRM[k] -> CRM[l] m,j p k l : CR[j] * row p of CRM[k] -> CRM[l] n,j p k l : CR[j] * col p of CRM[k] -> CRM[l] a,j p q k l : CR[j] * row p + row q of CRM[k] -> CRM[l] b,j p q k l : CR[j] * col p + col q of CRM[k] -> CRM[l] x, : enter data q, : exit #10, Vectors From Complex Matrices r,q j k : q-th row of CRM[j] -> CRM[k] c,q j k : q-th col of CRM[j] -> CRM[k] q, : exit #11,Various Complex Matrix Algorithms c,j k : characteristic_poly(CRM[j]) -> PCR[k] m,j k : minimum_poly(CRM[j]) -> PCR[k] a,j k : adjoint(CRM[j]) -> CRM[k] d,j k : determinant(CRM[j]) -> CR[k] i,j k : inverse(CRM[j]) -> CRM[k] t,j k l : CRM[j]^(-1) * CRM[k] * CRM[j] -> CRM[l] l,j : solve a linear system whose augmented matrix is CRM[j] g,j k : reduced row-echelon form of CRM[j] -> CRM[k] n,j k : basis for null-space of CRM[j] -> CRM[k] b,j k : left_to_right basis for column-space of CRM[j] -> CRM[k] x, : enter data p, : print numbers, polynomials and matrices q, : exit #12,Complex Polynomial Matrix Arithmetic o, : row/column operations i,m j : create the m x m identity matrix PCRM[j] e,j k : xI - CRM[j] -> PCRM[k] a,j k : adjoint(PCRM[j]) -> PCRM[k] d,j k : determinant(PCRM[j]) -> PCR[k] f,j k l : invariant factors of PCRM[j], P->PCRM[k], Q->PCRM[l] F,j : finding the invariants of CRM[j] x, : enter data p, : print data q, : exit #13,Complex Polynomial Matrix Row/Column Operations i,p q k l : interchange rows p q of PCRM[k] -> PCRM[l] j,p q k l : interchange cols p q of PCRM[k] -> PCRM[l] m,j p k l : CR[j] * row p of PCRM[k] -> PCRM[l] n,j p k l : CR[j] * col p of PCRM[k] -> PCRM[l] a,j p q k l : PCR[j] * row p + row q of PCRM[k] -> PCRM[l] b,j p q k l : PCR[j] * col p + col q of PCRM[k] -> PCRM[l] x, : enter data q, : exit #14,Entering Complex Data n,j : enter CR[j] p,j : enter polynomial PCR[j] m,j : enter matrix CRM[j] from the terminal M,j : enter polynomial matrix PCRM[j] from the terminal b,j : enter matrix CRM[j] using arithmetic expressions f, : entering a file of matrices v,n m j : n-banded m x m band matrix (n < m) -> CRM[j] i,m j : m x m identity matrix -> CRM[j] c,j k : companion matrix corresponding to PCR[j] -> CRM[k] j,m k l : m x m Jordan matrix J_m(CR[k]) -> CRM[l] t,j k : alter matrix CRM[j] to CRM[k] T,j k : alter polynomial matrix PCRM[j] to PCRM[k] q, : exit #15,Altering a Complex Matrix a,i j : alter the (i,j)th element r,i : delete row i c,j : delete column j f,i : replacing row i g,j : replacing column j s, : forming a submatrix by row selection t, : forming a submatrix by column selection q, : exit #16,Altering a Complex Polynomial Matrix a,i j : alter the (i,j)th element r,i : delete row i c,j : delete column j f,i : replacing row i g,j : replacing column j s, : forming a submatrix by row selection t, : forming a submatrix by column selection q, : exit #17,Printing Complex Data n,: print numbers p,: print polynomials m,: print matrices M,: print polynomial matrices q,: exit #18,Printing Complex Polynomials p, : print all polynomials c,j : print the polynomial PCR[j] q, : exit #19,Printing Complex Matrices p, : print all matrices in exact form c,j : print the matrix CRM[j] in exact form q, : exit #20,Printing Complex Polynomial Matrices p, : print all polynomial matrices c,j : print the polynomial matrix PCRM[j] q, : exit #21,Printing Complex Numbers e, : print numbers in exact form r,d : print numbers to d decimal places accuracy q, : exit #22,Printing Complex Matrices e, : print matrices in exact form r,d : print matrices to d decimal places accuracy q, : exit #23,Printing Complex Numbers Exactly p, : print all numbers in exact form c,j : print the number CR[j] in exact form q, : exit #24,Printing Complex In Real Form p, : print all numbers in real form c,j : print number CR[j] in real form q, : exit #25,Printing Complex Matrices In Real Form p, : print all matrices in real form to the screen c,j : print matrix CR[j] in real form to a file or to the screen q, : exit #26,Lineprinting Complex Data n,: print numbers p,: print polynomials m,: print matrices of scalars M,: print polynomial matrices q,: exit #27,Complex Dot Product Calculations d,j k l : dot product of vectors CRM[j] and CRM[k]> -> CR[l] g,j k : Gram-Schmidt on columns of CRM[j] -> CRM[k] l,j k : length-squared of vector CRM[j] -> CR[k] v, : extract vectors from matrices x, : enter data p, : print data q, : exit