[Top][All Lists]
[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