John Cremona on Thu, 24 Dec 2009 12:36:54 +0100

 Re: How to implement equivalent of magma NullSpace in Pari/GP

Your matrix is 9x8 and has rank 8.  pari computes the right kernel
(space of vectors v such that m2*v=0) which is 0-dimensional.  Perhaps
you meant the left kernel (which is what Magma gives)?  For that,
transpose before and after:

? matker(m2~)~
%11 =
[0 -1 0 0 0 0 0 0 1]

John

2009/12/24 Kevin Acres <research@research-systems.com>:
> Hi John,
>
> I thought that it should be as easy as that. I did just realise that my cut
> and paste in the original post missed 3 rows off of the matrix.
>
> However, the following code gives an empty matrix:
>
> mprint(M2);
> print("result of matker: ",matker(M2,1));
>
> Output is:
>
> [0, 1, 0, 0, 1, 0, 0, 0]
> [0, 0, 1, 0, 0, 1, 0, 0]
> [1, 0, 1, 0, 0, 0, 0, 0]
> [0, 0, 0, 1, 0, 0, 1, 0]
> [1, 0, 1, 0, 0, 0, 1, 0]
> [1, 1, 0, 0, 0, 0, 0, 1]
> [0, 1, 1, 0, 0, 0, 0, 1]
> [0, 1, 1, 0, 0, 0, 0, 0]
> [0, 0, 1, 0, 0, 1, 0, 0]
> result of matker: [;]
> Goodbye!
>
> Any idea what I'm doing wrong?
>
>
> Best Regards,
>
> Kevin.
>
>
> At 09:22 PM 24/12/2009, you wrote:
>>
>> matker:
>>
>>
>> ? ?matker
>> matker(x,{flag=0}): basis of the kernel of the matrix x. flag is
>> optional, and may be set to 0:
>> default; non-zero: x is known to have integral entries.
>>
>> John Cremona
>>
>> 2009/12/24 Kevin Acres <research@research-systems.com>:
>> > Hi,
>> >
>> > I'm trying to implement an equivalent of the Magma NullSpace() function.
>> >
>> > For example I'd like:
>> >
>> > [0 0 0 1 0 0 1 0]
>> > [1 0 1 0 0 0 1 0]
>> > [1 1 0 0 0 0 0 1]
>> > [0 1 1 0 0 0 0 1]
>> > [0 1 1 0 0 0 0 0]
>> > [0 0 1 0 0 1 0 0]
>> >
>> > to return
>> >
>> > [0 1 0 0 0 0 0 0 1]
>> > [0 0 1 0 0 1 1 0 0]
>> >
>> > I'm sure that it must be pretty trivial. It's just that I haven't worked
>> > out
>> > how as yet.
>> >
>> > Any pointers in the right direction would be greatly appreciated.
>> >
>> >
>> > Kevin.
>> >
>> >
>
>