"Source: Text/Ring/Char.text";
"Line: 1119";
"Date: Fri Sep 26 12:10:11 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Ring/Char.text, line: 1119
// Example: H43E12 ()
print "Example: H43E12";
ei := GetEchoInput();
SetEchoInput(true);
K<s> := QuadraticField(-23); // class number 3
I := 1*IntegerRing(K);
HG := HeckeCharacterGroup(I, []);
GR := Grossencharacter(HG.0, [[2,0]]); // of oo-type (2,0)
Evaluate(LSeries(GR), 2); // value at edge of critical strip
Evaluate(LSeries(GR*HG.1), 2); // twist by nontrivial Hecke char
Evaluate(LSeries(GR*HG.1^2), 2);
SetDefaultRealFieldPrecision(100);
e1 := Evaluate(LSeries(GR : Precision:=100), 2);
e2 := Evaluate(LSeries(GR*HG.1 : Precision:=100), 2);
e3 := Evaluate(LSeries(GR*HG.1^2 : Precision:=100), 2);
GAMMA := [Gamma(i/23) : i in [1..22]];
A := GAMMA cat [3,23,Pi(RealField())] cat [e1,e2,e3];
LOGS := [ComplexField()!Log(x) : x in A];
IntegerRelation(LOGS);
&*[ GAMMA[i]^(2*(DirichletGroup(23).1)(i)) : i in [1..22] ];
3^2 * 23^7 / Pi(RealField())^6 * (e1*e2*e3)^2;
SetEchoInput(ei);
