Skip to content

chakravala/UnitSystems.jl

Repository files navigation

UnitSystems.jl

Physical unit systems (Metric, English, Natural, etc...)

DOI PDF 2020-2025 Docs Stable Build status

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 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. A UnitSystem can only be useful as a measuring standard if it can be scientifically reproduced, so the data here has been implemented in several important scientific programming languages (initially in the Julia language but also Wolfram language and Rust langauge) as well as presented abstractly in terms of dimensional formulas.

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. Additionally, in the UnitSystems repository there is an equivalent Wolfram language paclet Kernel and also an unmaintained Rust src implementation. 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 UnitSystems # or Similitude or MeasureSystems

An 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://geophysics.crucialflow.com/dev/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://units.crucialflow.com/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.

Generalized dimensionless Coupling:

Coupling{αG,α,μₑᵤ,μₚᵤ,ΩΛ}

Specification of Universe with the dimensionless Coupling constants coupling, finestructure, electronunit, protonunit, protonelectron, and darkenergydensity. Alterations to these values can be facilitated and quantified using parametric polymorphism. Due to the Coupling interoperability, the MeasureSystems package is made possible to support calculations with Measurements having error standard deviations.

Other similar packages include Similitude.jl, MeasureSystems.jl, PhysicalConstants.jl, MathPhysicalConstants.jl, Unitful.jl, UnitfulUS.jl, UnitfulAstro.jl, UnitfulAtomic.jl, NaturallyUnitful.jl, and UnitfulMoles.jl.

Wolfram plagiarism timeline

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.