"Source: Text/Algebra/AlgQuat.text";
"Line: 315";
"Date: Thu Sep 25 14:47:46 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Algebra/AlgQuat.text, line: 315
// Example: H95E4 ()
print "Example: H95E4";
ei := GetEchoInput();
SetEchoInput(true);
A<i,j,k> := QuaternionAlgebra(-7,-47,1);
PQ<x> := PolynomialRing(RationalField());
MinimalPolynomial(i);      
MinimalPolynomial(j);
MinimalPolynomial(k);
i*j;
i*j eq -j*i;
assert not $1;
MinimalPolynomial(i*j-j*i);
Discriminant(A);
assert $1 eq 41;
RamifiedPrimes(A);
x := i;
y := j;
Norm(x*y-y*x);
assert $1 eq 82;
Factorization(82);
x := i-k;
y := i+j+k;    
Norm(x*y-y*x);                
assert $1 eq 1640;
Factorization(1640);
KroneckerSymbol(-7,2), KroneckerSymbol(-47,2), KroneckerSymbol(-95,2);
KroneckerSymbol(-7,41), KroneckerSymbol(-47,41), KroneckerSymbol(-95,41);
SetEchoInput(ei);
