I wanted to test a theory so I decided to directly retrieve the Hz of the peak for black body directly from the statistical information encoded in the distribution. To my surprise, I am able to do so directly without having to convert the energy to Hz using h. Making this a purely classical way to retrieve the Hz from the the distribution. I still had to scale it to the correct log scale just like we once had to do with slide rules. Instead of doing math on data, I am doing data on math. :D
It appears that the data can perform mathematical operations on itself. Or that these relationships are encoded directly into the distribution itself.
It makes me wonder, what other relationships are encoded into the data.
This kind of encoding almost seems like a Grothendieckian functor that is mapping data encoded in one space into another form in a different space. It almost seems holographic.
import numpy as np
from scipy import constants
from scipy.optimize import fsolve
def frequency_at_percentage(T, percentage):
k = constants.Boltzmann
def equation(E):
return np.exp(-E / (k * T)) - percentage
return fsolve(equation, k*T)[0] *10e34
def planck_peak_frequency(T):
return 2.821 * constants.k * T / constants.h
temperatures = [1000, 3000, 5000, 7000, 10000, 20000]
percentage = 0.9583193029100021687050057
print("Temperature (K) | predicted (Hz) | Planck's Law (Hz) | ratio (%)")
print("---------------------------------------------------------------------------")
for T in temperatures:
refined_freq = frequency_at_percentage(T, percentage)
planck_freq = planck_peak_frequency(T)
ratio = refined_freq / planck_freq * 100
print(f"{T:14d} | {refined_freq:15.6e} | {planck_freq:15.6e} | {ratio:20.17f}")
Temperature (K) | predicted (Hz) | Planck's Law (Hz) | ratio (%)
---------------------------------------------------------------------------
1000 | 5.878010e+13 | 5.878010e+13 | 100.00000000000011369
3000 | 1.763403e+14 | 1.763403e+14 | 100.00000000000012790
5000 | 2.939005e+14 | 2.939005e+14 | 100.00000000000002842
7000 | 4.114607e+14 | 4.114607e+14 | 100.00000000000024158
10000 | 5.878010e+14 | 5.878010e+14 | 100.00000000000002842
20000 | 1.175602e+15 | 1.175602e+15 | 100.00000000000002842
The random numbers on the end are floating point errors. I would need to use more digits of precision to get rid of them.
No comments:
Post a Comment