[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 11:36:26 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
"address@hidden" <address@hidden> 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