|Ramón Casero Cañas on Sun, 12 Jan 2003 14:06:09 +0100 (MET)|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|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 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!