Ramón Casero Cañas on Sun, 12 Jan 2003 14:06:09 +0100 (MET)

 Re: the problem of inversing a big boolean matrix

```Bernadette.PERRIN-RIOU@math.u-psud.fr wrote:

>A64 = [mattranspose(A), A; A,A]  define a matrix of matrices. Use
>
>A64=concat(concat(A~,A)~,concat(A,A)~)~;
>A2=Mod(A64,2);
>
>A2*A2^(-1)
>

Bernadette, thank you. I tried what you said, and yes, it works for a
128 x 128 matrix. So now I'll try to do this in C code, with ginv(), as
Karim said. I have found another function in the User's Guide,
ginvmod(). Does somebody know something about performance of
ginv() and ginvmod()? What is better?

a) matrix of t_INT[MOD] + ginv()
b) matrix of t_INT[MOD] + ginvmod()

It has come to me as a surprise that in the User's Guide it advises not
to use t_VEC nor t_MAT (see below 4.5.15 Type t_MAT of the User's Guide),
and use instead C constructs. But in section 4.3.1 Creation of PARI objects,
example 3) it shows:

z = cgetg(4, t_MAT);
for (i = 1; i < 4; i++) z[i] = lgetg(5, t_COL);

(double loop to fill columns)

What's the equivalent C constructs way? Do you have to manually make an
array of longs? How do you set the information about the type, syze, etc. that is
supposed to go in the z[0] of a GEN?

Cheers,

Ramón.

--
+++ GMX - Mail, Messaging & more  http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen!
```