|
3 | 3 | <head>
|
4 | 4 | <meta charset="UTF-8">
|
5 | 5 | <title>Kolibri Tryout</title>
|
| 6 | + <style> |
| 7 | + body { |
| 8 | + font-family: system-ui; |
| 9 | + font-variant-numeric: tabular-nums; |
| 10 | + padding: 2em; |
| 11 | + } |
| 12 | + </style> |
6 | 13 |
|
7 | 14 | </head>
|
8 | 15 | <body>
|
| 16 | + |
| 17 | +<h1>The Heros approximating PI</h1> |
| 18 | + |
9 | 19 | <pre>
|
10 | 20 | Gregory - Leibniz Series
|
11 | 21 |
|
12 | 22 | 4 4 4 4 4
|
13 | 23 | --- - --- + --- - --- + --- ...
|
14 | 24 | 1 3 5 7 9
|
15 | 25 |
|
16 |
| - |
| 26 | + <span id="leibnizOut"></span> |
17 | 27 |
|
18 | 28 | Nilakantha Series
|
19 | 29 |
|
20 | 30 | 4 4 4 4
|
21 | 31 | 3 + --- - --- + --- - --- ...
|
22 | 32 | 2*3*4 4*5*6 6*7*8 8*9*10
|
23 | 33 |
|
| 34 | + |
| 35 | + <span id="nilaOut"></span> |
| 36 | + |
24 | 37 | </pre>
|
25 | 38 |
|
26 | 39 |
|
27 | 40 | <script type="module">
|
28 | 41 |
|
29 |
| - import {ALL, Walk, limit, plus, Seq} from "../../kolibri/sequence/sequence.js"; |
| 42 | + import { ALL, Walk, limit, plus, Seq } from "../../kolibri/sequence/sequence.js"; |
| 43 | + import { select } from "../../kolibri/util/dom.js"; |
30 | 44 |
|
31 | 45 |
|
32 | 46 | const partialSum = numSeq => n =>
|
|
50 | 64 | .map( n => 1 / (n * (n + 1) * (n + 2)))
|
51 | 65 | .zipWith((x, sign) => sign * x)(plusMinus);
|
52 | 66 |
|
53 |
| - const leibniz = 4 * limit(1e-3, partialSumSeq(leib_seq) ); |
54 |
| - const nilakantha = 3 + 4 * limit(1e-8, partialSumSeq(nila_seq) ); |
55 |
| - console.log( leibniz ); |
56 |
| - console.log( nilakantha ); |
57 |
| - console.log( Math.PI ); |
| 67 | + const partialLeibnizSums = partialSumSeq(leib_seq); |
| 68 | + const leibniz = 4 * limit(1e-3, partialLeibnizSums ); |
| 69 | + |
| 70 | + const partialNilaSums = partialSumSeq(nila_seq); |
| 71 | + const nilakantha = 3 + 4 * limit(1e-8, partialNilaSums ); |
| 72 | + |
| 73 | + const [lout] = select(document.body, "#leibnizOut"); |
| 74 | + lout.textContent = ` |
| 75 | +Partial sum sequence |
| 76 | +${partialLeibnizSums.show()} |
| 77 | +
|
| 78 | +Limit * 4: ${leibniz} |
| 79 | + `; |
| 80 | + |
| 81 | + const [nout] = select(document.body, "#nilaOut"); |
| 82 | + nout.textContent = ` |
| 83 | +Partial sum sequence |
| 84 | +${partialNilaSums.show()} |
58 | 85 |
|
| 86 | +limit * 4 + 3: ${nilakantha} |
| 87 | + `; |
59 | 88 | </script>
|
60 | 89 |
|
61 | 90 |
|
|
0 commit comments