JSFiddle - React, Tailwind, and code Playground
HTML
<style>
body {
font-family: monospace;
font-size: 14px;
margin: 30px;
}
</style>
<body>
<script>
// https://physics.nist.gov/cgi-bin/cuu/Value?alph
const alpha = 0.0072973525693;
function log(text) {
var div = document.createElement("div");
div.innerHTML = text;
document.body.appendChild(div);
}
// calculate series to n terms. can edit n. converges fast.
function calc_gamma(alphaval) {
var gammaval = 1;
for (var n = 10; n >= 0; n--) {
gammaval = 1 + (alphaval / (Math.pow(2 * Math.PI, n))) * gammaval;
}
return gammaval;
}
// iterate i times. can edit i. converges fast.
function iterate_alpha(ansatz) {
var gammaval;
var alphaval = ansatz;
for (var i = 0; i < 10; i++) {
gammaval = calc_gamma(alphaval);
alphaval = Math.pow(gammaval, 2) * ansatz;
}
return alphaval;
}
// e^(- pi^2 / 2)
var ansatz = Math.pow(Math.E, -1 * (Math.PI * Math.PI) / 2);
var alphavalout = iterate_alpha(ansatz)
log('NIST value');
log(alpha);
log('<br>');
log('Iterated value');
log(alphavalout);
log('<br>');
log('Ratio');
log(alpha / alphavalout);
</script>
</body>