.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Math::Prime::Util::ZetaBigFloat 3pm" .TH Math::Prime::Util::ZetaBigFloat 3pm "2018-11-17" "perl v5.28.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Math::Prime::Util::ZetaBigFloat \- Perl Big Float versions of Riemann Zeta and R functions .SH "VERSION" .IX Header "VERSION" Version 0.73 .SH "SYNOPSIS" .IX Header "SYNOPSIS" Math::BigFloat versions`of the Riemann Zeta and Riemann R functions. These are kept in a separate module because they use a lot of big tables that we'd prefer to only load if needed. .SH "DESCRIPTION" .IX Header "DESCRIPTION" Pure Perl implementations of Riemann Zeta and Riemann R using Math::BigFloat. These functions are used if: .IP "The input is a BigInt, a BigFloat, or the bignum module has been loaded." 4 .IX Item "The input is a BigInt, a BigFloat, or the bignum module has been loaded." .PD 0 .IP "The Math::Prime::Util::GMP module is not available or old." 4 .IX Item "The Math::Prime::Util::GMP module is not available or old." .PD .PP If you use these functions a lot, I \fBhighly\fR recommend you install Math::Prime::Util::GMP, which the main Math::Prime::Util functions will find. These give \fBmuch\fR better performance, and better accuracy. You can also use Math::Pari and Math::MPFR for the Riemann Zeta function. .SH "FUNCTIONS" .IX Header "FUNCTIONS" .SS "RiemannZeta" .IX Subsection "RiemannZeta" .Vb 1 \& my $z = RiemannZeta($s); .Ve .PP Given a floating point input \f(CW\*(C`s\*(C'\fR where \f(CW\*(C`s >= 0.5\*(C'\fR, returns the floating point value of ζ(s)\-1, where ζ(s) is the Riemann zeta function. One is subtracted to ensure maximum precision for large values of \f(CW\*(C`s\*(C'\fR. The zeta function is the sum from k=1 to infinity of \f(CW\*(C`1 / k^s\*(C'\fR .PP Results are calculated using either Borwein (1991) algorithm 2, or the basic series. Full input accuracy is attempted, but there are defects in Math::BigFloat with high accuracy computations that make this difficult. .SS "RiemannR" .IX Subsection "RiemannR" .Vb 1 \& my $r = RiemannR($x); .Ve .PP Given a positive non-zero floating point input, returns the floating point value of Riemann's R function. Riemann's R function gives a very close approximation to the prime counting function. .PP Accuracy should be about 35 digits. .SH "LIMITATIONS" .IX Header "LIMITATIONS" Bugs in Math::BigFloat (\s-1RT 43692, RT 77105\s0) cause many problems with this code. I've attempted to work around them, but it is possible there are cases they miss. .PP The accuracy goals (35 digits) are sometimes missed by a digit or two. .SH "PERFORMANCE" .IX Header "PERFORMANCE" Performance is quite bad. .SH "SEE ALSO" .IX Header "SEE ALSO" Math::Prime::Util .PP Math::Prime::Util::GMP .PP Math::MPFR .PP Math::Pari .SH "AUTHORS" .IX Header "AUTHORS" Dana Jacobsen .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2012 by Dana Jacobsen .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.