Re: Calc. with a self-inverse integer matrix
Martin Rubey <[email protected]>
| Newsgroups | gmane.comp.mathematics.axiom.user |
|---|---|
| Message-ID | <[email protected]> |
"Rainer Gluege" <[email protected]> writes: > Dear Axiom-Users, > > i am new to axiom. > > I need the solution for the components of a matrix product > A times B = I. > > ,,A'' is a self-inverse matrix with integer components, Sorry, I do not understand: if A times B = I, then B = A^-1. If A is self-inverse, then A = B. > the components of ,,B'' are polynomial equations containing the components of > two vectors which have their scalar product equal to zero, and one of them is > normalized. this leads after all to the system of equations below. > the problems: > > 1.) i get: > >> Error detected within library code: > system does not have a finite number of solutions > however, i was expecting to find at least some more information. Yes, the solver is not very intelligent, it seems. At times, you can help by specifying (as second argument to solve) the right variables to solve for. Note however, that solve returning an empty list does not mean that there are no solutions, only that no solutions were found. I guess one can do better using Groebner Bases, but I would not know how. Ralf? (66) -> m n == matrix [[a[i,j] for j in 1..n] for i in 1..n] Compiled code for m has been cleared. 1 old definition(s) deleted for function or rule m Type: Void (67) -> solve(parts(((m 3)^2)::SQMATRIX(3, POLY INT)-1), [a[3,3], a[3,2], a[3,1], a[2,3], a[2,2]]) (67) [ 2 2 2 - a a - a + a - a a + (- a + 1)a 1,2 2,1 1,1 1,1 1,2 2,1 1,1 1,2 [a = -------------------------, a = -------------------------------, 3,3 a - 1 3,2 (a - 1)a 1,1 1,1 1,3 2 - a a - a + 1 a a a a + a - 1 1,2 2,1 1,1 1,3 2,1 1,2 2,1 1,1 a = ----------------------, a = --------, a = -------------------] 3,1 a 2,3 a - 1 2,2 a - 1 1,3 1,1 1,1 , 2 2 2 - a a - a - a - a a + (- a + 1)a 1,2 2,1 1,1 1,1 1,2 2,1 1,1 1,2 [a = -------------------------, a = -------------------------------, 3,3 a + 1 3,2 (a + 1)a 1,1 1,1 1,3 2 - a a - a + 1 a a a a - a - 1 1,2 2,1 1,1 1,3 2,1 1,2 2,1 1,1 a = ----------------------, a = --------, a = -------------------] 3,1 a 2,3 a + 1 2,2 a + 1 1,3 1,1 1,1 ] Type: List List Equation Fraction Polynomial Integer > 2.) how do i tell ,,axiom'' that the a_ij have to be of type integer? currently, you cannot, i.e., I do not know of an algorithm present in Axiom that solves within the integers. > by the way, is their a way to define the type ,,self-inverse matrix with > integer components'' in axiom? You can certainly introduce a domain SelfInverseMatrix(R: Ring): Exports == Implementation where Exports ==> with ... Implementation ==> add ... But what would you like to do with it? You cannot even multiply two such matrices without leaving the domain... (Note that in Axiom a type is mostly intended to contain elements that satisfy certain closure properties. For example, in a field, you can add, multiply and divide two elements and you will get again an element of the field) Martin