Dear PARI developers,
I created a git branch 'bill-bb_field' for an attempt toward generic linear algebra.
Please use --patience as in
git show --patience origin/bill-bb_field
to see it otherwise the diff is unreadable.
It creates a black box field object:
struct bb_field
{
GEN (*red)(void *E ,GEN);
GEN (*add)(void *E ,GEN, GEN);
GEN (*mul)(void *E ,GEN, GEN);
GEN (*neg)(void *E ,GEN);
GEN (*inv)(void *E ,GEN);
int (*equal0)(GEN);
GEN (*s)(void *E, long);
};
this is used for linear algebra over Fp, Fq and Flxq.
This is not entirely satisfactory (there is still too much boilerplate code).
Maybe this could also be used by FpX_divrem etc.
Cheers,
Bill.