Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
Function: algcharpoly Section: algebras C-Name: algcharpoly Prototype: GGDnD0,L, Help: algcharpoly(al,b,{v='x},{abs=0}): (reduced) characteristic polynomial of b in al, with respect to the variable v. Doc: Given an element $b$ in \var{al}, returns its characteristic polynomial as a polynomial in the variable $v$. If \var{al} is a table algebra output by \tet{algtableinit} or if $abs=1$, returns the absolute characteristic polynomial of \var{b}, which is an element of $\F_p[v]$ or~$\Q[v]$; if \var{al} is a central simple algebra output by \tet{alginit} and $abs=0$, returns the reduced characteristic polynomial of \var{b}, which is an element of~$K[v]$ where~$K$ is the center of \var{al}. \bprog ? al = alginit(nfinit(y), [-1,-1]); \\ (-1,-1)_Q ? algcharpoly(al, [0,1]~) %2 = x^2 + 1 ? algcharpoly(al, [0,1]~,,1) %3 = x^4 + 2*x^2 + 1 ? nf = nfinit(y^2-5); ? al = alginit(nf,[-1,y]); ? a = [y,1+x]~*Mod(1,y^2-5)*Mod(1,x^2+1); ? P = lift(algcharpoly(al,a)) %7 = x^2 - 2*y*x + (-2*y + 5) ? algcharpoly(al,a,,1) %8 = x^8 - 20*x^6 - 80*x^5 + 110*x^4 + 800*x^3 + 1500*x^2 - 400*x + 25 ? lift(P*subst(P,y,-y)*Mod(1,y^2-5))^2 %9 = x^8 - 20*x^6 - 80*x^5 + 110*x^4 + 800*x^3 + 1500*x^2 - 400*x + 25 @eprog Also accepts a square matrix with coefficients in \var{al}.