that's it exactly. thanks!
On Friday, 21 February 2014 08:09:27 UTC-3, Andreas Noack Jensen wrote: > > Bitstypes and algebra are not my home ground, but the lufact that Tim > references is supposed to work generically and I think it does. Have a look > at > > https://gist.github.com/andreasnoackjensen/9132511 > > I am not sure the algebra is right. The important thing for lufact is that > that the type is closed under /. Therefore I use rationals over GF(2). > Maybe it is better just to define / for GF2. > > > 2014-02-21 4:11 GMT+01:00 Stefan Karpinski <[email protected]<javascript:> > >: > >> Yes, it's entirely possible that his might work for matrices over finite >> fields. If not, we should see if we can modify it so that it does work. >> >> >> On Thu, Feb 20, 2014 at 10:02 PM, Tim Holy <[email protected]<javascript:> >> > wrote: >> >>> 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]<javascript:>> >>> 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? >>> >> >> > > > -- > Med venlig hilsen > > Andreas Noack Jensen >
