[Math] Introduction to L-series and Dirichlet characters

algebraic-number-theorycharactersdirichlet-seriesnt.number-theorytextbook-recommendation

I'm looking for an introductory text on Dirichlet characters and the L-series of a field K, specifically for quartic extensions of $\mathbb{Q}$. I have Davenport's Multiplicative Number Theory, Ireland/Rosen, Marcus' Number Fields, and Washington's Cyclotomic Fields, but things seem to be scattered and I was hoping for more concrete examples. Does anyone have any suggestions? This graduate student would appreciate any ideas you have!

Thanks!

Best Answer

As suggested by others, the books by Apostol, Marcus, Washington, Neukirch, Frohlich and Taylor, should do a good job covering the theory, and some examples. But if you want explicit examples, you will probably have to work those out yourself (as pointed out by KConrad). Use Sage!

You can download Sage for free at www.sagemath.org

The functions specific to Number Fields are listed here:

http://www.sagemath.org/doc/reference/sage/rings/number_field/number_field.html

Look also here for extended functionality:

http://www.sagemath.org/doc/reference/lfunctions.html

In particular, if K is a number field, K.zeta_function() is the Dedekind zeta function of K and K.zeta_coefficients(n) returns the first n coefficients of the Dedekind zeta function of this field as a Dirichlet series.

Here is an example of code to compute values of the Dedekind zeta function for a biquadratic field:

P.<x>=PolynomialRing(Integers());

K.<k>=NumberField([x^2+1,x^2-5]);

F.<f> = K.absolute_field();

Z=F.zeta_function();

Then

Z(1.0000000000001) returns 4.74937139529845e12, since there is a simple pole at $s=1$, and F.zeta_coefficients(100) returns

[1, 0, 0, 1, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3]

You can also try Z.taylor_series(a,k) to obtain the first k coefficients of the Taylor series for Z(z) around z=a. In this case, Z.taylor_series(2,10) returns

1.20029545506816 - 0.392371605671893*z + 0.466197993407214*z^2 - 0.476088948200672*z^3 + 0.474236081878810*z^4 - 0.473954466352746*z^5 + 0.474527990929374*z^6 - 0.474871501779465*z^7 + 0.474954910327522*z^8 - 0.474952153099398*z^9 + O(z^10)

Edit to add: You may also want to check that the analytic class number formula works:

RR = Reals();

2^(F.signature()[0])*(2*RR(pi))^(F.signature()[1])*F.class_number()*F.regulator()/(len(F.roots_of_unity())*sqrt(F.discriminant()))

returns 0.474937034646450

and Z(1.00000000000001)*(1.00000000000001 - 1) = 0.474935594750836 ... close enough!

Related Question