"Source: Text/Geometry/Lseries.text";
"Line: 3234";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Geometry/Lseries.text, line: 3234
// Example: H139E41 ()
print "Example: H139E41";
ei := GetEchoInput();
SetEchoInput(true);
//no-test
function DedekindZeta(K)
  M := MaximalOrder(K);
  r1,r2 := Signature(K);
  gamma := [0: k in [1..r1+r2]] cat [1: k in [1..r2]];
  disc := Abs(Discriminant(M));
  P<x> := PolynomialRing(Integers());
  cf := func<p,d|&*[1-x^Degree(k[1]): k in Decomposition(M,p)]>;
  h := #ClassGroup(M);
  reg := Regulator(K);
  mu := #TorsionSubgroup(UnitGroup(M));
  return LSeries(1, gamma, disc, cf: Parent:=K, Sign:=1, Poles:=[1],
    Residues := [-2^(r1+r2)*Pi(RealField())^(r2/2)*reg*h/mu]);
end function;
Z := DedekindZeta(CyclotomicField(5)); Z;
Evaluate(Z,1);
L := Z/RiemannZeta();
Evaluate(L,1);
SetEchoInput(ei);
