|
27 | 27 | <div style="position: absolute; left: 20px; top: 0px; width: 160px; height: 40px; color: #cccccc;"> |
28 | 28 | <a href="https://complexity.zone/"><span style="color: #80cccc; font-size: 16px; line-height: 40px;">complexity.zone</span></a> |
29 | 29 | </div> |
30 | | - <div style="position: absolute; left: 180px; top: 0px; width: 220px; height: 40px; font-size: 22px; line-height: 40px; color: #cccccc; white-space: nowrap;"> |
| 30 | + <div style="position: absolute; left: 180px; top: 0px; width: 220px; height: 40px; font-size: 20px; line-height: 40px; color: #cccccc; white-space: nowrap;"> |
31 | 31 | Riemann Zeta Scope |
32 | 32 | </div> |
33 | 33 | </div> |
|
121 | 121 | this.calcAnalyticContinuation(); |
122 | 122 | } |
123 | 123 | calcAnalyticContinuation() { |
124 | | - // Determine zeta by analytic continuation, by using the Dirichlet eta function, which is convergent for Re(s) > 0. |
| 124 | + // Estimate zeta by analytic continuation, by using the Dirichlet eta function, the alternating zeta function, which is convergent for Re(s) > 0. |
125 | 125 | // zeta(s) = (1 / (1 - 2^(1-s))) * eta(s) |
126 | 126 | // Approach: |
127 | 127 | // Step 1. Calculate 40000 partial sums of eta. |
128 | 128 | // Step 2. Estimate eta by taking the average of the halfway points of the last 4 terms. |
129 | | - // Step 3. Multiply the estimation of eta by 1 / (1 - 2^(1-s)) |
| 129 | + // Step 3. Multiply this estimation of eta by 1 / (1 - 2^(1-s)), to get an estimation of zeta. |
130 | 130 | const partialSums = [ |
131 | 131 | { |
132 | 132 | re: 0, |
|
1951 | 1951 | textAlign: 'left' |
1952 | 1952 | }); |
1953 | 1953 | this.components.panelDisplaySection.appendChild(this.components.panelDrawAnalyticContinuationButton); |
1954 | | - this.components.panelDrawAnalyticContinuationButton.title = 'Show gold circle at ζ(σ + i·t)\nMethod of analytic continuation: ζ(s) = η(s) / (1 - 2^(1 - s))\nImplementation is an estimation, inaccuracy is visible when zooming in.'; |
| 1954 | + this.components.panelDrawAnalyticContinuationButton.title = 'Show gold circle at ζ(σ + i·t)\nMethod of analytic continuation: ζ(s) = η(s) / (1 - 2^(1 - s))\nη is the Dirichlet eta function, which is convergent for Re(s) > 0. The value of η is estimated using a simple method, inaccuracy is visible when zoomed in.'; |
1955 | 1955 | this.components.panelDrawAnalyticContinuationButton.innerHTML = '<span style="font-size: 10px; margin-left: 7px;"><span style="background-color: #555555; color: #D4AF37;"> ⬤ </span></span><span style="margin-left: 5px;">ζ analytic</span>'; |
1956 | 1956 | this.components.panelDrawAnalyticContinuationButton.addEventListener('click', () => { |
1957 | 1957 | this.zetaView.drawAnalyticContinuation = !this.zetaView.drawAnalyticContinuation; |
|
2049 | 2049 | cursor: 'pointer' |
2050 | 2050 | }); |
2051 | 2051 | this.components.panelZetaSection.appendChild(this.components.panelZetaSectionReportDownloadButton); |
2052 | | - this.components.panelZetaSectionReportDownloadButton.title = 'Take snapshot of terms\' properties and download as tab-delimited file.\nYou can copy and paste the file contents into a spreadsheet program like Excel or Google Sheets.'; |
| 2052 | + this.components.panelZetaSectionReportDownloadButton.title = 'Take snapshot of terms\' properties and download as tab-delimited file.\nYou can copy and paste the file contents into a spreadsheet like Excel or Google Sheets.'; |
2053 | 2053 | this.components.panelZetaSectionReportDownloadButton.innerHTML = ` |
2054 | 2054 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000" stroke="none" style="position: absolute; left: 5px; top: 1px; width: 12px; height: 12px;"> |
2055 | 2055 | <path d="M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,19L8,15H10.5V12H13.5V15H16L12,19Z" /> |
|
3689 | 3689 | }); |
3690 | 3690 | headerpanel.appendChild(headerpaneldownloadlink); |
3691 | 3691 | const downloadlink = document.createElement('div'); |
3692 | | - downloadlink.title = 'All the JavaScript code is in the html file.\nClick here to download the html file, if you want to run it local and tinker with the code.'; |
| 3692 | + downloadlink.title = 'Download Riemann Zeta Scope html file, if you want to use it offline and/or tinker with the code.'; |
3693 | 3693 | Object.assign(downloadlink.style, { |
3694 | 3694 | position: 'absolute', |
3695 | 3695 | left: '10px', |
|
3726 | 3726 | lineHeight: '20px', |
3727 | 3727 | whiteSpace: 'nowrap' |
3728 | 3728 | }); |
3729 | | - downloadlink_text.innerHTML = 'Download'; |
| 3729 | + downloadlink_text.innerHTML = ''; // 'Download'; |
3730 | 3730 | downloadlink.appendChild(downloadlink_text); |
3731 | 3731 | let downloaded = false; |
3732 | 3732 | downloadlink.addEventListener('click', async () => { |
|
0 commit comments