Re: Calc. with a self-inverse integer matrix

Martin Rubey <[email protected]>
Newsgroups gmane.comp.mathematics.axiom.user
Message-ID <[email protected]>
"[email protected]" <[email protected]> writes:

> 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. 

I meant to say that maybe you can solve it within the integers, but not
automatically with axiom.

> 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.

To save others some time, here are some functions I defined to play around:

N k == matrix [[n[i] for i in 1..k]]

D k == matrix [[d[i] for i in 1..k]]

B k == -scalarMatrix(k, 1)+N k * D k + 2*N k * transpose N k

L k == concat([first parts(transpose N k * N k - 1), first parts(D k * N k)],parts((B k)^2::SQMATRIX(k, POLY INT) - 1))

we now want to say, for example,

solve L 2

but that does not work.  However:

(57) -> radicalSolve(L 2, [n[1], n[2]]).1

                   +---------+
                   |     2
                   |   d
                   |    1
                d  |---------       +---------+
                 2 |  2     2       |     2
                   |d   + d         |   d
                  \| 2     1        |    1
   (57)  [n = - --------------,n =  |--------- ]
           1          d         2   |  2     2
                       1            |d   + d
                                   \| 2     1
                                       Type: List Equation Expression Integer


Substituting back into B 2:

eval(B 2, radicalSolve(L 2, [n[1], n[2]]).1)

You will have to check by hand whether you find some integral solutions
there...


Maybe somebody else can help...

Martin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.