Hi Steven,
I guess my google was broke, can't believe I missed that. Thanks!
I fixed the code I had posted above, which was quick, but wrong.
I have compared the speed of my corrected code with the inv function on
the ZField type provided by the IntModN module and there is a significant
difference in speed.
For a 319x319 matrix with entries in Z/2Z,
The code I posted takes approximately 0.24 seconds, where using the inv
function takes about 8.3 seconds.
I then used the zfield{2,Uint8} type in my function, and it took
approximately 2 seconds to calculate the inverse. Not sure what is going
on, but it has piqued my interest.
Also for what it is worth my application is coding theory, and I am working
on implementing an encoder for LDPC codes.
Thanks,
Jason
On Tuesday, August 11, 2015 at 12:59:16 PM UTC-10, Steven G. Johnson wrote:
> Jason, if you just create a new type representing integers mod N, with the
> appropriate arithemetic operations defined for it, then if you make a
> matrix of these numbers the built-in matrix operations work. In fact, this
> has already been done; see:
>
> https://github.com/andrewcooke/IntModN.jl
>