It's not Gaussian elimination (it's better!), but aren't these relevant?
https://github.com/JuliaLang/julia/pull/5381
https://github.com/JuliaLang/julia/pull/5430

--Tim

On Thursday, February 20, 2014 09:12:51 PM Stefan Karpinski wrote:
> We ought to have a generic Gaussian elimination algorithm and making sure
> that it can be used for finite fields is a good test of its generality.
> This is definitely the kind of thing that can be more reasonably in Julia
> than in many other systems. The big difference is that while in this
> particular case you may have to write Gaussian elimination, at least the
> next person with their own integer matrix type won't.
> 
> On Thu, Feb 20, 2014 at 7:29 PM, andrew cooke <[email protected]> wrote:
> > Indeed, but then I need to provide my own implementation.  I was hoping
> > (navely in retrospect, since everyone else wants fast rather than generic
> > code) that I could call generic code for "matrix division" with a new
> > numerical type and it would "just work".
> > 
> > I think this is still the best approach - but I need to write that code
> > (Gaussian elimination) myself, in a generic way, then define my new
> > numeric
> > type, then call it.
> > 
> > Which is much more work than I had hoped.
> > 
> > Cheers,
> > Andrew
> > 
> > On Thursday, 20 February 2014 21:14:38 UTC-3, Patrick O'Leary wrote:
> >> You can redefine the \ operator for your type to not do this.
> >> 
> >> On Thursday, February 20, 2014 6:08:31 PM UTC-6, andrew cooke wrote:
> >>> While I still don't see a problem with the theory side of this, there is
> >>> a practical problem - Gaussian Elimination in Julia seems to be
> >>> delegated
> >>> to LAPACK and arguments are promoted to Float:
> >>> 
> >>> julia> [1 0; 0 1] \ [1, 2]
> >>> 
> >>> 2-element Array{Float64,1}:
> >>>  1.0
> >>>  2.0
> >>> 
> >>> Andrew
> >>> 
> >>> On Thursday, 20 February 2014 19:45:28 UTC-3, andrew cooke wrote:
> >>>> A broad and a narrow question...
> >>>> 
> >>>> If Julia supports the definition of new integer types can I define a
> >>>> new type for a finite field and then use existing linear algebra
> >>>> libraries
> >>>> to do maths with them?  Could I define an integer type for polynomials?
> >>>>  Is
> >>>> this the kind of thing that would work in theory but not in practice? 
> >>>> Has
> >>>> anyone done this?
> >>>> 
> >>>> Specifically, I need to solve a problem modulo 2 (GF(2) - addition and
> >>>> subtraction are XOR; multiplication is AND; division is trivial).  I
> >>>> was
> >>>> about to write my own Gaussian Elimination and then remembered a
> >>>> comment
> >>>> from here saying Julia is the first language where you can define new
> >>>> integers...
> >>>> 
> >>>> Am I talking rubbish?  I'm not a mathematician, so I may be completely
> >>>> muddled anyway.
> >>>> 
> >>>> Thanks,
> >>>> Andrew
> >>>> 
> >>>> PS I guess for best speed I should use a Uint for my 0s and 1s?
> >>>> Assuming the problem is small enough that it will still fit in cache?

Reply via email to