Bill Allombert on Tue, 14 Jan 2014 11:48:29 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: new FFM_mul (and FlxqM_mul, FqM_mul, ...) |
On Mon, Jan 13, 2014 at 09:28:30PM +0000, Bruin, Pieter wrote: > Bill Allombert <Bill.Allombert@math.u-bordeaux.fr> wrote: > > >> I wonder if it would be worthwhile to implement > >> gen_matmut()/gen_matcolmut() in term of the bb_field interface and > >> uses it instead of duplicating the code. > > > > What I meant was to add a function gen_matmul() similar to gen_ker(): > > > > GEN > > gen_matmul(GEN x, GEN y, void *E, const struct bb_field *ff) > > { > > ... > > } > > And define > > > > FlxqM_mul(GEN x, GEN y, GEN T, ulong p) > > { > > void *E; > > const struct bb_field *ff=get_Flxq_field(&E,T,p); > > return gen_matmul(x,y, E, ff); > > } > > The more I think about it, the more I actually prefer this approach to > the code duplication in my patch, so if you want to do it in this way, > I'll certainly be happy with that. Yes. Would you provide a patch for gen_matmul? > > Relatedly, I have created a branch bill-FpM_powu, which > > adds the functions FpM_powu, Flm_powu, F2m_pow. > > That looks good, and I guess it will be very easy to add those functions > for non-prime finite fields, too... We could even write a gen_matpow function (and gen_matpowers). Do you know how to compute the square of a matrix faster than by using M*M ? Cheers, Bill.