yarb - w a t e r

kirawano

Projects
YARB
Contact
setup
cat_dump
88x31
MIKU GNU html vim blends
March 16th, 2026

Wet Units: A Second Attempt

no matter what i do this will always be the speed with which i make blog posts huh

What is consistency? Why does consistency matter? Does the speed with which one creates mediocrity have any effect on the weight of said mediocrity? These are questions that will not be answered here, maybe never in my lifetime, but they are pertinent questions indeed.

I'm back to scream into the proverbial void of the world wide web, with me being the only person to hear my echoes. This time, I have a bone to pick with a blog post that I made a while back, where I cobbled together a low-effort unit system called water units for the purpose of pointing out why people who endlessly dunk on fahrenheit are hypocrites. I'm here to improve on that joke more, with linear algebra playing a more central role this time (mostly because that's the class I'm in right now).

Ok, how many constants do we need?

This is actually an interesting question, because there is a definite answer: 7! (Not 7 factorial, but 7 to invoke shock) 7 will always be the best we can do to "span" SI units. This was something I had trouble wrapping my head around before taking linear algebra, but if we think about units as an abstract vector space, it becomes clearer.

In a linear algebra context, a unit system is coherent if it spans every possible physical unit that we could ever hope to describe. In our reality, that takes the form of the following physical traits: time, length, mass, current, temperature, luminous intensity, and amount of substence (e.g. molarity). Since every unit is described as a combination of powers of these units, we can describe an abstract vector space in R7 where each unit is a vector ∈ R7.

sorry for not using fancy R, dont wanna deal with that

So, if you know a thing or two about linear algebra, you know that in order to construct a valid basis for some Rn (i.e. the set of vectors that span Rn with the smallest possible size) you need at least n vectors. Hence, you need 7 physical constants to make a coherent unit system!

This fact is more evident if you think about it in two dimensions, so imagine a world where the only two physical attributes we worry about are "coolness" and "softness" (call them C and S) which can both be represented by exactly 1 real number. In this case, possible units are represented by a plane (let's say that coolness is on the x-axis, and softness is on the y-axis). If we only have one unit, called v with properties C1 S2, that vector would look like this in our space:

just a lonely vector

If we want to consider the amount of possible vectors made from linear operations on v (in our case, that only involves scalar multiplations of v), that would be the line S = 2C, shown like this:

just a lonely line

Now, note that a 1D line is the maximum amount one vector is able to create, since there's only one degree of freedom. If we add another vector, u = C3 S1, then things change:

two lovers

Since these two vectors aren't on the same line, we're able to make linear combinations of them that "span" the whole plane of R2. Formally, we would state this as span{v, u} = R2.

Note that v and u have to not lie on the same line, as you could express one vector as a scalar multiple of the other, thus leaving you with one degree of freedom.

We can extend this argument to 7 dimensions, but doing that formally is left as an exercise to the reader. What matters is that we have an intuition now for why we need 7 units.

How do we improve the jab?

By this, I mean that the unit system should rely more on completely arbitrary physical properties of water to form a basis. I want to keep the boiling point of water as a fundamental constant, but to grill in the point that it's an arbitrary choice, I'm going to make it the boiling point of water in Denver, Colorado (which, fun fact, is on average 1 mile above sea level): approximately 367.85 K. I'll denote it as BD There are some other changes that I'm going to make (e.g. dropping niagra-years in exchange for something more physically stable), but this change is fairly reflective of the improvements that I'm making to the system.

Now, look, I know what you're thinking: "This is pointless! Celsius is based off SI units now, there's no point to drilling in a no longer existing standard that celsius is based off the approximate boiling temperature of water." I think one of the main reasons I'm doing this is to painstakingly communicate that point, actually. Before modern-day SI units, our standards were fuzzy at best: celsius, kilogram, pound, meter, etc. No system of units was ever more objective than another before we were able to precisely formulate universal constants - it's why everything is based off planck units now (imperial units - or at least US customary units - are actually based off planck units indirectly, since they're defined by the metric system which is defined by SI units; incredibly stupid).

I'm choosing to keep the specific heat of water at STP (written as C, 4.184 J / g K), which means that to achieve mass we'll need a unit of energy. There's one here that, while insanely cursed given the rest of the units I'm using, is the British thermal unit (Btu). Before this was based on SI units (like everything else nowadays), this was the amount of energy required to raise one pound of water by one degree fahrenheit. This is around 1055 J.

Looking at these 3 basis units, you may be compelled to try and wrench together a unit system. However, judging by the structure of the current matrix that represents the unit system, we are unable to create coherence within the 4 "basic" units (time, length, mass, and temperature), since we only have 3 units. If you recall, 3 basis vectors are unable to span R4. Thus, we need one more unit.

For another choice that relies on antiquated judgements of the volume of water, I'm going with the imperial gallon, which is (now defined to be) exactly 4.54609 L. With dimensionality of l3, we're able to add a 4th column to our matrix. The last thing to do is to see if this matrix is invertible, which, if we made our choices right, it should be (this corresponds to all of the basis vectors being linearly independent, meaning that you can't express one as a combination of the others). We then have a 4x4 matrix that is "somewhat coherent" (i.e. it spans R4 which represents the vector space of the 4 "most important units") that looks like this (written with sympy):

W = Matrix([
[-2, 0, -2, 0],
[2, 0, 2, 3],
[0, 0, 1, 0],
[-1, 1, 0, 0]])

I've chosen the rows to be time (t), length (l), mass (m), and temperature (theta), and the columns to be C, BD, Btu, and G.

To see if this sytstem is somewhat coherent, we just check to see if W is invertible, which, through proof by calculator (det W = 6), we see that it is. Hooray!

Converting wet units to SI units

We have a square matrix W, but multiplying W by vectors in R4 will turn pure, dimensional quantities (i.e. t-1l1) into wet units. By some simple matrix algebra, we invert W to convert dimensional quantities into wet units. Since SI is very nicely lined up with these fundamental dimensional quantities, we can simply replace the symbols with their SI counterparts to find our answer. For example, the wet second can be found through the following snippet of python code:

(W**-1)*Matrix([[1], [0], [0], [0]])
= Matrix([[-1/2], [-1/2], [0], [1/3]]).

Which is equivalent to the wet units C-1/2 BD-1/2 G1/3. Doing some dimensional analysis that I'm going to skip, we see that this checks out!

As an aside, we can convert all of our units to metric to find what one wet second is, which turns out to be around 0.0000125 SI seconds. Let's do that for some other units, since naming things is fun:

Completing the rest of the basis

To cover for amount of substance (N), I'm going to use the molarity of one liter water at STP. This is equivalent to the amount of moles of 998.2071 g of H2O, which is 55.40891399 M.

We have 2 more base units to add, still needing to cover electrical current and luminous intensity.

For electrical current, I'm choosing to use the conductivity of distilled water, which is on average 1.75 micro-siemens per meter. This has SI units of kg m3 s−3 A−2, giving us the unit of electrical current that we need.

One more; luminous intensity is the most niche of the 7 dimensions. In light of that ( ;) ), I'm going to do something a bit different. Take a black body that is 100 trickles in radius with a temperature of 1 BD. Our constant, noted as A (for Arbitrary), is the luminous intensity of that black body. Luminosity from a black body is calculated with temperature, radius, pi, 4, and the stefan-boltzman constant (anything to avoid rendering latex right now). Once we have our luminosity, we note that the surface area covered by one steradian is r2 = 10000 trickles2, we can then divide the luminosity by this value to achieve our desired constant for luminous intensity: A ~ 13046 cd.

Summing up the entire thing in a table...

Unit Name Value SI unit
C, the specific heat of water 4.184 J g-1 K-1 m2 s-2 K-1
BD, the boiling point of water (in Denver, Colorado) 367.85 K K1
Btu, the British Thermal Unit 1055.056 J kg1 m2 s-2
G, the British Gallon 4.5461 L m3
M, The Molarity of 1 L of water (STP) 55.40891399 mol L-1 m-3 mol1
k, The conductivity of distilled water 1.75 S m-1 kg m3 s−3 A−2
A, The conductivity of distilled water 13046.80207 cd cd1

And so we're done. This unit system has confusing and conflicting origins, arbitrary decisions made in constant determination, and values that mostly do not work at a human scale. I'd say that this is plenty cursed, esoteric, and wet. Our final matrix looks like this:

W = Matrix([
[-2, +0, -2, +0, +0, +0, +0],
[+2, +0, +2, +3, +0, +0, +0],
[+0, +0, +1, +0, +0, +0, +0],
[-1, +1, +0, +0, +0, +0, +0],
[+0, -3, +0, +0, +0, +1, +0],
[-3, +3, +1, +0, -2, +0, +0],
[+0, +0, +0, +0, +0, +0, +1]])

The columns correspond to the order shown in the table above, and the rows are the following: time, length, mass, temperature, electric current, amount of substance, and luminous intensity.

So, what's the point?

Well, as with most of my endeavors, there isn't really one, so I try to hastily staple some pseudo-philosophical musing at the end to make me seem more wisened than I actually am. There's obvious joy to be found in this type of mathematical play, and I thought that the linear algebra behind unit system coherence is fairly interesting to think about. My hate for celsius lovers is largely theatrical, and it really doesn't matter which unit system you use in daily life, since all of it is arbitrary (yes, even you Kelvin).

I'm going to keep thinking about this, but as of right now I'm fairly strapped for time. The next time I make a blog post about unit systems will probably be purely linear algebra focused, but it felt wrong to not do wet units the justice they deserve.