Function: algskolemnoether
Section: algebras
C-Name: algskolemnoether
Prototype: GGG
Help: algskolemnoether(al,a,fa): inner automorphism of central simple algebra
 al that induces a -> fa.
Doc: Given a central simple algebra \var{al} over a number field~$K$, output by
 \tet{alginit}, and \typ{VEC}s $a = [a_1,\dots,a_m]$ (or a single element~$a_1$)
 and $fa = [fa_1,\dots fa_m]$ (or a single element~$fa_1$) that define a
 $K$-algebra homomorphism~$f\colon A\to A$ where~$A$ is the $K$-algebra
 generated by~$a$, returns an invertible element~$b$ in~\var{al} whose
 corresponding inner automorphism induces~$f$, i.e. such that~$fa_i = b a_i
 b^{-1}$ for all~$i$. The function assumes that such an element~$b$ exists,
 which is guaranteed if~$A$ is simple by the Skolem--Noether theorem.
 \bprog
 ? al = alginit(nfinit(y^2-2),[-2,-3-y]);
 ? u = [0..7]~; \\ generates a field in al
 ? fu = alginvol(al,u); \\ quaternion conjugation -> automorphism of K(u)
 ? g = algskolemnoether(al,u,fu);
 ? algisinv(al,g)
 % = 1
 ? algmul(al,g,u) == algmul(al,fu,g) \\ g*u == fu*g
 % = 1
 @eprog
