Notice: Unexpected clearActionName after getActionName already called in /var/www/html/includes/context/RequestContext.php on line 338
Bailey-Borwein-Plouffe-Formel – Wikipedia Zum Inhalt springen

Bailey-Borwein-Plouffe-Formel

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von BBP-Reihe)

In der Mathematik bezeichnet die Bailey-Borwein-Plouffe-Formel (BBP-Formel) eine 1995 vom kanadischen Mathematiker Simon Plouffe entdeckte Summenformel zur Berechnung der Kreiszahl <math>\pi</math>.

Die von Plouffe entdeckte Reihe für <math>\pi</math> ist:

<math>\pi = \sum_{k = 0}^{\infty} \frac{1}{16^k}

\left( \frac{4}{8k + 1} - \frac{2}{8k + 4} - \frac{1}{8k + 5} - \frac{1}{8k + 6}\right)</math>

Die Formel ist nach den Autoren David H. Bailey, Peter Borwein und Simon Plouffe des Zeitschriftenartikels benannt, in dem sie erstmals veröffentlicht wurde.<ref>{{#invoke:Vorlage:Literatur|f}}{{#if:

       | {{#if: Vorlage:Cite book/ParamBool
               | Vorlage:Toter Link/archivebot
               | Vorlage:Webarchiv/archiv-bot
         }}
  }}{{#invoke:TemplatePar|check
   |all    = title=
   |opt    = vauthors= author= author1= authorlink= author-link= author-link1= author1-link= author2= author3= author4= author5= author6= author7= author8= author9= editor= last= first= last1= first1= last2= first2= last3= first3= last4= first4= last5= first5= last6= first6= last7= first7= last8= first8= last9= first9= last10= first10= last11= first11= last12= first12= last13= first13= last14= first14= last15= first15= others= script-title= trans-title= date= year= volume= issue= number= series= page= pages= at= issn= arxiv= bibcode= doi= pmid= pmc= jstor= oclc= id= url= url-status= format= access-date= archive-date= archive-url= archivebot= offline= location= publisher= language= quote= work= journal= newspaper= magazine= periodical=  name-list-style= url-access= doi-access= display-authors= via= s2cid= mr= type= citeseerx=  accessdate= archivedate= archiveurl= coauthors= month= day= last16= first16= last17= first17= last18= first18= last19= first19= last20= first20= last21= first21= last22= first22= last23= first23= last24= first24= last25= first25= last26= first26= last27= first27= last28= first28= last29= first29= last30= first30= last31= first31=
   |cat      = Wikipedia:Vorlagenfehler/Vorlage:Cite journal
   |errNS    = 0
   |template = Vorlage:Cite journal
   |format   = 
   |preview  = 1
  }}Vorlage:Cite book/URL{{#if:  | Vorlage:Cite book/Meldung }}{{#if:        | Vorlage:Cite book/Meldung }}{{#if: Mathematics of Computation
     || Vorlage:Cite book/Meldung
  }}{{#if: Vorlage:Cite book/ParamBool
        | Vorlage:Cite book/Meldung
  }}{{#if: Vorlage:Cite book/ParamBool
     | Vorlage:Cite book/Meldung
  }}{{#if: Vorlage:Cite book/ParamBool
     | Vorlage:Cite book/Meldung
  }}{{#if: Vorlage:Cite book/ParamBool
     | Vorlage:Cite book/Meldung
  }}{{#if: Vorlage:Cite book/ParamBool
       | Vorlage:Cite book/Meldung
  }}{{#if: Vorlage:Cite book/ParamBool
     | Vorlage:Cite book/Meldung
  }}Vorlage:Cite book/Meldung2{{#ifexpr: 0{{#ifeq:^^|^^||+1}}{{#ifeq:^^|^^||+1}}{{#ifeq:David H. Bailey, Peter B. Borwein, Simon Plouffe|^^||+1}}{{#ifeq:^^|^^||+1}} > 1
    | Vorlage:Cite book/Meldung
  }}</ref> Das Erstaunliche an dieser speziellen Formel ist, dass man daraus mit ein wenig Umstellen einen Algorithmus ableiten kann, der eine beliebige Ziffer der Darstellung von <math>\pi</math> im Hexadezimalsystem ohne Berechnung der vorherigen Ziffern ermittelt (Ziffer-Extraktion).

Polylogarithmische Konstante

Seit Plouffes Entdeckung wurden viele ähnliche Formeln der Gestalt

<math>\alpha = \sum_{k = 0}^{\infty} \frac{p(k)}{b^kq(k)}</math>

entdeckt, die sich zu anderen fundamentalen mathematischen Konstanten (in der Darstellung zur Basis <math>b</math>) aufsummieren, wie z. B. zu den polylogarithmischen Konstanten <math>\pi^2, \zeta(3)</math> und zur Catalanschen Konstanten <math>G</math>. Man bezeichnet diese Formeln als BBP-Reihen zur Basis <math>b</math>. Die Frage, zu welchen mathematischen Konstanten BBP-Reihen existieren, ist bislang unbeantwortet.

Zu folgenden Primzahlen <math>p</math> existiert für <math>\log\,p</math> eine BBP-Reihe:

2, 3, 5, 7, 11, 13, 17, 19, 29, 31, 37, 41, 43, 61, 73, 109, 113, 127, 151, 241, 257, 331, 337, 397, 683, 1321, 1429, 1613, 2113, 2731, 5419, 8191, 14449, 26317, 38737, 43691, 61681, 65537, 87211, 131071, 174763, 246241, 262657, 268501, 279073, 312709, …<ref>Folge A104885 in OEIS</ref>

23, 47, 53 und 59 sind die kleinsten Primzahlen, die in dieser Liste fehlen. Es ist jedoch unbewiesen, ob zu <math>\log 23</math> tatsächlich keine BBP-Reihe existiert.

Vermutlich gibt es für Quadratwurzeln <math>\sqrt2, \sqrt3, \sqrt5, \dotsc</math>, die Eulersche Zahl <math>e</math> und die Eulersche Konstante <math>\gamma</math> keine BBP-Reihe, da das (vermutlich) keine polylogarithmischen Konstanten sind.

BBP-Algorithmus

An einem Beispiel soll gezeigt werden, wie man die Ziffern einer Zahlendarstellung erhält. So bekommt man z. B. die 4. dezimale Nachkommastelle von <math>\pi</math> durch

  • Multiplikation mit <math>10^3</math> …
 <math>10^3\pi = 3141{,}5926\ldots</math> 
  • Wegschneiden des ganzzahligen Teils …
 <math>10^3\pi\,\bmod\, 1 = 0{,}5926\ldots</math> 
  • Multiplikation mit <math>10</math> …
 <math>(10^3\pi\,\bmod\, 1)\cdot 10 = 5{,}926\ldots</math> 
  • und Wegschneiden des gebrochenen Teils …
 <math>\lfloor(10^3\pi\,\bmod\, 1)\cdot 10\rfloor = 5</math> 

wobei zur Notation der Modulo-Operator und die Gauß-Klammer verwendet werden.

Analog ergibt sich die <math>n</math>-te Stelle der Hexadezimaldarstellung <math>\sum_{k = 0}^{\infty} \frac {z_k}{16^k}</math> von <math>\pi</math> zu

<math>z_n=\lfloor(16^{n-1}\pi\,\bmod\, 1) \cdot 16\rfloor.</math>

Multiplikation der Plouffe-Formel mit <math>16^{n-1}</math> ergibt nach Unterteilung in vier Terme

<math>16^{n-1}\pi=4\sigma_1-2\sigma_4-\sigma_5-\sigma_6\quad\text{ mit } \quad\sigma_t=\sum_{k=0}^{\infty}\frac{16^{n-k-1}}{8k+t}.</math>

Da im Ausdruck für <math>z_n</math> nur der gebrochene Teil von <math>16^{n-1}\pi</math> eingeht, kann man bei der Berechnung der vier <math>\sigma_t</math> einen ganzzahligen Teil von den ersten <math>n</math> Summanden entfernen,<ref><math display="inline">\frac{16^{n-1}}{t}...\frac{16^{0}}{8(n-1)+t},\quad n\gg1</math></ref> um die Größe der Zwischenergebnisse zu begrenzen. Das erreicht man durch Anwendung des Operators <math>\bmod(8k+t)</math> auf den Zähler. Die restlichen Summanden mit <math display="inline">k\geq n\gg1</math> haben keinen ganzzahligen Teil.<ref><math display="inline">\frac{16^{-1}}{8n+t}...\frac{16^{-n-1}}{16n+t},</math> usw.</ref>

Damit erhält man (unter Verwendung des Zeichens <math>\equiv</math> für Kongruenz):

<math>\sigma_t \; \equiv \;
      \sigma'_t =
      \sum_{k=0}^{n-1}\frac{16^{n-k-1}\bmod(8k+t)}{8k+t} +
      \sum_{k=n}^{\infty} \frac{16^{n-k-1}}{8k+t} \pmod{1}</math>.

Die diskrete Exponentialfunktion im Zähler der ersten Summe kann man mit der binären Exponentiation effizient berechnen, wobei die Zwischenergebnisse kleiner als <math>64 n^2</math> bleiben. Damit gilt

<math>16^{n-1}\pi \equiv 4\sigma'_1-2\sigma'_4-\sigma'_5-\sigma'_6 \pmod{1}</math>.

Da die <math>\sigma'_t</math> und ihre Linearkombination noch einen ganzzahligen Teil enthalten können, muss dieser noch entfernt werden. Somit ist

<math>z_n = \lfloor( (4\sigma'_1-2\sigma'_4-\sigma'_5-\sigma'_6) \,\bmod\, 1) \cdot 16\rfloor.</math>

Vorteile des BBP-Algorithmus

Diese Methode, nur die gerade benötigte Stelle von <math>\pi</math> zu extrahieren, erspart den Speicherplatz für die vorherigen Stellen. Weiter kann man einfachere Datentypen für die Speicherung der gewonnenen Stellen verwenden, die wiederum auch kürzere Zugriffszeiten haben, was den Algorithmus letztlich schneller macht. Daher hat diese Methode in vielen Anwendungen alle vorherigen Algorithmen zur Berechnung von <math>\pi</math> (die größere und komplexere Datentypen benötigten) überflüssig gemacht.

Bellard-Formel

{{#if: Bellard-Formel|{{#ifexist:Bellard-Formel|

|{{#if: |{{#ifexist:{{{2}}}|

→ Haupt{{#if:|seite|artikel}}: [[{{{2}}}{{#if: ||{{{titel2}}}}}]]{{#if: |{{#ifexist:{{{3}}}| und [[{{{3}}}{{#if: ||{{{titel3}}}}}]]|}}|}}

|{{#if: |{{#ifexist:{{{3}}}|

→ Haupt{{#if:|seite|artikel}}: [[{{{3}}}{{#if: ||{{{titel3}}}}}]]

|}}|}}|}}|}}|}}|Einbindungsfehler: Die Vorlage Hauptartikel benötigt immer mindestens ein Argument.}}

Fabrice Bellard entdeckte diese ähnliche Formel 1997. Sie ist etwa 43 % schneller als BBP:

<math>

\pi = \sum_{k=0}^\infty \frac{(-1)^k}{2^{10k+6}} \, \left(\frac{2^8}{10k+1} -\frac{2^6}{10k+3} -\frac{2^5}{4k+1} -\frac{2^2}{10k+5} -\frac{2^2}{10k+7} +\frac1{10k+9} -\frac1{4k+3} \right) </math>.

Literatur

  • Marc Chamberland: Binary BBP-Formulae for Logarithms and Generalized Gaussian-Mersenne Primes. Journal of Integer Sequences, Vol. 6, 2003, nur digital (PDF; 175 kB).
  • David H. Bailey: A Compendium of BBP-Type Formulas for Mathematical Constants. 2004, online (PDF; 0,3 MB).
  • Barry Cipra: Digits of Pi. In: D. Mackenzie, B. Cipra (Hrsg.): What’s Happening in the Mathematical Sciences. Band 6, S. 29–39. Am.Math.Soc. 2006.

Einzelnachweise

<references />

Weblinks

  • David H Bailey Persönliche Webseite
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20140410024613
      | {{#ifeq: 20140410024613 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Eine ausführliche Anleitung mit konkretem Beispiel | {{#invoke:WLink|getEscapedTitle|Eine ausführliche Anleitung mit konkretem Beispiel}} | {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20140410024613}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Eine ausführliche Anleitung mit konkretem Beispiel | {{#invoke:WLink|getEscapedTitle|Eine ausführliche Anleitung mit konkretem Beispiel}} | {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20140410024613}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Eine ausführliche Anleitung mit konkretem Beispiel | {{#invoke:WLink|getEscapedTitle|Eine ausführliche Anleitung mit konkretem Beispiel}} | {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Eine ausführliche Anleitung mit konkretem Beispiel | {{#invoke:WLink|getEscapedTitle|Eine ausführliche Anleitung mit konkretem Beispiel}} | {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Eine ausführliche Anleitung mit konkretem Beispiel | {{#invoke:WLink|getEscapedTitle|Eine ausführliche Anleitung mit konkretem Beispiel}} | {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Eine ausführliche Anleitung mit konkretem Beispiel | {{#invoke:WLink|getEscapedTitle|Eine ausführliche Anleitung mit konkretem Beispiel}} | {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20140410024613|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|https://www.unet.univie.ac.at/~a8727063/Science/BBP/}}
    || {{#if:  || }}
  }}{{#if: Eine ausführliche Anleitung mit konkretem Beispiel
    | {{#if: {{#invoke:WLink|isBracketedLink|Eine ausführliche Anleitung mit konkretem Beispiel}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|https://www.unet.univie.ac.at/~a8727063/Science/BBP/%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|https://www.unet.univie.ac.at/~a8727063/Science/BBP/%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|https://www.unet.univie.ac.at/~a8727063/Science/BBP/ }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}.
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20151116045029
      | {{#ifeq: 20151116045029 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Implementierung in Python | {{#invoke:WLink|getEscapedTitle|Implementierung in Python}} | {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20151116045029}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Implementierung in Python | {{#invoke:WLink|getEscapedTitle|Implementierung in Python}} | {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20151116045029}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Implementierung in Python | {{#invoke:WLink|getEscapedTitle|Implementierung in Python}} | {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Implementierung in Python | {{#invoke:WLink|getEscapedTitle|Implementierung in Python}} | {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Implementierung in Python | {{#invoke:WLink|getEscapedTitle|Implementierung in Python}} | {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Implementierung in Python | {{#invoke:WLink|getEscapedTitle|Implementierung in Python}} | {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20151116045029|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)}}
    || {{#if:  || }}
  }}{{#if: Implementierung in Python
    | {{#if: {{#invoke:WLink|isBracketedLink|Implementierung in Python}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python)%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|https://en.literateprograms.org/Pi_with_the_BBP_formula_(Python) }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}.