bridge/class-master/depend/pari/src/modules/algebras.c
/* ss : known to be semisimple */
ss : known to be semisimple
ss : known to be semisimple
int
algissimple(GEN al, long ss)
{
  pari_sp av = avma;
  GEN Z, dec, p;
  checkalg(al);
  if (alg_type(al) != al_TABLE) return 1;
  if (!ss && !algissemisimple(al)) return 0;
  p = alg_get_char(al);
  if (signe(p)) Z = algprimesubalg(al);
  else          Z = algtablecenter(al);
  if (lg(Z) == 2) {
    avma = av;
    return 1;
  }
  dec = alg_decompose(al, Z, 1, NULL);
  avma = av;
  return gequal0(dec);
}
int algissimple ( GEN al , long ss ) { pari_sp av = avma ; GEN Z , dec , p ; checkalg ( al ) ; if ( alg_type ( al ) != al_TABLE ) return 1 ; if ( ! ss && ! algissemisimple ( al ) ) return 0 ; p = alg_get_char ( al ) ; if ( signe ( p ) ) Z = algprimesubalg ( al ) ; else Z = algtablecenter ( al ) ; if ( lg ( Z ) == 2 ) { avma = av ; return 1 ; } dec = alg_decompose ( al , Z , 1 , NULL ) ; avma = av ; return gequal0 ( dec ) ; }
ss : known to be semisimple
ss : known to be semisimple
/* dim Z = 1 */