bridge/class-master/depend/pari/src/modules/algebras.c
/* left multiplication table on integral basis */
left multiplication table on integral basis
left multiplication table on integral basis
static GEN
algleftmultable(GEN al, GEN x)
{
  pari_sp av = avma;
  long tx;
  GEN res;
  checkalg(al);
  tx = alg_model(al,x);
  switch(tx) {
    case al_TRIVIAL : res = mkmatcopy(mkcol(gel(x,1))); break;
    case al_ALGEBRAIC : x = algalgtobasis(al,x);
    case al_BASIS : res = algbasismultable(al,x); break;
    case al_MATRIX : res = algleftmultable_mat(al,x); break;
    default : return NULL; 
  }
  return gerepileupto(av,res);
}
static GEN algleftmultable ( GEN al , GEN x ) { pari_sp av = avma ; long tx ; GEN res ; checkalg ( al ) ; tx = alg_model ( al , x ) ; switch ( tx ) { case al_TRIVIAL : res = mkmatcopy ( mkcol ( gel ( x , 1 ) ) ) ; break ; case al_ALGEBRAIC : x = algalgtobasis ( al , x ) ; case al_BASIS : res = algbasismultable ( al , x ) ; break ; case al_MATRIX : res = algleftmultable_mat ( al , x ) ; break ; default : return NULL ; } return gerepileupto ( av , res ) ; }
left multiplication table on integral basis
left multiplication table on integral basis
/* LCOV_EXCL_LINE */