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