[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: |
address@hidden |
Subject: |
Re: [Axiom-mail] Calc. with a self-inverse integer matrix |
Date: |
Mon, 3 Mar 2008 11:04:17 +0100 |
User-agent: |
KMail/1.7.1 |
Hello,
thanks first for the advice that B=A! That is right, sorry for conducting too
soon to the CAS.
With this, all the a_ij are out, and the problem is to find d_i and n_j such
that B is self-inverse and integer, and that 2 conditions are fulfilled:
B=-I + n @ d + 2 n @ n
n.n=1
n.d=0
in components:
--------------------------------------------------------------------------|
| -1 + n1 d1 + 2 n1 n1 | n1 d2 + 2 n1 n2 | n1 d3 + 2 n1 n3 |
|-------------------------|-----------------------|-----------------------|
B= | n2 d1 + 2 n2 n1 | -1 + n2 d2 + 2 n2 n2 | n2 d3 + 2 n2 n3 |
|-------------------------|-----------------------|-----------------------|
| n3 d1 + 2 n3 n1 | n3 d2 + 2 n3 n2 | -1 + d3 n3 + n3 n3 |
--------------------------------------------------------------------------|
n1 n1 + n2 n2 +n3 n3 = 1
d1 n1 + d2 n2 +d3 n3 = 0
as you stated below, it is not possible to solve within the integers. now that
the a_ij are out, maybe this does not apply anymore?
i am assuming that one can not find other solutions than for example
n=(1,0,0) d=(0,z1,z2), with
B= | 1 z1 z2 |
| 0 -1 0 |
| 0 0 -1 |
being integer and self-inverse when z1 and z2 are integer. however, assuming
is not enough.
as i am new to axiom, i dont even know how to state the problem.
thanks in advance,
rainer
> "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
>
>
>
> _______________________________________________
> Axiom-mail mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/axiom-mail