i wish i could *any* write code with no effort.
On Friday, 21 February 2014 10:07:35 UTC-3, Alan Edelman wrote: > > It would take no effort to write a GE for GF2 and even a GE that > is mathematically correct for all fields, stability aside. > > A few thoughts to mull over: > > 1) for GF2 one would pivot on non-zero > as there is no stability issue. For reals, we pivot to largest to avoid > round-off. > > 2) For GF2, it's not clear to me that blocking would gain speed, > while for reals, one key value of lapack is getting BLAS3 speeds > for gaussian elimination through blocking > > > > > > > > > > > On Friday, February 21, 2014 6:56:45 AM UTC-5, andrew cooke wrote: >> >> 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]>: >>> >>>> 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]> 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]> >>>>> 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 >>> >>
