axiom-mail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-mail] Calc. with a self-inverse integer matrix


From: Martin Rubey
Subject: Re: [Axiom-mail] Calc. with a self-inverse integer matrix
Date: 03 Mar 2008 09:14:50 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

"Rainer Gluege" <address@hidden> 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]