Dimensions and Quantities for UnitSystems
In 2019 the SI2019 standardization was completed, based on the 7 physics dimensions specific to the Metric system. That is actually an inadequate and insufficient unit system standard, as it is mathematically impossible to unify all historical units with this standard. In 2020, Michael Reed set out to work around that impossibility with a new project called UnitSystems.jl, which ended up completely solving the problem with a brand new 11 dimensional Unified System of Quantities (USQ) for physics.
In the base UnitSystems package, simply Float64 numbers are used to generate the group of UnitSystem constants.
However, in the Similitude package, instead constant numbers are used to generate an abstract multiplicative Group, which is only converted to a Float64 value when appropriate or at compile time.
In UnitSystems and Similitude, the spectrum of Group{:Constants} values is generated by a group of 11 mathematical constants (7 Integer primes and 4 Irrational numbers) with 33 physical measurement definitions.
These are 𝟐, 𝟑, 𝟓, 𝟕, 𝟏𝟏, 𝟏𝟗, 𝟒𝟑, φ, γ, ℯ, τ, kB, NA, 𝘩, 𝘤, 𝘦, Kcd, ΔνCs, R∞, α, μₑᵤ, μₚᵤ, ΩΛ, H0, g₀, aⱼ, au, ft, ftUS, lb, T₀, atm, inHg, RK90, KJ90, RK, KJ, Rᵤ2014, Ωᵢₜ, Vᵢₜ, kG, mP, GME, GMJ.
Furthermore, in Similitude there is a dimension type which encodes the dimensional Group{:USQ} for the Quantity type using the same implementation principles as the Group{:Constants}.
This enables the unified usage of Group homomorphisms to transform Quantity algebra elements with varying numbers of dimensionless constants.
Originally, the Newtonian group used for UnitSystems would be made up of force, mass, length, time (or F, M, L, T).
Although force is typically thought of as a derived dimension when the reference gravity is taken to be dimensionless, force is actually considered a base dimension in general engineering UnitSystem foundations.
With the development of electricity and magnetism came an interest for an additional dimension called charge or Q.
When the thermodynamics of entropy became further developed, the temperature or Θ was introduced as another dimension.
In the field of chemistry, it became desirable to introduce another dimension of molaramount or N as fundamental.
To complete the existing International System of Quantities (ISQ) it is also necessary to consider luminousflux or J as a visual perception related dimension.
In order to resolve ambiguity with solidangle unit conversion, angle or A is explicitly tracked in the underlying dimension and Group.
However, this is yet insufficient to fully specify all the historical variations of UnitSystem, including the EMU, ESU, Gauss and LorentzHeavise specifications.
Therefore, there is also a dimension basis for rationalization (denoted R) and lorentz (denoted by C⁻¹).
In combination, all these required base dimension definitions are necessary in order to coherently implement unit conversion for Quantity elements.
Since the existing International System of Quantities (ISQ) is an insufficient definition for dimension, a new Unified System of Quantities (USQ) is being proposed here as composed of force, mass, length, time, charge, temperature, molaramount, luminousflux, angle, rationalization, and a nonstandard dimension (denoted by F, M, L, T, Q, Θ, N, J, A, R, C).
In aggregate, the UnitSystem data generated here constitutes a new universal standardization for dimensional analysis, which generalizes upon previous historical systems up to the 2019 redefinition and unifies them in a common Universe.
This enables a more precise and generalized standardization than the 2019 redefinition, which was comparatively limited in scope.
Specified default UnitSystem values are to be taken as a newly defined mutually-compatible recommended standard, verified to be consistent and coherent.
In fact there is nothing transcendental about dimensions; the ultimate principle is precisely expressible (in Newton's terminology) as one of similitude, exact or approximate, to be tested by the rule that mere change in the magnitudes of the ordered scheme of units of measurement that is employed must not affect sensibly the forms of the equations that are the adequate expression of the underlying relations of the problem. (J.L., 1914)
Specifications for dimensional units are in the UnitSystems.jl and Similitude.jl and MeasureSystems.jl repositories.
The three packages are designed so that they can be interchanged with compatibility.
On its own UnitSystems is the fastest package, while Similitude (provides Quantity type) and MeasureSystems (introduces Measurements.jl uncertainty) build additional features on top of UnitSystems base defintions.
Defaults are shared: Metric, SI2019, CODATA, Conventional, International, InternationalMean, MetricTurn, MetricGradian, MetricDegree, MetricArcminute, MetricArcsecond, Engineering, Gravitational, FPS, IPS, British, English, Survey, Gauss, LorentzHeaviside, EMU, ESU, IAU, IAUE, IAUJ, Hubble, Cosmological, CosmologicalQuantum, Meridian, Nautical, MPH, KKH, MTS, FFF, Planck, PlanckGauss, Stoney, Hartree, Rydberg, Schrodinger, Electronic, Natural, NaturalGauss, QCD, QCDGauss, QCDoriginal.
julia> using Similitude # or UnitSystems or MeasureSystemsAn optional environment variable ENV["SIMILITUDE"] induces UnitSystems.similitude() to return true, giving flexibility for building dependencies whenever it is desirable to toggle usage between UnitSystems (default) and Similitude (requires environment variable specification). For example, in MeasureSystems and Geophysics this option is used to increase flexibility with variety in local compilation workflow.
A UnitSystem is a consistent set of dimensional values selected to accomodate a particular use case or standardization.
It is possible to convert derived physical quantities from any UnitSystem specification into any other using accurate values.
Eleven fundamental constants kB, ħ, 𝘤, μ₀, mₑ, Mᵤ, Kcd, θ, λ, αL, g₀ are used to govern a specific unit system consistent scaling.
These are the constants boltzmann, planckreduced, lightspeed, vacuumpermeability, electronmass, molarmass, luminousefficacy, angle, rationalization, lorentz, and gravity.
Different choices of natural units or physical measurements result in a variety of unit systems for many purposes.
Main documentation is at https://units.crucialflow.com/unitsystems
Historically, older electromagnetic unit systems also relied on a rationalization constant λ and a lorentz force proportionality constant αL.
In most unit systems these extra constants have a value of 1 unless specified.
UnitSystem{kB, ħ, 𝘤, μ₀, mₑ, Mᵤ, (Kcd, θ, λ, αL, g₀, ...)}Fundamental constants of physics are: kB Boltzmann's constant, ħ reduced Planck's constant, 𝘤 speed of light, μ₀ vacuum permeability, mₑ electron rest mass, Mᵤ molar mass, Kcd luminous efficacy, θ angle measure, λ Gauss rationalization, αL Lorentz's constant, and g₀ gravitational force reference.
Primarily the Metric SI unit system is used in addition to the historic English engineering unit system.
These constants induce derived values for avogadro, boltzmann, molargas, planck, planckreduced, lightspeed, planckmass, dalton, protonmass, electronmass, newton, einstein, vacuumpermeability, vacuumpermittivity, electrostatic, and
additional constants molarmass, luminousefficacy, gravity, angle, turn, spat, stefan, radiationdensity, magnetostatic, lorentz, biotsavart, rationalization, vacuumimpedance, elementarycharge, magneton, conductancequantum, faraday, magneticfluxquantum, josephson, klitzing, hartree, rydberg, bohr.
Physics constant documentation is at https://units.crucialflow.com/constants
Standardized unit/derived quantities are hyperfine, loschmidt, wienwavelength, wienfrequency, mechanicalheat, eddington, solarmass, jupitermass, earthmass, lunarmass, earthradius, greatcircle, radarmile, hubble, cosmological, radian, steradian, degree, squaredegree, gradian, arcminute, arcsecond, second, minute, hour, day, gaussianmonth, siderealmonth, synodicmonth, year, gaussianyear, siderealyear, jovianyear, angstrom, inch, foot, surveyfoot, yard, meter, earthmeter, mile, statutemile, meridianmile, admiraltymile, nauticalmile, lunardistance, astronomicalunit, jupiterdistance, lightyear, parsec, bubnoff, ips, fps, fpm, ms, kmh, mph, knot, mps, barn, hectare, acre, surveyacre, liter, gallon, quart, pint, cup, fluidounce, teaspoon, tablespoon, grain, gram, earthgram, kilogram, tonne, ton, pound, ounce, slug, slinch, hyl, dyne, newton, poundal, poundforce, kilopond, psi, pascal, bar, barye, technicalatmosphere, atmosphere, inchmercury, torr, electronvolt, erg, joule, footpound, calorie, kilocalorie, meancalorie, earthcalorie, thermalunit, gasgallon, tontnt, watt, horsepower, horsepowerwatt, horsepowermetric, electricalhorsepower, tonsrefrigeration, boilerhorsepower, coulomb, earthcoulomb, ampere, volt, henry, ohm, siemens, farad, weber, tesla, abcoulomb, abampere, abvolt, abhenry, abohm, abmho, abfarad, maxwell, gauss, oersted, gilbert, statcoulomb, statampere, statvolt, stathenry, statohm, statmho, statfarad, statweber, stattesla, kelvin, rankine, celsius, fahrenheit, sealevel, boiling, mole, earthmole, poundmole, slugmole, slinchmole, katal, amagat, lumen, candela, lux, phot, footcandle, nit, apostilb, stilb, lambert, footlambert, bril, neper, bel, decibel, hertz, apm, rpm, kayser, diopter, gforce, galileo, eotvos, darcy, poise, reyn, stokes, rayl, mpge, langley, jansky, solarflux, curie, gray, roentgen, rem.
Standard physics units are at https://geophysics.crucialflow.com/dev/units
Additional reference UnitSystem variants: EMU, ESU, Gauss, LorentzHeaviside, SI2019, SI1976, CODATA, Conventional, International, InternationalMean, Engineering, Gravitational, IAU, IAUE, IAUJ, FPS, IPS, British, Survey, Hubble, Cosmological, CosmologicalQuantum, Meridian, Nautical, MPH, KKH, MTS, FFF; and natural atomic units based on gravitational coupling and finestructure constant (Planck, PlanckGauss, Stoney, Hartree, Rydberg, Schrodinger, Electronic, Natural, NaturalGauss, QCD, QCDGauss, and QCDoriginal).
Unit conversion documentation is at https://units.crucialflow.com/convert
Derived Unit conversions:
Mechanics: angle, solidangle, time, angulartime, length, angularlength, area, angulararea, volume, wavenumber, angularwavenumber, fuelefficiency, numberdensity, frequency, angularfrequency, frequencydrift, stagnance, speed, acceleration, jerk, snap, crackle, pop, volumeflow, etendue, photonintensity, photonirradiance, photonradiance,
inertia, mass, massflow, lineardensity, areadensity, density, specificweight, specificvolume, force, specificforce, gravityforce, pressure, compressibility, viscosity, diffusivity, rotationalinertia, impulse, momentum, angularmomentum, yank, energy, specificenergy, action, fluence, power, powerdensity, irradiance, radiance, radiantintensity, spectralflux, spectralexposure, soundexposure, impedance, specificimpedance, admittance, compliance, inertance;
Electromagnetics: charge, chargedensity, linearchargedensity, exposure, mobility, current, currentdensity, resistance, conductance, resistivity, conductivity, capacitance, inductance, reluctance, permeance, permittivity, permeability, susceptibility, specificsusceptibility, demagnetizingfactor, vectorpotential, electricpotential, magneticpotential, electricfield, magneticfield, electricflux, magneticflux, electricdisplacement, magneticfluxdensity, electricdipolemoment, magneticdipolemoment, electricpolarizability, magneticpolarizability, magneticmoment, specificmagnetization, polestrength;
Thermodynamics: temperature, entropy, specificentropy, volumeheatcapacity, thermalconductivity, thermalconductance, thermalresistivity, thermalresistance, thermalexpansion, lapserate,
molarmass, molality, mole, molarity, molarvolume, molarentropy, molarenergy, molarconductivity, molarsusceptibility, catalysis, specificity, diffusionflux,
luminousflux, luminousintensity, luminance, illuminance, luminousenergy, luminousexposure, luminousefficacy.
Other similar packages include UnitSystems.jl, MeasureSystems.jl, PhysicalConstants.jl, MathPhysicalConstants.jl, Unitful.jl, UnitfulUS.jl, UnitfulAstro.jl, UnitfulAtomic.jl, NaturallyUnitful.jl, and UnitfulMoles.jl.
Timeline of UnitSystems.jl registration and Wolfram Research plagiarism:
- 2019: The SI2019 standard is formalized with a primitive SI only unit-system based on 7 physics dimensions (massive collaboration).
- 2020: Registered DOI 10.5281/zenodo.7145479, UnitSystems.jl
- 2021: Discused with Ted Corcovilos about what the unsolved and nuanced issues are with defining physics units, which I then solved by independently creating the never before seen 11 dimensional Unified System of Quantities (USQ) for physics, which was standardized in detail and completely handcrafted by myself alone.
- 2021: Wolfram Research invited me to their Summer School, where everyone was hinting at the fact I would be hired there.
- 2022: Wolfram Research interviewed and then hired me, with an explicit interest in my UnitSystems.jl work from lead developers. They requested that I present them my independently discovered UnitSystems.jl results in the Wolfram Language to make a comparison with their existing system. While I was shortly an employee at Wolfram, I indeed directly handed them my newly discovered Unified System of Quantities. My work was already independently complete and prepared ready to incorporate into their stack. They acknowledged that their system was old and outdated compared to mine, as they only implemented a Metric and Imperial unit system, and neither of these was up to the standard of my UnitSystems.jl standard. However, they told me that I would not be allowed to work on this project further because they didn't want to upgrade their systems. Instead, they did the software equivalent of placing me in a backroom shed to mop the floors. After 6 months they ended the contract and it turned out they lied to me on the job application about what my role would be (they said I would be part of the core team with Jonathan Gorard, but this was a blatant lie).
- 2023-2025: Wolfram keeps inviting me to their Winter/Summer schools to help mentor people, but I declined because I am too busy making progress in my research (why directly help mentor my competitors, who made it clear that they don't want to actually support my work); their use of social environments feels predatory.
- 2025: Wolfram bribes Memes of Destruction at Wolfram Summer School to take my fully prepared work and use it to boost the Wolfram brand on social media, presenting my completed project with AI generated text as if it was Wolfram's idea, without crediting that I was the person who directly handed them the completed project years earlier (but without AI generated text they added).
Did Wolfam think that they can pluck low hanging fruits from my garden to build their brand on social media? My only goal here is to show that these low hanging fruit Wolfram plucked, these fruits came from my public garden and were not grown or developed by them from scratch, it's my solo-project.
Academic institutions should be direclty investing in my research instead of funding and enabling Wolfram Research to systematically gangstalk me with an army of employees. I can feel the presence of Wolfram looking over my shoulder and monitoring my every step. There seems to be an entire economy of people being paid to monitor and surveil me, while I struggle to survive with my resources. Stephen Wolfram never seemed to care about earning my respect. Every time I interacted with him, he was only focused on talking about himself and that was the only topic.
It's fascinating to me how unaware Stephen Wolfram is of the fact that people perceive him as textbook specimen of ultra-narcissism. This is because he is entirely surrounded by people with a salary depending on how much they inflate Stephen Wolfram's ego, which completely divorces these people from the reality of doing actual scientific research. Wolfram's premise seems to be that they can use gangstalking to target open source developers like me to data-mine our work, enabled by funding granted from academic institutions who don't check for Wolfram's plagiarism violations.
Combining the ultra-narcissism of Wolfram with the economic incentive to target open source developers with gangstalking by an army of employees, it becomes highly uncomfortable knowing that these people are incentivized to gangstalk me for the rest of my life with smear campaigns and so on.
I urge academic institutions to quit enabling and sponsoring Stephen Wolfram's systematic gangstalking of individuals like me. He shouldn't be rewarded for plucking fruit from my public gardens, which I handcrafted. % by myself. Wolfram's goal seems to be taking the fruit of my work in a cowardly and uncollaborative way. Wolfram does not acknowledge that my science research is what's boosting their brand in the social media campaign funding Memes of Destruction.
Julia Computing are no better stewards, they are also unehtical people, but at least their product is open source and therefore a solid foundation. My work on UnitSystems.jl and the entire process of creating the new 11 dimensional Unified System of Quantities (USQ) was all done entirely in public on GitHub and each release registered with several scientific websites. This is only one of my side projects, the mainstream of my research is my differential geometric algebra software development, Grassmann.jl and Cartan.jl, and various related work at the cutting edge of science, making me a bigger target for Wolfram's gangstalking. Wolfram is now constantly being observed in attempting to keep up with my research by systematically gangstalking me in a hush-hush way, not acknowledging me. With shady business practices, I have to wonder what other fraud is being commited.
It appears that Wolfram tends to resort to plagiarism of other people's works by data mining other people's creativity through employment, ghostwriters, summer schools, shady business practices, identity theft, bribes.
The incentive behind this systematic gangstalking appears to be this: instead of working with me directly, they all wish to ostracize, isolate, and erase me. Their eventual goal is replacing me and then retroactively claiming credit for my past achievements to boost their brands. Ironically, the temptation (to incorrectly eat the fruit of my labor like this) will be their downfall, as this choice is accompanied by firm evidence of plagiarism. Plagiarism is considered a violation of academic standards by the academic institutions funding Wolfram Research. My projects are effectively ego-traps, which will trigger the downfall of an ultra-narcissit ego if incorrectly consumed. I know the academic institutions don't acknowledge me either, so all I can do is to permanently add the Wolfram plagiarism disclaimer to the original sources.
Having a quick 0-60 speed in pathological lying is not necessarily a sign of high intelligence in long term thinking. Rather, it's an indicator of a complete lack of long term thinking, demonstrating optimization toward the short term illusions of success, which falls apart upon any scrutiny.
If Wolfram does not want to be perceived as confirmed plagiarist, then Wolfram must acknowledge Michael Reed as the original creator of the new Unified System of Quantities (USQ), which is the underlying foundation for the completed research project I handed them (and they padded with AI generated text). Wolfram is well known for the claims that LLMs will replace writing code and text, so we have to assume the foundations of their work rests in AI generated text, on top of my presented complete project foundation. The LLMs and AI models all know about my UnitSystems.jl work and mine was the only reference work in existence which completed this type of work. Therefore, if using AI or LLM generated text to manipulate my unique project, this is effectively transforming the original source data which was ingested from my work using my own knowledge embedded in the LLMs. Wolfram is regurgitating the fruits of my labor without acknowledging that I directly handed this to them as a completed project.
Memes of Destruction self proclaims to not be an expert on the topic and publicly discloses the paid sponsorship from Wolfram for the social media campaign, at least this is some transparency.
-- Michael Reed's audience reaction to Wolfram's plagiarism
This preface was written in 2025, the UnitSystems.jl Appendix has been documented on my website and registered as Julia package since 2020.
Core UnitSystems.jl} standard was last updated in 2022, while Similitude.jl and MeasureSystems.jl have received minor software design updates since.