Skip to main content
Ctrl+K

XlCalcNet Documentation

  • Preface

Getting started

  • Setup and general usage
    • Setting up XlCalcNet
    • General and user interface functions
    • Calling Python from C#
    • Using XlCalcNet with spreadsheet formulas
    • Mathematical functions based on Mpmath, Gmpy2 and Python-Flint (only Python)
    • Mathematical functions in fixed precision
    • Mathematical functions based on XlCalcNet2
    • A quick look at Numpy
    • A quick look at Matplotlib and related libraries
    • A quick look at Pandas and Xlxswriter
    • A quick look at Scipy
    • A quick look at R, RStudio and Rpy2
  • Basic floating point functions
    • Operator overloading, general real functions
    • Machine constants, general
    • Properties of numbers
    • Integer related functions
    • Floating point functions for real numbers
    • Fraction and remainder related functions
    • Functions related to mantissa width and exponent range
    • Mathematical Constants
  • Elementary scalar functions (real and complex)
    • Complex components
    • Roots and quadratic, cubic, and quartic equations
    • Exponential and related functions
    • Logarithms and related functions
    • Power functions
    • Trigonometric functions, in radians
    • Trigonometric functions, in multiples of \(\pi\)
    • Hyperbolic functions
    • Inverse trigonometric functions, in radians
    • Inverse hyperbolic functions
    • Factorials, Gamma and related functions
    • Miscellaneous functions
  • Statistical Distributions
    • Introduction to random variables and distributions
    • Base class for univariate distributions
    • Base class for continuous univariate distributions
    • Base class for discrete univariate distributions
    • Closed form distributions, based on elementary functions
      • Boost: Arcsine Distribution
      • Boost: Cauchy distribution
      • Boost: Exponential distribution
      • Boost: Gumbel (Generalized Extreme Value distribution Type-I) distribution
      • Boost: Hyperexponential Distribution
      • !!!Boost: Kumaraswamy distribution
      • Boost: Laplace distribution
      • Boost: Logistic distribution
      • Boost: Pareto distribution
      • Boost: Rayleigh distribution
      • Boost: Triangular Distribution
      • Boost: Uniform distribution
      • Boost: Weibull (Minimum-Type-III) distribution
      • Dagum (Burr Type III) distribution
      • Fisk (log-logistic) distribution
      • Fréchet (Maximum/Minimum-Type-II or Inverse Weibull) distribution
      • Generalized Extreme Value (Maximum) or GEV distribution
      • Generalized Pareto distribution
      • Gompertz-Makeham distribution
      • Lomax distribution
      • Shifted Gompertz distribution
      • Singh-Maddala (Burr Type XII) distribution
    • Closed form distributions, based on the error function
      • !!!Boost: Lévy distribution
      • Boost: Lognormal (Johnson \(S_L\)) distribution
      • !!!Boost: Moyal Distribution
      • Boost: Normal (Johnson \(S_N\)) distribution
      • Boost: Skew normal Distribution
      • Boost: Wald (or Inverse Gaussian) distribution
      • Birnbaum-Saunders Distribution
      • Exponentially Modified Gaussian (EMG) distribution
      • Folded normal distribution
      • Half-normal distribution
      • Johnson \(S_B\) distribution
      • Johnson \(S_U\) distribution
      • Normal maximum distribution, \(\rho_{ij, i \ne j} = 0\)
      • Normal maximum modulus distribution, \(\rho_{ij, i \ne j} = 0\)
      • Sinh-arcsinh normal distribution
      • Truncated normal distribution
    • Closed form distributions, based on the incomplete gamma function
      • !!!Boost: Chi Distribution
      • Boost: Chi-Squared distribution
      • Boost: Gamma (Pearson Type III, Erlang) distribution
      • Boost: Inverse chisquared distribution
      • Boost: Inverse Gamma (Pearson Type V) distribution
      • !!!Boost: Maxwell Distribution
      • !!!Boost: Nakagami distribution
      • Amoroso distribution
      • Distribution of the logarithm of a \(\chi^2\) random variable
      • Hypoexponential (Generalized Erlang) Distribution
      • Lindley distribution (generalized)
      • Skew exponential power distribution
      • Stacy (generalized gamma) distribution
    • Closed form distributions, based on the incomplete beta function
      • Boost: Beta (Pearson Type I and II) distribution
      • Boost: Central Fisher F distribution
      • Boost: Student \(t\) (Pearson Type VII) distribution
      • Distribution of the negative logarithm of a beta variable
      • Beta-prime (Pearson Type VI) distribution
      • Generalized Beta (Type 1) distribution
      • Generalized Beta (Type 2) distribution
      • Generalized logistic distribution (JKB Types I - IV)
      • Generalized beta-exponential distribution
      • Feller-Pareto distribution
      • Fisher \(z\) distribution
      • Skew t-distribution (Jones)
      • Pearson’s rho distribution (under \(H_0\))
    • Noncentral distributions
      • Boost: Noncentral \(\chi^2\) distribution
      • Boost: Noncentral Student \(t\) distribution
      • Boost: Noncentral Fisher \(F\) distribution
      • Boost: Noncentral Beta Type I distribution
      • Noncentral Chi distribution
      • Rice (Nakagami-n) distribution
      • Noncentral distribution of the sample correlation coefficient
      • Distribution of the logarithm of a noncentral Beta Type II variable
      • Noncentral distribution (Type I) of Fisher’s \(R^2\)
      • Distribution of the logarithm of a noncentral Fisher \(1-R^2\) variable
      • Doubly non-central Student \(t\) distribution
      • Doubly non-central Fisher \(F\) distribution
    • Distributions related to multiple comparisons of means
      • Overview and literature
      • Normal maximum distribution, \(\rho_{ij, i \ne j} = \rho\)
      • Normal maximum modulus distribution, \(\rho_{ij, i \ne j} = \rho\)
      • Normal maximum distribution, \(\rho_{ij, i \ne j} = \lambda_i \lambda_j\)
      • Normal maximum modulus distribution, \(\rho_{ij, i \ne j} = \lambda_i \lambda_j\)
      • Normal range distribution
      • Studentized maximum distribution
      • Studentized maximum modulus distribution
      • Distribution of Dunnett’s \(t\), one-sided
      • Distribution of Dunnett’s \(t\), two-sided
      • Nair’s \(t\)-distribution
      • Halperin’s \(t\)-distribution
      • Nelson’s \(h\)-distribution
      • Studentized range distribution
    • Distributions related to multivariate statistical analysis
      • Distribution of the sum of the negative logarithms of independent beta variables
      • Distribution of the product of independent beta variables
      • Distribution of Wilks’ \(\Lambda\)
      • Distribution of Wilks’ \(L_{vc}\)
      • Distribution of Wilks’ \(L_{vcm}\)
      • Distribution of Wilks’ test of independence of \(p\) variates
      • Distribution of Wilks’ test of independence of \(k\) groups of variates
      • Distribution of Mauchly’s test of sphericity vs general structure
      • Distribution of Box’s test of equality of covariance matrices, equal sample sizes
      • Distribution of Box’s test of equality of k covariance matrices, unequal sample sizes
      • Distribution of Box’s test for same multivariate normal distributions, unequal sample sizes
      • Distribution of the modified likelihood ratio test (LRT) for a given covariance matrix
      • Distribution of the modified likelihood ratio test (LRT) for a given covariance matrix and mean vector
      • Central distribution of Roy’s largest root
      • Central distribution of Pillai’s \(V\)
      • Central distribution of Hotelling’s \(T^2\)
      • Noncentral Distribution of Wilks’ \(\Lambda\): MANOVA
      • Noncentral Distribution of Wilks’ \(\Lambda\): Canonical Correlation
    • Miscellaneous continuous distributions
      • Boost: Kolmogorov-Smirnov distribution (limiting form)
      • Boost: Landau Distribution
      • Boost: Holtsmark distribution
      • Boost: Map-Airy distribution
      • Boost: Saspoint5 distribution
      • Lévy alpha-stable distribution
      • Pearson Type IV distribution
      • Meixner distribution
      • Voigt Profile Distribution
      • Wrapped Cauchy distribution
      • Wrapped normal distribution
      • Von Mises distribution
      • Generalized inverse Gaussian distribution
      • Harmonic distribution
      • Halphen A distribution
      • Halphen B distribution
      • Halphen IB distribution
      • Generalized hyperbolic distribution
      • Hyperbolic distribution
      • Variance-gamma distribution
    • Elementary discrete (lattice) distributions
      • Boost: Bernoulli distribution
      • Boost: Geometric distribution
      • Boost: Poisson distribution
      • Boost: Binomial distribution
      • Boost: Negative binomial distribution
      • Boost: Classical hypergeometric distribution
      • Log-series distribution
      • Zeta distribution
      • Skellam distribution
      • Delaporte distribution
      • Beta-Poisson distribution (Quinkert)
      • Beta-binomial distribution
      • Beta-negative binomial distribution (Waring)
      • Negative hypergeometric distribution
      • Pólya-Eggenberger distribution
      • General hypergeometric distribution
      • Noncentral hypergeometric distribution, Fisher alternatives
    • Discrete (lattice) distributions related to (stratified) rank tests
      • Wilcoxon signed rank T distribution, continuous data
      • Noncentral Wilcoxon signed rank T distribution, Bennett alternatives
      • Mann-Whitney U distribution, continuous data
      • Noncentral Mann-Whitney U distribution, Lehmann alternatives
      • Noncentral Mann-Whitney U distribution, Milton alternatives
      • Kendall’s tau distribution, continuous data
      • Jonckheere-Terpsta \(T\) distribution, continuous data
      • Generalized Page \(L\) distribution, continuous data
      • Noncentral generalized Page \(L\) distribution, Milton alternatives
    • Discrete (non-lattice) distributions related to rank tests
      • Cochran-Friedman-Quade distribution
      • Kruskal-Wallis distribution
  • Numerical calculus
    • Introduction
    • DAMath: Numerical Rootfinding and Minimization
    • Boost/Math: Root Finding and Minimization Algorithms
    • Mpmath: Rootfinding and optimization
    • DAMath: Numerical Quadrature
    • Boost/Math: Numerical integration
    • Mpmath: Numerical integration
    • Mpmath: Numerical inverse Laplace transform
    • Boost/Odeint: Ordinary differential equations
    • Mpmath: Numerical differentiation
    • Mpmath: Asymptotic expansions
    • Mpmath: Function approximation
    • Mpmath: Sums, products, limits and extrapolation
    • Mpmath: Number identification
    • Mpmath: Polynomials
    • Eigen: Polynomials
    • Eigen/MinPack: non linear optimization
    • Eigen/CppOptLib: multidimensional optimization
    • Flint/Functions for polynomials
    • Flint/Power series and Taylor arithmetic
    • Flint/Verified numerical differentiation
    • Flint/Verified numerical integration
  • Eigen: Dense and Sparse Matrices
    • Creating scalars and matrices
    • Read-only properties: information about a matrix
    • Accessing and setting parts of a matrix
    • Changing the shape of a matrix and/or the order of coefficients
    • Basic arithmetic operations
    • Descriptive Statistics
    • Standard decompositions and linear solving
    • Singular Value and Eigen (selfadjoint) decompositions
    • Eigen decompositions of general square matrices
    • Eigen: Functions of matrix argument
    • Eigen: Fast Fourier Transform
  • Numpy: use with multiprecision data types
    • Numpy array creation from shape or value
    • Numpy array creation from existing data
    • Building special arrays for numerical work
    • Numpy indexing
    • Numpy basic array manipulation routines
    • Numpy array manipulation: Transpose-like operations
    • Numpy array manipulation: Changing number of dimensions
    • Numpy array manipulation: Joining arrays
    • Numpy array manipulation: Splitting and tiling arrays
    • Numpy array manipulation: Adding and removing elements
    • Numpy array manipulation: Rearranging elements
    • Numpy array manipulation: Sorting
    • Numpy array manipulation: Searching
    • Numpy mathematical functions: Sums, products, differences
    • Numpy mathematical functions: Extrema Finding
    • Numpy mathematical functions: Arithmetic operations, elementwise
    • Numpy mathematical functions: Averages and variances
    • Numpy mathematical functions: Matrix and vector products
    • Numpy logical functions: Truth value testing
    • Numpy mathematical functions: Integer and fractional
    • Numpy mathematical functions: Miscellaneous
    • Summary and examples: Numpy utility functions
    • Arithmetic operations with scalars and iterables
    • Numerical transformations and descriptive statistics
    • Standard decompositions and linear solving
    • Singular Value and Eigen decompositions
    • Analytic functions of a matrix
    • Discrete Fourier transform (DFT)
    • Flint/Functions for matrices

Special Functions

  • Elliptic functions and related
    • Carlson symmetric elliptic integrals
    • Legendre elliptic integrals (elliptic parameter \(m\))
    • Legendre elliptic integrals (elliptic modulus \(k\)), and related functions
    • Jacobi elliptic functions
    • Jacobi theta functions and related functions
    • Conversions of parameters of Weierstrass \(\wp\)
    • Weierstrass elliptic functions, in terms of elliptic period ratio \(\tau\)
    • Modular forms, in terms of half-period \(\omega_1\) and elliptic period ratio \(\tau\)
  • Lerch’s phi and related
    • Lerch’s transcendent and Lerch’s zeta
    • Polygamma and related functions
    • Polylogarithm and related functions
    • Hurwitz zeta and related functions
    • Riemann zeta function, and related functions
  • Hypergeometric function \(\,_0F_1\) and related
    • Hypergeometric Limit Function \(\,_0F_1\)
    • Bessel functions
    • Modified Bessel functions
    • Spherical Bessel functions
    • Modified spherical Bessel functions
    • Hankel functions
    • Airy functions
    • Kelvin functions
  • Hypergeometric function \(\,_1F_1\) and related
    • Hypergeometric Functions \(\,_1F_1\) (Kummer) and \(U\) (Tricomi)
    • Incomplete gamma functions
    • Coulomb, Whittaker and parabolic cylinder function
    • Error function and related functions
    • Exponential integrals, and related functions
  • Hypergeometric functions \(\,_2F_1\) and \(\,_1F_2\) (and related functions)
    • Gauss Hypergeometric Function \(\,_2F_1\)
    • Chebyshev, Gegenbauer and Jacobi polynomials
    • Legendre polynomials and related
    • Incomplete beta functions
    • Hypergeometric function \({}_1F_2\)
    • Scorer functions
    • Struve functions
    • Anger, Weber and Lommel functions

Supporting Functions

  • Algebra with random variables
    • Probability density function (pdf)
    • Probability mass function (pmf)
    • Cumulative distribution function (cdf)
    • Quantile function
    • Characteristic function
    • Moment generating function
    • Cumulant generating function
    • Probability generating function
    • Factorial Moments
    • Raw Moments
    • Central Moments
    • Cumulants
  • Series and integrals
    • Finite series algorithms for selected distributions
    • Infinite series algorithms for selected functions and distributions
    • Finite series for lattice distributions, based on factorial moments
    • Efficient integration of bell-shaped functions
    • Verified numerical integration
  • Pmf vectors
    • Basic discrete (lattice) distribution functions
    • Discrete (lattice) distribution functions related to (stratified) rank tests
    • Discrete (non-lattice) distribution functions related to rank tests
  • Fast approximations
    • Approximations based on the normal distribution
    • Approximations based on the chi-squared distribution
    • Approximations based on the central \(t\), \(F\) or beta distribution
    • Approximations based on the noncentral chi-squared distribution
    • Approximations based on the noncentral F or beta distribution
    • Approximations based on hypergeometric functions of scalar argument

Gallery of Plots

  • Visualisation of datasets
    • Bar Charts
    • Line and lollipop charts
    • Area Plots
    • Boxplot, Violinplot and Raincloud plot
    • Correlation and regression
    • Financial plots (requires mplfinance)
    • Geographic data (requires cartopy)
    • Geographic data (requires geopandas)
    • Parts of a whole
    • Arcplots, dendrograms, heatmaps and clustermaps
    • PlotTable
    • Flow and connections
    • Circular plots and flows
    • Network data (requires networkx)
  • Visualisation of functions and curves (2D)
    • Introduction to 2D functions and curves
    • Basic curves
    • Spirals
    • Decorative curves
    • General curve families
    • Field lines
    • Contours
    • Complex functions rendered as contours
    • Streams, barbs and quivers (some require cartopy)
  • Bitmaps
    • Fractals: introduction
    • Fractals related to the Mandelbrot set
    • Fractals related to the Julia set
    • Newton Fractals
    • Domain coloring options
    • Domain coloring: Examples part 1
  • Matplotlib 3D Graphics
    • Introduction
    • Matplotlib: 3D Graphics, part 2
    • S3dlib: Basic geometric figures
    • S3dlib: Real functions
    • S3dlib: Parametric Surfaces
    • S3dlib: Image mapping and clipping
    • S3dlib: Edge-to-edge surface coloring
    • S3dlib: Decorative parametric surfaces
    • S3dlib: Geometric and color datagrid mapping (requires scipy)
    • S3dlib: Implicit surfaces (requires scikit-image)
  • Plotly
    • General surface plots in 3D
    • Geographical plots
    • Sankey plots

Interactive 3D Wpf Plots

  • Wpf: Altitude surfaces in 3D, real and complex functions
    • Special techniques for height surfaces, real and complex functions
    • Scatterplots and building 3D scenes
    • Height plots of general bivariate real functions
  • Wpf: Parametric surfaces
    • Surfaces of translation
    • Surfaces of revolution: spheres and related
    • Generalisations of common surfaces
    • Minimal surfaces
    • Nonorientable (one-sided) Surfaces
    • Decorative parametric surfaces
  • Wpf: Path surfaces in 3D
    • Introduction to path surfaces
    • Functions with real input and complex results
    • Characteristic functions of statistical distributions
    • Helices and related curves traced on cylinders, cones and spheres
    • Coil springs
    • General knots
    • Torus knots
    • Lissajous knots
    • Polynomial knots
  • Wpf: Built-in 3D objects
    • Builtin solids with support for textures
    • Builtin solids without support for textures
    • Platonic solids, and related solids

User library: numerical

  • Additional Classes
    • User defined functions based on multiple precision arithmetic (Python)
    • User defined functions based on fixed precision arithmetic (C#)
    • User defined functions based on arbitrary precision arithmetic (C#)
    • Scalar functions
  • Distribution functions
    • Distributions related to multiple comparisons of means
    • Discrete (lattice) distribution functions related to (stratified) rank tests
    • Discrete (non-lattice) distribution functions related to rank tests
  • Inferential statistics
    • Basic classical statistical tests (stratified)
    • Basic classical statistical tests for 2 independent samples (stratified)
    • Basic classical statistical tests for 2 correlated samples (stratified)
    • Analysis of variance (ANOVA), orthogonal polynomials, and analysis of means (AOM)
    • Multiple comparisons of means
    • Nonparametric statistical tests, 1 or 2 samples
    • Nonparametric statistical tests, k samples
    • Multivariate statistical tests
  • Addditional elementary functions (real arguments, double precision)
    • Additional root, exponential, logarithmic and power functions
    • Additional Trigonometric functions (real arguments only)
    • Additional real error functions (real arguments only)
    • Additional real gamma functions (real arguments only)
    • Additional real incomplete gamma functions (real arguments only)
  • Addditional special functions (real arguments, double precision)
    • Conversions of parameters of elliptic functions
    • Additional elliptic integrals
    • Bulirsch elliptic integrals
    • Maple style elliptic integrals
    • Jacobi theta functions at \(x=0\) for \(0 \le q <1\)
    • Inverse Jacobi elliptic functions
    • Lemniscate functions
    • Neville theta functions
    • Polygamma, and related functions
    • Polylogarithm, and related functions
    • Riemann zeta, and related functions
    • Bessel functions of integer order
    • Modified Bessel functions of integer order
    • Integrals of zero-order Bessel functions
    • Kelvin functions of order 0
    • Synchrotron functions
    • Error function, and related functions
    • Exponential integrals, and related functions
    • Coulomb, Whittaker and parabolic cylinder function
    • Hypergeometric pFq, and related functions
    • Miscellaneous functions
  • Addditional special functions (complex arguments, double precision)
    • Conversions of parameters of Weierstrass \(\wp\)
    • Weierstrass elliptic functions, in terms of (real) lattice invariants \(g_2, g_3\)
    • Weierstrass elliptic functions, in terms of (real) lattice roots \(e_1, e_2\)
    • Weierstrass elliptic functions, in terms of lattice half-periods \(\omega_1\) and \(\omega_2\)
  • Addditional special functions (Mpmath)
    • Mpmath: Conversions of parameters of elliptic functions
    • Related to Lerch’s phi
    • Additional numbertheoretic functions
    • Generalized hypergeometric functions
    • Appell Functions
    • Q Functions
    • Further generalizations of gamma and hypergeometric functions

Back matter

  • License and History
    • Mozilla Public License Version 2.0
    • History

Indices

  • General Index
  • .rst

Riemann zeta function, and related functions

Contents

  • Riemann zeta function, \(\zeta(s)\)
    • ctx.zeta()
  • Riemann \(\zeta(s)-1\)
    • math53.zetam1()
  • Hardy (or Riemann-Siegel) theta function
    • mathc53.hardy_theta()
  • Hardy (or Riemann-Siegel) Z function
    • mathc53.hardy_z()
  • Riemann (Landau) function \(\xi(s)\)
    • ctxflint.riemann_xi()
  • Dirichlet eta function, \(\eta(s)\)
    • math53.dirichlet_eta()
  • Dirichlet \(\eta(s) - 1\)
    • math53.dirichlet_eta_m1()
  • Dirichlet beta function, \(\beta(s)\)
    • math53.dirichlet_beta()
  • Dirichlet lambda function, \(\lambda(s)\)
    • math53.dirichlet_lambda()
  • Zeros of the Riemann zeta function
    • ctxflint.zeta_zero()

Riemann zeta function, and related functions#

Riemann zeta function, \(\zeta(s)\)#

ctx.zeta(s)#

where ctx is math53, mathc53, ctxboost ctxflint.

Returns the Riemann zeta function, defined as \(\displaystyle \zeta(s) = \sum_{k=1}^{\infty} \frac{1}{k^s}\) for \(s>1\), and by analytic continuation for \(s \ne 1\).

See also Wikipedia [1440], MathWorld [1044], NIST [20], BoostMath [165], Ehrhardt [309] (3.6.1.1), Ehrhardt [309] (4.2.63), Flint [829], Mpmath [693].

This function calculates the Riemann zeta function \(\zeta(s)\) for \(s \neq 1\), defined by

\[\zeta(s) = \sum_{k=1}^\infty \frac{1}{k^s}, \quad s>1.\]

If \(s<0\), the reflection formula is used:

\[\zeta(s) = 2(2\pi)^{s-1} \sin\left(\tfrac{1}{2} \pi s\right) \Gamma(1-s) \zeta(1-s)\]

11a_TestZeta_re \(\quad\) 11b_TestZeta_im \(\quad\) 11c_TestZeta_abs

Left figure: real part of the Riemann zeta function, \(\zeta(s)\). Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

Middle figure: imaginary part of the Riemann zeta function, \(\zeta(s)\). Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

Right figure: absolute value of the Riemann zeta function, \(\zeta(s)\), with color-coded phase. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

An example in Python

>>> from xlcalcnet import xreal
>>> xreal.Zeta(1.5)
xreal('5.2359877559829887307E-1')
>>> xreal.Zeta('1.51')
xreal('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpr
>>> Gpr.Zeta(1.5)
Gpr('5.2359877559829887307E-1')
>>> Gpr.Zeta('1.51')
Gpr('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '1.5'
>>> \mathrm{d}x = dec.zeta(x); mx = mpm.zeta(x); gx = gmp.zeta(x)
>>> fx = fpm.zeta(x); ax = apm.zeta(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  2.612375348685488343348567567924071630571E+0
mpm:  2.612375348685488343348567567924071630571e+0
gmp:  2.612375348685488343348567567924071630571E+00
fpm:  2.61237534868549E+00
apm:  2.612375348685488343348567567924071630571e+0 (8.789e-40%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '5.0 + 3j'
>>> \mathrm{d}z = dec.zeta(z); mz = mpm.zeta(z); gz = gmp.zeta(z)
>>> fz = fpm.zeta(z); az = apm.zeta(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 9.8042867050578744177E-1             - 2.5411901380637479903E-2j
mpm: 9.8042867050578744177e-1             - 2.5411901380637479903e-2j
gmp: 9.8042867050578744177E-01            - 2.5411901380637479903E-02j
fpm: 9.80428670505787E-01                 - 2.54119013806375E-02j
apm: 9.8042867050578744177e-1 (4.32e-20%) - 2.5411901380637479903e-2 (-5.208e-20%)j

Riemann \(\zeta(s)-1\)#

math53.zetam1(s)#

Returns the Riemann function \(\zeta(s)-1\) for \(s \ne 1\). It is provided as separate routine because \(\zeta(s) \rightarrow 1\) for large \(s\), in fact \(\zeta(s) = 1\) to extended precision for \(s \ge 64\). The function returns \(\zeta(s)-1\) for \(s \le 2\), and \(2^{-s}\) if \(s \ge 120\), otherwise the result is computed as \(\displaystyle \zeta(s)-1 = \frac{1+(\eta(s)-1)2^{s-1}}{2^{s-1}-1}\).

See also Wikipedia [1440], MathWorld [1044], NIST [20], BoostMath [165], Ehrhardt [309] (3.6.1.4).

Returns the Riemann zeta function \(\zeta(s)-1\) for \(s \neq 1\). This is calculated using the Hurwitz zeta function (see NIST [18], equation 25.11.3):

\[\zeta(s, 1) - 1 = \zeta(s, 2)\]

An example in Python

>>> from xlcalcnet import xreal
>>> xreal.Zetam1(12)
xreal('5.2359877559829887307E-1')
>>> xreal.Zetam1('10.0001')
xreal('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpr
>>> Gpr.Zetam1(12)
Gpr('5.2359877559829887307E-1')
>>> Gpr.Zetam1('10.0001')
Gpr('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '26'
>>> \mathrm{d}x = dec.zetam1(x); mx = mpm.zetam1(x); gx = gmp.zetam1(x)
>>> fx = fpm.zetam1(x); ax = apm.zetam1(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  1.490155482836504123465850663069862886479E-8
mpm:  1.490155482836504123465850663069862886479e-8
gmp:  1.490155482836504123465850663069862886479E-08
fpm:  1.49015548283650E-08
apm:  1.490155482836504123465850663069862886479e-8 (1.148e-39%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '26.0 + 3j'
>>> \mathrm{d}z = dec.zetam1(z); mz = mpm.zetam1(z); gz = gmp.zetam1(z)
>>> fz = fpm.zetam1(z); az = apm.zetam1(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: -7.2571711804358415550E-9               - 1.3014689280327770930E-8j
mpm: -7.2571711804358415550e-9               - 1.3014689280327770930e-8j
gmp: -7.2571711804358415550E-09              - 1.3014689280327770930E-08j
fpm: -7.25717118043584E-09                   - 1.30146892803278E-08j
apm: -7.2571711804358415431e-9 (-4.348e-20%) - 1.3014689280327770920e-8 (-9.698e-20%)j

Hardy (or Riemann-Siegel) theta function#

mathc53.hardy_theta(z)#

Returns the Hardy (or Riemann-Siegel) theta function. See also Wikipedia [1475], MathWorld [1091], Ehrhardt [309] (4.2.52), Mpmath [733] Mpmath [744].

\[\theta(t) = \frac{ \log\Gamma\left(\frac{1+2it}{4}\right) - \log\Gamma\left(\frac{1-2it}{4}\right) }{2i} - \frac{\log \pi}{2} t.\]

12a_TestHardyTheta_re \(\quad\) 12b_TestHardyTheta_im \(\quad\) 12c_TestHardyTheta_abs

Left figure: real part of the Hardy (or Riemann-Siegel) theta function. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

Middle figure: imaginary part of the Hardy (or Riemann-Siegel) theta function. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

Right figure: absolute value of the Hardy (or Riemann-Siegel) theta function, with color-coded phase. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

An example in Python

>>> from xlcalcnet import XComplex
>>> XComplex.Rstheta(0.5)
XComplex('5.2359877559829887307E-1')
>>> XComplex.Rstheta('0.1')
XComplex('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpc
>>> Gpc.Rstheta(0.5)
Gpc('5.2359877559829887307E-1')
>>> Gpc.Rstheta('0.1')
Gpc('5.3518479027559984754E-1')

Hardy (or Riemann-Siegel) Z function#

mathc53.hardy_z(z)#

Returns the Hardy (or Riemann-Siegel) Z function. See also Wikipedia [1474], MathWorld [1092], NIST [14], Flint [833], Ehrhardt [309] (4.2.52), Mpmath [743].

\[Z(t) = e^{i \theta(t)} \zeta(1/2+it)\]

where \(\zeta(s)\) is the Riemann zeta function and \(\theta(t)\) denotes the Riemann-Siegel theta function.

This calls acb_dirichlet_hardy_z.

Computes the Z-function, also known as the Riemann-Siegel Z function,

\[Z(t) = e^{i \theta(t)} \zeta(1/2+it)\]

where \(\zeta(s)\) is the Riemann zeta function (zeta()) and where \(\theta(t)\) denotes the Riemann-Siegel theta function (see siegeltheta()).

13a_TestHardyZ_re \(\quad\) 13b_TestHardyZ_im \(\quad\) 13c_TestHardyZ_abs

Left figure: real part of the Hardy (or Riemann-Siegel) Z function. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

Middle figure: imaginary part of the Hardy (or Riemann-Siegel) Z function. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

Right figure: absolute value of the Hardy (or Riemann-Siegel) Z function, with color-coded phase. Camera angles are \(\theta=135^\circ\) and \(\phi = -12^\circ\), camera radius is -2.

An example in Python

>>> from xlcalcnet import XComplex
>>> XComplex.SiegelZ(0.5)
XComplex('5.2359877559829887307E-1')
>>> XComplex.SiegelZ('0.1')
XComplex('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpc
>>> Gpc.SiegelZ(0.5)
Gpc('5.2359877559829887307E-1')
>>> Gpc.SiegelZ('0.1')
Gpc('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '2.6'
>>> \mathrm{d}x = dec.siegelz(x); mx = mpm.siegelz(x); gx = gmp.siegelz(x)
>>> fx = fpm.siegelz(x); ax = apm.siegelz(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  -5.270127547934236224731698070416108808706E-1
mpm:  -5.270127547934236224731698070416108808706e-1
gmp:  -5.270127547934236224731698070416108808706E-01
fpm:  -5.27012754793424E-01
apm:  -5.270127547934236224731698070416108808706e-1 (-1.002e-37%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '2.6 + 3j'
>>> \mathrm{d}z = dec.siegelz(z); mz = mpm.siegelz(z); gz = gmp.siegelz(z)
>>> fz = fpm.siegelz(z); az = apm.siegelz(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: -2.8270067277806269605E-1               - 1.6028967412508714310E-1j
mpm: -2.8270067277806269605e-1               - 1.6028967412508714310e-1j
gmp: -2.8270067277806269605E-01              - 1.6028967412508714310E-01j
fpm: -2.82700672778063E-01                   - 1.60289674125087E-01j
apm: -2.8270067277806269605e-1 (-2.097e-18%) - 1.6028967412508714310e-1 (-4.228e-18%)j

Riemann (Landau) function \(\xi(s)\)#

ctxflint.riemann_xi(s)#

Returns the Riemann (Landau) function \(\xi(s)\). See also MathWorld [1089], Wikipedia [1461], Flint [828].

Landau’s lower-case \(\xi\) (“xi”) is defined as

\[\xi (s)={\frac {1}{2}}s(s-1)\pi ^{-s/2}\Gamma \left({\frac {s}{2}}\right)\zeta (s)\]

for \(s\in \mathbb {C}\). Here \(\zeta (s)\) denotes the Riemann zeta function and \(\Gamma (s)\) is the Gamma function. The functional equation (or reflection formula) for Landau’s \(\xi\) is

\[\xi (1-s)=\xi (s)\]

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '2.6'
>>> \mathrm{d}x = dec.riemann_xi(x); mx = mpm.riemann_xi(x); gx = gmp.riemann_xi(x)
>>> fx = fpm.riemann_xi(x); ax = apm.riemann_xi(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  5.502477451681679934572096474654698087218E-1
mpm:  5.502477451681679934572096474654698087218e-1
gmp:  5.502477451681679934572096474654698087218E-01
fpm:  5.50247745168168E-01
apm:  5.502477451681679934572096474654698087218e-1 (1.46e-38%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '2.6 + 3j'
>>> \mathrm{d}z = dec.riemann_xi(z); mz = mpm.riemann_xi(z); gz = gmp.riemann_xi(z)
>>> fz = fpm.riemann_xi(z); az = apm.riemann_xi(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 4.2915713107054790438E-1              + 1.2956749025413144593E-1j
mpm: 4.2915713107054790438e-1              + 1.2956749025413144593e-1j
gmp: 4.2915713107054790438E-01             + 1.2956749025413144593E-01j
fpm: 4.29157131070548E-01                  + 1.29567490254131E-01j
apm: 4.2915713107054790437e-1 (1.974e-18%) + 1.2956749025413144593e-1 (6.537e-18%)j

Dirichlet eta function, \(\eta(s)\)#

math53.dirichlet_eta(x)#

Returns the Dirichlet eta function, defined as \(\displaystyle \eta(s) = \sum_{k=0}^{\infty} \frac{(-1)^k}{k^s}\) for \(s>0\) and by analytic continuation for \(s \le 0\).

See also: MathWorld [1071], Ehrhardt [309] (3.6.3.1), Flint [828], Mpmath [735].

This function returns the Dirichlet function \(\eta(s)\), also known as the alternating zeta function, defined for \(s > 0\) as

\[\eta(s) = \sum_{n=1}^\infty \frac{(-1)^{n-1}}{n^s}\]

and by analytic continuation for \(s \leq 0\). The important relation to the Riemann zeta function is \(\eta(s) = (1 - 2^{1-s})\zeta(s)\), which is directly evaluated for \(s \leq -8\). In the range \(-8 < s < -\eta_\epsilon\) the reflection formula for \(\eta\) is used:

\[\eta(s) = \frac{2(1-2^{1-s} \Gamma(1-s) \cos\left(\tfrac{1}{2}\pi(1-s)\right)}{(1-s^s)(2\pi)^{1-s}} \eta (1-s).\]

An example in Python

>>> from xlcalcnet import xreal
>>> xreal.DirichletEta(12)
xreal('5.2359877559829887307E-1')
>>> xreal.DirichletEta('10.0001')
xreal('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpr
>>> Gpr.DirichletEta(12)
Gpr('5.2359877559829887307E-1')
>>> Gpr.DirichletEta('10.0001')
Gpr('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '2.6'
>>> \mathrm{d}x = dec.dirichlet_eta(x); mx = mpm.dirichlet_eta(x); gx = gmp.dirichlet_eta(x)
>>> fx = fpm.dirichlet_eta(x); ax = apm.dirichlet_eta(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  8.748307349702805779574670518491745461882E-1
mpm:  8.748307349702805779574670518491745461882e-1
gmp:  8.748307349702805779574670518491745461882E-01
fpm:  8.74830734970281E-01
apm:  8.748307349702805779574670518491745461882e-1 (1.968e-39%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '2.6 + 3j'
>>> \mathrm{d}z = dec.dirichlet_eta(z); mz = mpm.dirichlet_eta(z); gz = gmp.dirichlet_eta(z)
>>> fz = fpm.dirichlet_eta(z); az = apm.dirichlet_eta(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 1.0368930023009351181E+0              + 1.3961421241509646940E-1j
mpm: 1.0368930023009351181e+0              + 1.3961421241509646940e-1j
gmp: 1.0368930023009351181E+00             + 1.3961421241509646940E-01j
fpm: 1.03689300230094E+00                  + 1.39614212415096E-01j
apm: 1.0368930023009351181e+0 (1.634e-19%) + 1.3961421241509646940e-1 (6.825e-19%)j

Dirichlet \(\eta(s) - 1\)#

math53.dirichlet_eta_m1(s)#

Returns the Dirichlet function \(\eta(s)-1\). It is provided as separate routine because \(\eta(s) \rightarrow 1\) for large \(s\), in fact \(\zeta(s) = 1\) to extended precision for \(s \ge 65\). The function returns \(\eta(s)-1\) for \(s \le -10^{-9}\), and otherwise the result is computed as \(\displaystyle \eta(s)-1 = \sum_{k=2}^{\infty} \frac{(-1)^k}{k^s}\).

See also: MathWorld [1071], Ehrhardt [309] (3.6.3.3).

Returns the Dirichlet function \(\eta(s) - 1 = (\zeta(s)-1) - (2^{1-s} \zeta(s))\).

An example in Python

>>> from xlcalcnet import xreal
>>> xreal.DirichletEtam1(5)
xreal('5.2359877559829887307E-1')
>>> xreal.DirichletEtam1('51')
xreal('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpr
>>> Gpr.DirichletEtam1(5)
Gpr('5.2359877559829887307E-1')
>>> Gpr.DirichletEtam1('51')
Gpr('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '2.6'
>>> \mathrm{d}x = dec.etam1(x); mx = mpm.etam1(x); gx = gmp.etam1(x)
>>> fx = fpm.etam1(x); ax = apm.etam1(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  -1.251692650297194220425329481508254538118E-1
mpm:  -1.251692650297194220425329481508254538118e-1
gmp:  -1.251692650297194220425329481508254538118E-01
fpm:  -1.25169265029719E-01
apm:  -1.251692650297194220425329481508254538118e-1 (-1.376e-38%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '2.6 + 3j'
>>> \mathrm{d}z = dec.etam1(z); mz = mpm.etam1(z); gz = gmp.etam1(z)
>>> fz = fpm.etam1(z); az = apm.etam1(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 3.6893002300935118091E-2              + 1.3961421241509646940E-1j
mpm: 3.6893002300935118091e-2              + 1.3961421241509646940e-1j
gmp: 3.6893002300935118091E-02             + 1.3961421241509646940E-01j
fpm: 3.68930023009351E-02                  + 1.39614212415096E-01j
apm: 3.6893002300935118089e-2 (4.592e-18%) + 1.3961421241509646940e-1 (6.825e-19%)j

Dirichlet beta function, \(\beta(s)\)#

math53.dirichlet_beta(s)#

Returns the Dirichlet beta function, defined as \(\displaystyle \beta(s) = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)^s}\), for \(s>0\), and by analytic continuation for \(s \le 0\).

See also: Wikipedia [1448], MathWorld [1049], Ehrhardt [309] (3.6.4).

This function returns the Dirichlet function \(\beta(s)\), defined for \(s > 0\) as

\[\beta(s) = \sum_{n=1}^\infty \frac{(-1)^{n}}{(2n+1)^s}\]

Alternatively, the following definition, in terms of the Hurwitz zeta function, is valid in the whole complex s-plane:

\[\beta (s)=4^{-s}\left(\zeta \left(s,{1 \over 4}\right)-\zeta \left(s,{3 \over 4}\right)\right).\]

An example in Python

>>> from xlcalcnet import xreal
>>> xreal.DirichletBeta(5)
xreal('5.2359877559829887307E-1')
>>> xreal.DirichletBeta('51')
xreal('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpr
>>> Gpr.DirichletBeta(5)
Gpr('5.2359877559829887307E-1')
>>> Gpr.DirichletBeta('51')
Gpr('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '2.6'
>>> \mathrm{d}x = dec.dirichlet_beta(x); mx = mpm.dirichlet_beta(x); gx = gmp.dirichlet_beta(x)
>>> fx = fpm.dirichlet_beta(x); ax = apm.dirichlet_beta(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  9.535048662378325267539346079940401993601E-1
mpm:  9.535048662378325267539346079940401993601e-1
gmp:  9.535048662378325267539346079940401993601E-01
fpm:  9.53504866237832E-01
apm:  9.535048662378325267539346079940401993601e-1 (1.084e-38%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '2.6 + 3j'
>>> \mathrm{d}z = dec.dirichlet_beta(z); mz = mpm.dirichlet_beta(z); gz = gmp.dirichlet_beta(z)
>>> fz = fpm.dirichlet_beta(z); az = apm.dirichlet_beta(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 1.0550279685803642739E+0              + 3.3718823063670455627E-3j
mpm: 1.0550279685803642739e+0              + 3.3718823063670455627e-3j
gmp: 1.0550279685803642739E+00             + 3.3718823063670455627E-03j
fpm: 1.05502796858036E+00                  + 3.37188230636704E-03j
apm: 1.0550279685803642739e+0 (7.226e-19%) + 3.3718823063670455625e-3 (1.828e-16%)j

Dirichlet lambda function, \(\lambda(s)\)#

math53.dirichlet_lambda(s)#

Returns the Dirichlet lambda function, defined as \(\displaystyle \lambda(s) = \sum_{n=0}^{\infty} (2n+1)^{-s} = (1-2^{-s}) \zeta(s) = -\mathrm{exp2m1}(-s) \zeta(s)\), for \(s>1\), and by analytic continuation for \(s < 1\).

See also: MathWorld [1073], Ehrhardt [309] (3.6.5), Hu and Kim [394].

This function returns the Dirichlet function \(\lambda(s)\), defined for \(s > 0\) as

\[\lambda(s) = \sum_{n=0}^\infty (2n+1)^{-s}\]

and by analytic continuation for \(s<1\). The function is calculated as

\[\lambda(s) = (1-2^{-s}) \zeta(s) = -\text{exp2m1}(-s) \zeta(s)\]

An example in Python

>>> from xlcalcnet import xreal
>>> xreal.DirichletLambda(5)
xreal('5.2359877559829887307E-1')
>>> xreal.DirichletLambda('51')
xreal('5.3518479027559984754E-1')

An example in Visual Basic

>>> from xlcalcnet import Gpr
>>> Gpr.DirichletLambda(5)
Gpr('5.2359877559829887307E-1')
>>> Gpr.DirichletLambda('51')
Gpr('5.3518479027559984754E-1')

An example with real input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 40; x = '2.6'
>>> \mathrm{d}x = dec.dirichlet_lambda(x); mx = mpm.dirichlet_lambda(x); gx = gmp.dirichlet_lambda(x)
>>> fx = fpm.dirichlet_lambda(x); ax = apm.dirichlet_lambda(x)
>>> mpm.show([\mathrm{d}x, mx, gx, fx, ax])
dec:  1.090154272021530585919018418830832116026E+0
mpm:  1.090154272021530585919018418830832116026e+0
gmp:  1.090154272021530585919018418830832116026E+00
fpm:  1.09015427202153E+00
apm:  1.090154272021530585919018418830832116056e+0 (2.815e-36%)

An example with complex input:

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; z = '2.6 + 3j'
>>> \mathrm{d}z = dec.dirichlet_lambda(z); mz = mpm.dirichlet_lambda(z); gz = gmp.dirichlet_lambda(z)
>>> fz = fpm.dirichlet_lambda(z); az = apm.dirichlet_lambda(z)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 9.5326918762855854694E-1              + 2.2012809770791952023E-2j
mpm: 9.5326918762855854694e-1              + 2.2012809770791952023e-2j
gmp: 9.5326918762855854694E-01             + 2.2012809770791952023E-02j
fpm: 9.53269187628559E-01                  + 2.20128097707919E-02j
apm: 9.5326918762855854695e-1 (7.108e-19%) + 2.2012809770791952017e-2 (1.972e-17%)j

Zeros of the Riemann zeta function#

ctxflint.zeta_zero(n)#

Returns the zeros of the Riemann zeta function. See also Wikipedia [1473], MathWorld [1090], NIST [15], Mpmath [749].

This calls acb_dirichlet_zeta_zero.

Computes the \(n\)-th nontrivial zero of \(\zeta(s)\) on the critical line, i.e. returns an approximation of the \(n\)-th largest complex number \(s = \frac{1}{2} + ti\) for which \(\zeta(s) = 0\). Equivalently, the imaginary part \(t\) is a zero of the Z-function (siegelz()).

An example :

>>> from xlcalcnet import dec, mpm, gmp, fpm, apm
>>> mpm.dps = 20; n = '20'
>>> \mathrm{d}z = dec.zetazero(n); mz = mpm.zetazero(n); gz = gmp.zetazero(n)
>>> fz = fpm.zetazero(n); az = apm.zetazero(n)
>>> mpm.show([\mathrm{d}z, mz, gz, fz, az],  aligned=True)
dec: 5.0000000000000000000E-1        + 7.7144840068874805373E+1j
mpm: 5.0000000000000000000e-1        + 7.7144840068874805373e+1j
gmp: 5.0000000000000000000E-01       + 7.7144840068874805373E+01j
fpm: 5.00000000000000E-01            + 7.71448400688748E+01j
apm: 5.0000000000000000000e-1 (0.0%) + 7.7144840068874805373e+1 (7.027e-20%)j

previous

Hurwitz zeta and related functions

next

Hypergeometric function \(\,_0F_1\) and related

Contents
  • Riemann zeta function, \(\zeta(s)\)
    • ctx.zeta()
  • Riemann \(\zeta(s)-1\)
    • math53.zetam1()
  • Hardy (or Riemann-Siegel) theta function
    • mathc53.hardy_theta()
  • Hardy (or Riemann-Siegel) Z function
    • mathc53.hardy_z()
  • Riemann (Landau) function \(\xi(s)\)
    • ctxflint.riemann_xi()
  • Dirichlet eta function, \(\eta(s)\)
    • math53.dirichlet_eta()
  • Dirichlet \(\eta(s) - 1\)
    • math53.dirichlet_eta_m1()
  • Dirichlet beta function, \(\beta(s)\)
    • math53.dirichlet_beta()
  • Dirichlet lambda function, \(\lambda(s)\)
    • math53.dirichlet_lambda()
  • Zeros of the Riemann zeta function
    • ctxflint.zeta_zero()

By Dietrich Hadler

© Copyright 2026, Dietrich Hadler. .

Last updated on Aug 19, 2026.