Hacker News June 22, 2026 33 min signal 2026-06-22

Everything is logarithms

Archived text mirror, captured for personal reading when the Signal ran. Formatting is approximate — read the original at the source.

alexkritchevsky a blog home about atom.xml

all articles: math tech

reading list darken Everything Is Logarithms May 25, 2026

Some connections between things, which I have not seen elsewhere. Maybe they mean something?

1. The Baseless Logarithm

Normally one writes a logarithm with a base, log b ​

(x), to mean

y=log b ​

(x)⇔b y =x

And then you can change the base of the logarithm with

log b ​

(x)= log a ​

(b) log a ​

(x) ​

Which follows from rearranging log a ​

(x)=log a ​

(b log b ​

x )=log b ​

(x)×log a ​

(b).

One way of thinking about what this formula does is that it is a change of units, akin to writing 2 km=2000 m/ 1 km 1000 m ​

or 5 bytes=40 bits/ 1 byte 8 bits ​

. It says: how many copies of b are in x? It’s the number of copies of a in x, divided by the number of copies of a that are in b.

This is perfectly simple, but for some reason it’s hard to think about logarithms that way. The notation kind of… obfuscates things? Specifically it is hard to read log b ​

x as “how many copies of b are in x”, because that English expression should correspond to the notation x/b, not log b ​

x. “How many factors of b are in x” is a bit better, but it still feels off.

I found a way of thinking about logarithms which I think makes this clearer, but you have to allow a sort of odd object that I am call the baseless logarithm. It is simply a logarithm without a base:

logN

which we regard as an abstract object, not a number. Then we write our normal “based” logarithm as a ratio of two of these baseless logarithms:

log 2 ​

N= log2 logN ​

Note, this is already a thing people do colloquially, e.g. leaving out the base of logarithms in asymptotic formulas. But I do not mean it as a shorthand; it is more useful to regard it as an actual algebraic object.

We interpret log2 as being the unit “bits”. To write logN in bits is to factor it as a multiple of log2:

logN= log2 logN ​

log2=log 2 ​

(N)log2=log 2 ​

(N) bits

Then the change-of-base for logarithms follows from just writing the same geometric quantity in different units. For example loge as a unit is sometimes called “nats”:

logN= log2 logN ​

log2=log 2 ​

(N) bits= loge logN ​

loge=ln(N) nats ​

The baseless logN is sort of the multiplicative version of an object that might be familiar from discussions of vectors. It is common with vectors to distinguish between points and displacements: a displacement vector v is given by the difference of two points v=(b)−(a). When we write think of points as having coordinates, this involves an explicit choice of origin O, such that a≡(a)−O and b≡(b)−O. Then a displacement vector is constructed by subtracting off the factors of O, v=b−a=((b)−O)−((a)−O)=(b)−(a). The baseless logarithm implements the same thing but with multiplication: the value logN may be thought of as logN/logO for an unspecified choice of origin; turning it into an actual numeric value involves dividing two such logarithms to cancel out the origin, log M ​

N=logN/logM=(logN/logO)/(logM/logO). I think of logN as the point corresponding to N and logN/logO as its corresponding displacement vector once you pick a coordinate system. The point version is more fundamental.

You might ask: if we have a baseless logarithm logN, do we also have a “baseless exponential”? Normally b log b ​

N can be written as something like b log b ​

N =b lnN/lnb =e lnN =N; is there any way to do this without actually choosing a base, like (∗) logN or something? I think the answer has to be “no”, because I can’t think of a way to make it mean anything. All we can say is that we have split the one object, a logarithm log b ​

N which is the solution of b y =N, into two objects, logN and logb, each of which on their own are without “units” and so have no numerical meaning.

So logarithms act kinda like multiplicative vectors, in the sense that they have have to defined relative to an ‘origin’, a choice of base. In fact there are many surprising similarities between logarithms and vectors, which I had fun expositing about:

2. Logarithms are Vectors

When doing vector algebra and differential geometry in a properly covariant way, we distinguish between abstract vectors and vectors in a particular coordinate system.

My personal convention for this is to refer to the abstract vectors as “geometric” vectors and always write them in bold, v, whereas “coordinate” vectors, tuples of their values in coordinates, are written with an arrow over them like v =(v x ​

,v y ​

,v z ​

). Boldface geometric vectors are always coordinate-free, whereas coordinate vectors are just collections of numbers or other objects. The geometric vector v can be written as a dot product of its coordinates with a ‘frame’ X=(x,y,z) of basis vectors

v= v ⋅X=(v x ​

,v y ​

,v z ​

)⋅(x,y,z)=v x ​

x+v y ​

y+v z ​

z

The projection of v onto a basis vector x is then given by ‘measuring’ the vector against the basis vector (which does not have to be of unit length). I like to write this as division because it acts a lot like division (although it’s technically pseudodivision instead):

x v ​

=v x ​

That’s in my own very nonstandard notation1

1I hope to write a better standalone article about this notation soon. I’ve been trying to do so for a few years now but I seem to start losing my sanity whenever I try to work on it so it hasn’t happened yet. When I do finally manage to do it I’ll update this.

for vector division here. The more common way to write this is to project a component of a differential df=f x ​

dx+f y ​

dy+f z ​

dz with a partial derivative, which is also the pseudodivision operation (which is incidentally the sense in which partial derivatives kinda work like division but not really):

∂x ∂f ​

=f x ​

I will write things in both forms to make it easy to translate between them; I do prefer my vector-division version because it avoids bringing in the irrelevant notations of differential calculus, but since the latter is actually standard I ought to include it for comparison.

Suppose v is one-dimensional, v=v x ​

x. Then the projection onto a ‘measuring stick’ m=mx measures its length in terms of multiples of m:

m v ​

= mx v x ​

x ​

= m v x ​

Multiplying by m again is what we mean by “writing v in units of m”:

m v ​

m=( m v x ​

)(mx)

Here m is the unit “meters” and v x ​

/m is the value of v x ​

written in meters. Of course to actually compute v x ​

/m you have to have it in units in the first place—but clearly it’s the same kind of thing as in the logarithm case, where you can think of v and m as “unitless” concepts that are compared geometrically, and then v x ​

/m as their projections into an aribtrary coordinate system.2

2In differentials, this operation the differential of f but restricted to its dx component: ∂x ∂f ​

dx=f x ​

dx=df∣ x ​

. This is a perfectly interesting object, a covariant derivative on the foliations of the x coordinate, I believe (if I have that right), but it’s not normally written this way.

The baseless logarithm is performing the same operation on logarithms, where logN is filling the role of the geometric vector v and log2=bits is the unit vector or measuring stick, which takes the role of x.

log2 logN ​

log2 logN ​

log2 ​

=log 2 ​

N =log 2 ​

N bits ​

In this sense baseless logarithms write numbers in coordinates in exactly the same way that measuring sticks write vectors in coordinates.

The equivalence of logarithms in different units

logN ​

= log2 logN ​

log2=log 2 ​

(N) bits = loge logN ​

loge=ln(N) nats ​

is the same as the equivalence of geometric vectors in different units

v ​

= x v ​

x=v x ​

x = x ′ v ​

x ′ =v x ′ ​

x ′ ​

or

df ​

= ∂x ∂f ​

dx=f x ​

dx = ∂x ′ ∂f ​

dx ′ =f x ′ ​

dx ′ ​

And the change of base formula that computes a ratio of logarithms in different bases

log 2 ​

N bits log 2 ​

N ​

=lnN nats = bits nats ​

lnN = log2 loge ​

lnN =log 2 ​

(e)lnN ​

is exactly like the change of coordinates for a vector, where x and x are two units for the same quantity.

v x ​

x v x ​

=v x ′ ​

x ′ = x x ′ ​

v x ′ ​

or3

3The f x ​

=∂ x ​

f=∂f/∂x notation for partial derivatives is unfortunate; it should be df dx ​

, to indicate that it is the “dx component” of the vector df, or d x ​

f, meaning the x component of d acting on f. Better yet it would be (∂f) ∂x ​

=∂ x ​

f and the d symbol would be retired, but that seems like a tall order.

f x ​

dx f x ​

=f x ′ ​

dx ′ = dx dx ′ ​

f x ′ ​

What logarithms don’t allow that vector division and differential notations easily do is to talk about a partial projection operation or a partial derivative in isolation. For example, if N=2 a 3 b , you can only talk about the “total” logarithm, the ratio with respect to a single unit log2

log2 logN ​

=a log2 log2 ​

+b log2 log3 ​

=a+blog 2 ​

3

which is equivalent to writing a vector as a multiple of a single basis vector (like in Clifford/geometric algebra)

x v ​

=v x ​

+v y ​

x y ​

or to a total derivative

dx df ​

=f x ​

+f y ​

dx dy ​

But there is no equivalent of the operation of partial differentiation, a “partial logarithm”, which would let you factor a number like

N = ? (log ∂2 ​

N)log2+(log ∂3 ​

N)log3

However, I keep finding that people have gone and invented the projection / partial derivative operation on logarithms anyway. For example, the p-adic valuation in number theory

ν p ​

(n)=max{k∈N∣p k ∣n}

corresponds to extracting the coefficient of logp of an natural number in a logarithmic basis

logn ν p ​

(n) ​

=log2 n 2 ​

3 n 3 ​

5 n 5 ​

⋯ =n 2 ​

log2+n 3 ​

log3+n 5 ​

log5+… =n p ​

Each coefficient is a positive integer, and ν p ​

just takes the component corresponding to logp. Clearly logn acts like a vector (although since the coefficients are in N it is technically a commutative monoid instead of a vector space… nevertheless, it has the familiar structure of a vector). Since ν p ​

is a ‘projection’ out of this logarithm, it still obeys logarithmic identities like ν p ​

(m/n)=ν p ​

(m)−ν p ​

(n). But there is not really a good notation for actually expressing it as a projection, so sadly it gets a whole separate nomenclature that you have to learn.4

4There is also a thing called an arithmetic derivative and a corresponding partial derivative D p ​

(n)=ν p ​

(n)/p, but as far as I can tell it’s not quite the same thing and not what I’m looking for.

The same thing also works for rational n or radical n (meaning it is the product of radicals of prime factors), in which case the coefficients become integers or rationals. (As a bonus the resulting objects live in an actual vector space.)

Another example of these logarithmic projections: in complex analysis the “order of vanishing” ord a ​

f(z) of a meromorphic function f(z) at a point z=a is the order of the pole or zero at a point (where zeroes are like negative poles). That is, it is the degree n of the lowest-degree term in the Laurent series of the function around the point z=a,

f(z)=f −n ​

(z−a) −n +f −n+1 ​

(z−a) −n+1 +⋯+f −1 ​

(z−a) −1 +f 0 ​

+f 1 ​

(z−a)+⋯

(that is, the value of n such that (z−a) n f(z) is holomorphic around a). This is extracted with a logarithm:

ord a ​

f(z)= z→a lim ​

log(z−a) logf(z) ​

=−n

since for z≈a, f(z)∼f −n ​

(z−a) −n which dominates the other terms that blow up less quickly. If we write g(z) for the rest of f(z) which has ord a ​

(g(z))>−n:

z→a lim ​

log(z−a) logf(z) ​

= z→a lim ​

log(z−a) log(f −n ​

(z−a) −n +g(z)) ​

= z→a lim ​

log(z−a) logf −n ​

(z−a) −n (1+ f −n ​

g(z) ​

(z−a) n ) ​

= z→a lim ​

log(z−a) logf −n ​

−n log(z−a) log(z−a) ​

+ log(z−a) log(1+c(z−a)) ​

=−n ​

So this is a very similar operation: the limit lim z→a ​

log(z−b)/log(z−a)=1 a=b ​

serves to cancel out the rest of the terms, like how ∂ j ​

dx i ∼(∂x i )/(∂x j )=1 i=j ​

serves to cancel out the terms in a partial derivative, extracting the dx component of df=f x ​

dx+f y ​

dy+….

(I’m not very good at complex analysis so that’s all I’m going to say about that. Still, it seems clear that this is basically the same operation.)

We see that the baseless logarithm logn works a lot like a vector v or differential df, and then expressing a logarithm in a base like log 2 ​

n=logn/log2 is a lot like a total derivative df/dx or Clifford division v∗x −1 . What is missing is some equivalent of the partial derivative / projection operator that projects only onto that component… but various fields have gone and Found a way to invent that anyway, either in the form of a partial derivative ∂f/∂x, or just by making up the p-adic valuation ν p ​

, or by the limits lim z→a ​

logf(z)/log(z−a) in complex analysis. The similiarities are all suspicious, though, and I can’t help but think there is some unifying theory here that ties all this together… but I can’t see what it is yet.

One thing that we might try in order to invent a log 2 ​

N that acts like ∂ x ​

f or v/x is to somehow restrict the values of the logarithms to certain spaces, e.g. integers or rationals. Since the {logp i ​

} are linearly indepedent (which is essentially equivalent to prime factorizations being unique), you would end up with objects like log 2 ​

3=log 3 ​

/log 2 ​

which have no value in Q; “zeroing” those out then gives something that acts like a partial derivative. But I don’t know if that’s useful. Certainly it doesn’t help in any numeric context.

Anyway, onto more things that are logarithms.

3. Vectors are also Logarithms?

In differential geometry one interprets vectors like v=v x ​

x+v y ​

y being written in a basis of partial derivative operators, v=v x ​

∂ x ​

+v y ​

∂ y ​

. These can then be used to create discrete translations which move around in the various coordinates,

T v =e v =e v x ​

∂ x ​

+v y ​

∂ y ​

The partial derivatives are here in order to make it operate on functions

e v x ​

∂ x ​

+v y ​

∂ y ​

f(x,y)=f(x+v x ​

,y+v y ​

)

which is true at the level Taylor expansions as well. I often find it easier to dispense with the partial derivatives and just think of these as translation operators on the space (x,y) directly

e v x ​

∂ x ​

+v y ​

∂ y ​

(x,y)=(x+v x ​

,y+v y ​

)

(You can think of this acting on the function f(x,y)=(x,y) also, but that feels like overkill.)

In any case, all this is really doing (in flat space, at least) is rewriting the additive vector v into a multiplicative form T v which corresponds to the same operation. Things are just being written differently: its terms are multiplied instead of added, and scalar coefficients are applied via exponentiation instead of multiplication. A basis for the vector space now consists of translation operators in each coordinate:5

5If you happen to have a vector in a polar form like v=v r ​

e Rv θ ​

, that refers to a second layer of exponential representation, via T v =T v r ​

e ∂ θ ​

v θ ​

(∂ x ​

) , where ∂ x ​

is a choice of origin for the rotational θ coordinate (which may be multidimensional as well).

T v =e v x ​

∂ x ​

e v y ​

∂ y ​

=T x v x ​

T y v y ​

(In non-flat space this is not so simple because the translations in different coordinates may not commute; you can still write it in this form but it’s a lot more complicated.)

What this means for us is: look, vectors are logarithms too!

lnT v ​

=lnT x v x ​

T y v y ​

=v x ​

lnT x ​

+v y ​

lnT y ​

=v x ​

∂ x ​

+v y ​

∂ y ​

I can’t exactly say why, but it seems preferable to have this written in terms of baseless logarithms also. We do this by realizing that T x ​

=e ∂ x ​

=T ∂ x ​

and thinking of this symbol T as a sort of ‘generic’ base for translations, absent the numeric meaning of the symbol e, which has logT x ​

=logT ∂ x ​

=∂ x ​

logT. Then

logT v =vlogT=v x ​

∂ x ​

logT+v y ​

∂ y ​

logT

And then we can write v=log T ​

T v =logT v /logT. This is equivalent to the natural log version but it avoids explicitly depending on the numeric value of e: any choice of base for the logarithm T gives the same concept of a vector, written in terms of the exponentiation of T, but now we make explicit that the ‘units’ on v come in part from the units on logT itself.

So vectors in differential geometry may also be thought of as logarithms, specifically, the logarithms of translation operators.

Regular multiplication can even be viewed as an example of this. A product like xa can be rewritten as “translation” in the lna coordinate:

xa=e lnx e lna =e (lnx)∂ lna ​

a=x ∂ lna ​

a

I mention this because it’s cute, but I can’t imagine how it would ever be useful.

4. Logarithms are Derivatives?

This part doesn’t really connect to the rest; I just thought I would mention it so that this article contains every fun fact about logarithms that I know.

One way of defining the natural logarithm is

lnx= a→0 lim ​

a x a −1 ​

Which can be found by rewriting x a =e alnx and then Taylor expanding:

a x a −1 ​

= a e alnx −1 ​

= a (1+alnx+…)−1 ​

= a→0 lnx

Plugging in (1+x) reproduces the Taylor series for ln:

ln(1+x) ​

= a (1+x) a −1 ​

= a ∑( k a ​

)1 n−k x k −1 ​

= a (1+ax+ 2 a(a−1) ​

x 2 +…)−1 ​

= a→0 x− 2 1 ​

x 2 + 3 1 ​

x 3 −… ​

The lim a→0 ​

(x a −1)/a formula for lnx resembles a derivative. To make it explicit, we can write it as

lnx= dy→0 lim ​

dy x y+dy −x y ​

∣ y=0 ​

=∂ y ​

x y ∣ y=0 ​

What I like about this form is that it explains what ln is doing in calculus comes from by connecting lnx with x 0 . It always struck me as strange that ∫x k =lnx for k=−1, whereas it is a polynomial for all other values of k. Why is a logarithm like a polynomial? Turns out it’s because in a lot of ways lnx acts like x 0 . Specifically it’s the ‘interesting’ part of x 0 , its first order approximation around x=1:

lnx∼ 0 x 0 −1 ​

Just for fun, try using ∂ x ​

x k =kx k−1 on it:

∂ x ​

lnx=∂ x ​

0 x 0 −1 ​

= 0 0x −1 ​

= x 1 ​

That’s all I really have to say about this. But I wonder if some of the other ideas on this page would benefit from being interpreted via the lnx=∂ y ​

x y ∣ y=0 ​

form.

5. Dimensions are Logarithms

Another thing which clearly acts like a logarithm is the dimension operator dim in linear algebra.

Compare:

dim K ​

K n dim K ​

U⊕V dim K ​

U/V dim K ​

U⊗V ​

=ndim K ​

K=n =dim K ​

U+dim K ​

V =dim K ​

U−dim K ​

V =(dim K ​

U)×(dim K ​

V) ​

(where dim K ​

V means its dimension as a vector space over the base field K, and assume we’re only talking about finite-dimensional spaces here) with

log k ​

k n log k ​

u×v log k ​

u/v log k ​

k log k ​

u×log k ​

v ​

=nlog k ​

k=n =log k ​

u+log k ​

v =log k ​

u−log k ​

v =(log k ​

u)×(log k ​

v) ​

The direct sum ⊕ corresponds to multiplication ×, which is really just a notational accident, since it is the same as the direct product on finite-dimensional vector spaces; the ⊕ symbol reflects the fact that it adds bases as sets.6

6Apparently the ⊕ symbol is due to Bourbaki because everything was a mess prior to that. Also it happens to be a coproduct (which came later) and those do correspond to addition on sets, so there is at least a connection to addition… but at present I think it is largely a mistake.

Meanwhile the tensor product otimes multiplies bases on sets, but corresponds in arithmetic to a sort of “commutative exponentiation” e log k ​

ulog k ​

v =u log k ​

v that you don’t see very much, sometimes called a commutative hyperoperation. (The next ‘displacement’ operation after b−a and b/a is therefore e lnb/lna =b 1/lna .)

I am a bit upset that I have never seen anyone point out that dim is a logarithm, since it’s so obviously the case. Maybe I’m missing something? After all I am ignoring the infinite-dimensional cases entirely. But I suspect it’s just that math likes to stay on more solid rigorous ground than I do, and this is all too handwavey to be precise. I have no such qualms and I love to speculate about underappreciated connections between things, so I have no problem saying: dimension is a logarithm.

The simple reason why dim K ​

acts like log k ​

in the case of finite K is as follows. We need three observations:

One, the dimension of a vector space is defined as the cardinality of its basis. An individual vector v=v 1 ​

x 1 ​

+v 2 ​

x 2 ​

+…+v n ​

x n ​

∈K n ≃V can be thought of as a choice of function dim K ​

V→K, since it assigns a coefficient v i ​

∈K to each basis vector x i ​

.

Two, the cardinality of the functions between sets B→A is given by ∣A∣ ∣B∣ , which is why we use the symbol A B for the sets B→A. For example the powerset of A, that is, the set of all possible subsets of A, is notated 2 A because it is equivalent to the functions A→{0,1}≡2, where a given subset is identified with the elements that map to 1.

Three: applying that to a vector space V≃K n , we can interpret K n as describing the set of functions from n={x 1 ​

,x 2 ​

,…,x n ​

} from a choice of basis into the underlying field K, which naturally has cardinality ∣V∣=∣K∣ ∣dim K ​

V∣ . Therefore the logarithm of this is the dimension of V over K:

dim K ​

V=log ∣K∣ ​

∣V∣=log ∣K∣ ​

∣K∣ dim K ​

V

This is literally true in the case where V is finite dimensional and the field K is also finite. It’s less solid if either is infinite; however, I tend to think that expressions of this form are also literally true in the case of infinite dimensions, if you define things in a slightly better way. In particular you have to use a concept other than cardinality to measure the size of things if you want infinite expressions like log ∣R∣ ​

∣R 2 ∣=2 to make any sense. I am pretty sure the right choice is what’s sometimes called numerosity, although I don’t know how compatible that is with the rest of linear algebra. More on that some other day.

Anyway, even if you only take this as meaningful on cardinalities of finite-dimensional sets over finite fields, I think it’s strange that it never really comes up. It is such a natural construction! Or maybe it does and I’ve missed it. But anyway, I like it, and I happen to think the correspondence here is much stronger and more significant than what I’ve just described.

If we repeat the above with ‘baseless’ logarithms, we get expressions like

dimK n =ndimK

such that

dim K ​

V= dimK dimV ​

This seems mostly fine to me. The one place we have to be careful is in the definition of a tensor product. We want it to be the case that

dim K ​

K a ⊗K b =dim K ​

K a ×dim K ​

K b =a×b

But the naive approach has an extra factor of dimK:

dim K ​

(K a ⊗K b )= dimK dimK a dimK b ​

= dimK adimKbdimK ​

=ab(dimK)

The problem is that the definition of the tensor product is a bit more complicated than just multiplying bases. A vector u⊗v∈K a ⊗K b is not the Cartesian product of vectors u and v, but rather the Cartesian product modulo a quotient on its scalar coefficient which combines two scalars (k 1 ​

,k 2 ​

) into one (k 1 ​

k 2 ​

). Since this divides out a factor of K, we have to do the same with our ⊗ operation in order to make the cardinalities work out. This is done by specifying an ⊗ K ​

operation, the “tensor product with respect to the field K”, as

U⊗ K ​

V=K dim K ​

Udim K ​

V =K dimUdimV/dimK

which allows dim K ​

K a ⊗ K ​

K b dim K ​

K ab =ab to work. (I suspect sometimes that the quotient in the definition of ⊗ K ​

is not actually needed for most purposes, which would have the nice side effect of making this all work out more simply, but let’s not get into that.)

The definition

dim K ​

K a = dimK dimK a ​

= dimK adimK ​

seems to imply that one could take the dimension/logarithm of a vector space with respect to a different underlying object, not the field K, and get a meaningful result. For example it is my dream to be able to say that this is how you construct a vector space with a “fractional dimension” of 2 1 ​

:

dim K 2 ​

= ? K= 2dimK dimK ​

= 2 1 ​

This works fine at the level of cardinalities, more or less (if you allow that the rationals are invented precisely to let you make objects like 1/2 which interpolate between ratios of non-divisible integers). But it is hard to imagine how it should work if you want anything like a “field” or a “vector space” with its usual axioms to be meaningful. Maybe a vector v∈R 4 is viewed as a vector over R 2 via v=(v w ​

,v x ​

)⋅(w,x)+(v y ​

,v z ​

)⋅(y,z)? But then how does scalar multiplication work? If the scalars are ∈K 2 , they have zero divisors, so you are not working in a field anymore. And what is meant by a vector with dimension 2 1 ​

would be spanned by ‘half’ a basis vector over that pseudo-field? Maybe its elements look like u=(u x ​

,∙)⋅(x,∙)? One must attempt to define versions of the theorems of linear algebra which are compatible with this sort of decomposition. No idea how to do that at the moment, but I suspect it can be done, with sufficient imagination, and I hope to attempt it in a future article.

6. Bases are Logarithms

The dimension of a vector space is the cardinality of its basis. But just like we use expressions like B A for functions between sets because they are respected at the level of cardinalities ∣B∣ ∣A∣ , we may as well interpret the dim operator in the same way: if dim returns the cardinality of the basis, then let’s say that log returns the basis itself, which happens to have that cardinality. For instance if a vector space V≃K 3 has basis (x,y,z), we might write

log K ​

V ​

=(x,y,z) ​

And then define dim K ​

as the cardinality of this:

dim K ​

V ​

=∣log K ​

V∣ =∣(x,y,z)∣ =3 ​

Why not? (x,y,z) is an object for which K (x,y,z) ≃V, sorta, therefore logK (x,y,z) =(x,y,z). (One could also just let dim K ​

refer to both operations, perhaps, or maybe write capital Dim K ​

V for the same thing.) Perpaps it’s a bit weird to treat K (x,y,z) as a set exponentiation when the exponent is an tuple / Cartesian product, but it should be easy to adjust things to make it work.

There is an obvious issue, though. Why would this particular choice of basis be the value of log K ​

V, since V has very many possibly valid bases and no reason to choose one a particular one?

Maybe it is more correct to log K ​

V as really being an object which refers to all possible bases of V at once (I’m not sure what it’s called. Sort of a frame bundle but with only one base point?) We can give it coordinates: the space X=log K ​

V is parameterizable by coordinates (X 0 ​

,Λ), where X 0 ​

=(x,y,z) is an arbitrary ‘origin’ frame and Λ is an arbitrary linear transformation ∈GL(V), the automorphisms of V.7

7The technical term is that it is a GL(V)-torsor since the choice of origin X is arbitrary. The concept is easier to understand from Baez. This is one of those mathematical terms which I don’t like because it is so simple that it should not really have a special name (nor such a technical Wikipedia article).

I guess we can should just write

X={ΛX 0 ​

∣Λ∈GL(V)}

and then the dimension itself is the cardinality of the quotient of this by Λ, which will be a sort of generic object that represents the size of any choice of basis.

dim K ​

V=∣ Λ log K ​

V ​

∣=∣ Λ X ​

If log K ​

V=X, then there ought to be an operation which goes the other way, that reconstructs a vector space from its basis. We may as well equate this with the linear span operation;

span(X)=K X =V

This is not quite how span is normally defined. Usually it’s something like: “span(x,y,z) is subspace of the (ambient) vector space V over the (ambient) field K which contains the vectors (x,y,z) and is of minimal dimension”. To interpret it algebraically, though we don’t really want to make reference to an “ambient” vector space or field, because it should just be an operation on the vectors itself. For this we need to at least explicitly indicate the underlying field, by writing span K ​

with a subscript:

span K ​

(X)=K X =V

All of this is definitely rife with abuses of notation, and I’m not sure that it’s quite the best way to think about things. But I still wanted to mention it because it’s nice to think of the operators dim and span as being linear algebra analogues of log and exp.

It is also interesting consider what might be meant by the baseless logarithm in the sense of bases. In the expression

log K ​

K X = logK logK X ​

= logK XlogK ​

what would be meant by XlogK as a ‘basis’? Presumably the division by logK corresponds to some sort of quotient… but we will need a way of interpreting logK itself. Perhaps as a “basis for K”? I’m not sure. I do think there’s something here, but it gets much more speculative so I will leave it for another time.

7. Functions are Logarithms?

Treating log K ​

K n =n as returning a basis for K n as a set is an example of a general procedure which doesn’t quite have a name as far as I know. It is sort of like categorification, but not quite. Rather than locating categories for set operations, we’re locating sets for algebraic operations, and not making any reference to categories really. So I’m not sure. Maybe ‘setification’? Or ‘structurization’? I dunno.

The standard example of this ‘setification’ is to treat arithmetic operations on natural numbers like A+B, AB and B A as being projections out of set operations A⊔B, A×B, and B A (the functions A→B). This works nicely for finite sets because the operations respect cardinalities. (As mentioned earlier, I think you have to replace ‘cardinality’ with something like ‘numerosity’ to make this work elegantly on infinite sets, and I don’t know how that works yet.)

A compelling reason for thinking this way is that the setified arithmetic operations in fact explicitly enumerate the sets they describe. For example, given sets A={a,b} and X={x,y}, you can expand A X algebraically, the fact that all the variables will later equal 1:

(a+b) x+y =(a+b) x (a+b) y =(a x +b x )(a y +b y )=a x b x +a x b y +a y b x +a y b y

Then upon actually setting the variables to 1 this correctly describes the relationship in cardinalities: 2 2 =1+1+1+1, so the number of functions X→A is 4. What’s interesting is that it also describes the sets themselves. Each term in the expanded sum is one of the four possible functions X→A exactly when we interpret a x b y as the function which maps x→a and y→b. Also, evaluation of these variables corresponds to evaluating the functions, e.g. setting e.g. x=1 and y=0 to get a x b y ↦a 1 b 0 =a, and setting one variable but leaving the other gives restriction, e.g. y=0 sets a x b y ↦a x .

All of this basically also works if the variables have values other than 1, in which case they represent unlabeled sets of whatever cardinality; however, the algebraic manipulations (a+b) x =a x +b x are not valid and you have to use a binomial expansion instead.

You can do similar constructions with a lot of combinatoric objects, although they don’t always so cleanly correspond to algebraic manipulations. Factorials look like

(a+b+c)! ​

=a a b b c c +a a b c c b +a b b a c c +a b b c c a +a c b b c a +a c b a c b ​

which enumerates the 3!=6 permutations of 3 elements. Combinations looke like

( x+y a+b+c ​

) ​

= x x y y +x y y x 1 ​

[a x b y +a y b x +a x c y +a y c x +b x c y +b y c x ] =a q b q +b q c q +c q a q ​

which enumerates the ( 2 3 ​

)=3 2-element combinations of 3 elements; here the x x y y +x y y x 1 ​

corresponds to the quotient by (x+y)!. Dividing through by the number of permutations implements the quotient x∼y that avoids double counting, and q is a new variable that represents carrying out this quotient (I’m not sure if this is the best way to write this). Note that although all these variables will end up equaling 1, by leaving them as independent variables they track meaningful information from step to step.

I suspect that every arithmetic identity has some equivalent set-ified expression like this. I also notice that a lot of information is lost when you map these set expressions back onto arithmetic. For example, you elide the distinctions between all possible quotients that lead to the same cardinality. Probably there is a lot of interesting structure there.

Anyway, for our purposes, I want to observe one thing about these. When thinking of functions as sets we usually picture them as ‘relations’: a function f:X→A is modeled as the set

f={(x,f(x))∣x∈X}⊂X×A ​

E.g. {(x,a),(y,b)}=xa+yb in our example. This set happens to have the cardinality ∣f∣=∣X∣, although it’s not clear what use that is.

Now consider (a+b) x+y =a x b x +a x b y +a y b x +a y b y from earlier. If a x b y is supposed to describe a single function from X={x,y} to A={a,b} , then why doesn’t it setify to something like {(x,a),(y,b)}, with cardinality 2?

Maybe you see where I’m going with this. f=a x b y has cardinality 1, because it’s one function. Its logarithm, however, looks closer to its representation as a relation:

logf = ? xlog(a)+ylog(b)

It’s a lot like xa+yb, but it’s also suspiciously different. Also, it doesn’t have a cardinality since we need to divide by a base, but when we do it seems like any choice we make has to give the cardinality log b ​

f=logf/logb=xlog b ​

a+ylog b ​

b=x(0)+y(0)=0. What do we make of this?

After thinking this for a while I still don’t really feel like I have a good explanation for it, but I think we are supposed to think of it as equivalent to xa+yb, just with the a and b written in a different basis, so it is more like a comparison between a⊗x+b⊗y and a⊗logx+b⊗logy than between numeric expressions. The cardinality being 0 doesn’t matter, because it’s not meaningful to talk about the cardinality of a function. And the role of logx is just to change algebras for x from multiplicative to additive, but the two objects are supposed to be isomorphic and regarded as the same, at least in this case where the cardinality doesn’t mean anything.

I’m not sure about this part, and might come back and rewrite it later if I find a better interpretation. In any case I think it is interesting (or amusing, maybe) that logf=loga x b y gives something that at least resembles the function’s representation as a relation. Everything is logarithms?

8. Everything is Logarithms

What we have been discussing is the most simple and well-behaved version of a logarithm in mathematics, the isomorphism between the additive real algebra (R,+) and the multiplicative one (R ≥0 ,×). Of course there are logarithms in mathematics which are more complicated than that, such as the complex logarithm logz=Log z+2πik∣k∈Z, or its messier cousins like the logarithm of a matrix. But I suspect these are a confusion of concepts. What’s really going on in the logarithm on C, for instance, is that angles really take their values ∈S 1 ​

, not R, which has a different topology, and the weird behavior follows from not respecting this. A different set of conventions would move the problem out of the logarithm and into the definitions of the values themselves. Unfortunately that’s not how things are are defined today so you have to deal with it—but, still, it doesn’t seem like the logarithm’s fault to me.

Anyway the discussion in this article ignores those cases and assumes that log really is an isomorphism: it’s just a way of taking something expressed in a multiplicative form and re-expresses it in an additive form. This is turns out corresponds to many operations that one learns in math, such as the dim operator in linear algebra and the ν p ​

operation in number theory (sorta) and the total derivative in calculus (also sorta).

All of these things which appear to be very different seem to in some way be instances of the same basic primitives. And although these associations arise from my sort of… numerology… I can’t shake the feeling that it’s all too clean to not matter. Perhaps math needs to clean this all up: we are somehow missing the forest for the trees by keeping all this redundancy buried in the notations; actually there are only a few basic operations which are being written differently everywhere, and with all the patterns disguised everything is a lot harder than it needs to be. I suspect the patterns I’ve written about in this article should not feel like things I had to rediscover for myself. They follow naturally from the material that everybody learns.

I also keep finding that the math of physics seems to end up at a lot of the same structure. I first noticed these patterns in the operator formulation of quantum mechanics because it seems to insist on a certain ontology for its mathematics. I wonder if this is because physics is telling us how things “should be done”. Since in physics the mathematics is a human lens through which we view reality, the math must not impose its own views on how things are done, and any views you accidentally impose eventually clash with the requirements of the physics.

This is the idea behind the concept general covariance, that the properties of objects are independent of the coordinates we use to express them, and so the meaningful theorems about reality end up being expressed in coordinate-free ways. The same philosophy applied to linear algebra or differential geometry leads to their covariant formulations that are indisputably ‘better’ than the forms in coordinates.

The baseless logarithm, which seems somewhat nonsensical mathematically, is an example of this applied on purely mathematical terms. It basically says that the isomorphism from multiplicative to additive algebraic representations of the same thing is separate from the choice of units on those algebras, but most of its properties are unrelated to the units. Just like how the concept of a geometric vector is distinct from its projection onto a particular coordinate system. Meanwhile a bunch of other things with other notations are basically the same operation as the logarithm, or closely related to it.

When you take general covariance to its extreme you end up asking that all of your mathematics be formulated in a covariant way, as explicit relations between one thing you measure to another thing you measure. For example we think of say having a certain cardinality, but in fact cardinality is a property of the set that we measure, and we have to be clear about how we do that because it’s all relative to the “coordinate system” for those measurements. Such a formulation is necessary to find the answers to why questions about how mathematics works, about what is ‘actually’ going on independent of the human definitions and frameworks of set or category theory or whatever. The observations in this article are not very deep, but they seem to me to be among the many clues which point towards that formulation. I still can’t see it, though.

« Further Meditation on Taylor Series ▲ Home

← latest Signal