Hacker News new | past | comments | ask | show | jobs | submit login
Bad but interesting mathematical notation idea (plover.com)
157 points by johndcook on April 19, 2022 | hide | past | favorite | 65 comments



Without clever innovations in notation, a lot of math (and physics) would be utterly intractable. For instance, without Einstein's notation hack [1], using and manipulating tensors is extremely painful. Arguably, General Relativity would not have been possible without the clarity of the Einstein notation.

Also long-established notation like integrals and differentials were once new and innovative, and paved the way for new discoveries.

[1] https://en.wikipedia.org/wiki/Einstein_notation

(edit: capitalize GR, grammar)


>using and manipulating tensors [without summing over repeated indices] is extremely painful

It's a good notation, but writing a few sigmas in front of every equation is at worst a constant-factor overhead. I know of a text that does it that way in a (misguided?) attempt to be more approachable to nonspecialists.


Do you think mathematical innovation is dominantly enabled by clever design?


Oh most definitely. Our conventional algebraic notation is only a few hundred years old. Things that we have children do in math class now were the domain of professionals 500 years ago. Imagine doing basic algebra without our familiar single-letter variables and the notation for addition, subtraction, multiplication and division you learned in grade school.

Leibniz's notation opened up Calculus in ways that Newton's geometric analysis did not (which is why high school students are writing ∫x²dx and not doing a geometric analysis of that expression). This is also why programmers are looking for the bright shiny language that will let them express what they really mean in their code without ambiguity. I think that we might still be looking for the algebraic notation or Leibniz notation for programming that will make everything completely obvious and will make future generations look back at our C, Python, Rust, et al and marvel that we were able to do anything.


Let’s not forget Robert Recorde’s[1] sign for equality, a pair of parallel horizontal line segments. He revolutionized notation. It’s hard to overstate the importance of the equation.

[1] https://en.m.wikipedia.org/wiki/Robert_Recorde



Really cool post, thanks for sharing!


> I think that we might still be looking for the algebraic notation or Leibniz notation for programming that will make everything completely obvious and will make future generations look back at our C, Python, Rust, et al and marvel that we were able to do anything.

I used to think this too, and spent years looking for that notation, but now I think I was wrong. I think any gains now from notational inventions will be dwarfed by further gains from scaling up neural nets. I think we've 'been living in Symbolia but now are in the age of Weightville.


I was reading a thread this morning that categorized programming languages into "lisps" and "fortrans" based on how much you were directing an abstract machine vs a real hardware machine and I think this is a similar idea


I wonder where forths sit on that spectrum.



APL? That's a very math-like notation if I recall.


Very math-like, yes, but most programming isn’t really math or rather, the requirements for the program aren’t, and that’s what you want to stay close to in the code.


APL was not originally a programming language (pardon the pun) but as a notation for array mathematics.

https://en.wikipedia.org/wiki/APL_(programming_language)

"A mathematical notation for manipulating arrays was developed by Kenneth E. Iverson, starting in 1957 at Harvard University. In 1960, he began work for IBM where he developed this notation with Adin Falkoff and published it in his book A Programming Language in 1962."

It didn't become an actual (usable) programming language until 1963.


I wonder if mathematics would have been pioneered in Asia if they had arabic numerals instead of abacuses.


They had rod numerals.


In my opinion, "dominant" is too strong of a characterization.


I often see Einstein notation as APL vs C :)


This reminds me of a wonderful mathoverflow answer about desirable properties of math notation, authored by none other than Terrance Tao:

https://mathoverflow.net/questions/366070/what-are-the-benef...


I'm sorry to nitpick, but, for some reason, Tao has one of those names that just begs for inadvertent misspellings, and it seems like a shame. His first name is "Terence".


Probably because his short name is Terry, hence the double “r”


Very interesting read. Nowhere on his desiderata does "uniqueness" come in. The rest of his examples show that it is indeed not a desirable quality, as the same abstract object benefits from different representations to make apparent its relation to other abstract concepts in each specific context. Or simply to reduce cognitive overhead.


Yeah I didn't get the point of that either. If you rearrange and solve for a different variable, for practical purposes outside of pure math(If you are thinking like a coder), you have a completely new equation that happens to be derivable. It's almost like compiling.

But since mathematicians absolutely love finding common patterns in things, maybe there's some new innovation that a representation with uniqueness would enable?


"Normal forms" are definitely a thing, most clearly in linear algebra but certainly elsewhere as well. Being able to normalize any description of an object to a single unique canonical description is incredibly useful!

But we don't always want to work with normal forms, for one reason or another, and there can be multiple kinds of normal form to choose from depending on your needs. For instance, if you do anything with something in a normal form, chances are it's no longer in a normal form! The lack of closure properties like this means you may only normalize at the very end of a series of manipulations, during which you're using a more suitable notation.


> The desiderata listed above are primarily concerned with lowering the "recurring costs", but the "one-time costs" are also a significant consideration if one is only using the mathematics from the given field X on a casual basis rather than a full-time one.

I think this is important and applies well to programming languages. Many programming techniques and styles can be extremely powerful when continuously working in the area whereas just jumping in they can be totally maddening. Sometimes this sort of thing builds up a cognitive wall to newcomers. It has its uses, but it's frustrating when you're one of those casual users having to deal with the clever ideas in the codebase.


> (Unambiguity) Every well-formed expression in the notation should have a unique mathematical interpretation in 𝑋

This is never the case in physics because the equality sign "=" is loaded and can mean equality, definition, proportionality, identity and equivalence. Physicists read the equality sign case by case, as the case may be, with one of these meanings. In scholasticism this used to be called casuistry.


An aside, but it’s so nice that interesting discussions like the one linked in the article are allowed to bloom on smaller Stack Exchange sites like Mathematics.

I can’t imagine a similar sort of rumination surviving on Stack Overflow or Server Fault, but the discussions in that thread are really interesting to read.


Alas, different stack exchange communities have different cultural mores. The Japanese language stack exchange. for example, tends towards a certain ideological purity that the Latin stack exchange does not. Some communities tend to have the early members treat the communities as their own personal fiefdoms.


My initial reaction was akin to one of the top level comments: These aren't the same, what a silly question!

But as I read through the answers with people simply entertaining it (in a very literal manner), I found myself really questioning it as well. It's odd how different disciplines approach seriousness in their ways.


Entertaining bad ideas is one of those secret weapons, I think. So many great ideas come after talking through the implications of the bad idea!


“That doesn’t work … but I like that one part.” Seems to be the history of invention.


It's a bit like trying to prove something: Maybe your approach fails, but you can still gain a lot of insight by contemplating why it failed.


> I think mathematicians don't yet understand the power of mathematical notation and what it does. We use it, but we don't understand it

I think this is where a computer science (but really, "computologist" mindset) differs from a typical mathematical one; us CS (computer-software) people do understand this power very well, at the least it's why I'm interested in CS (computer 'science').

> It's almost as if the symbols are doing some of the thinking for you.

It's quite literally the symbols doing some of the thinking for you, specifically the symbols are doing the computing or calculating part of thinking.


> It's quite literally the symbols doing some of the thinking for you, specifically the symbols are doing the computing or calculating part of thinking.

I was feeling bad earlier this week when thinking about taking the derivative of x^3. I, of course, didn't derive the answer geometrically. I did what most everyone does, I imagined the "3" symbol floating down and being replaced by n-1.

But there is no reason to feel bad! I was outsourcing the computation to the symbols. The notation is good enough that some easily-remembered symbolic rules are just as good as (or actually equivalent to) the real computation.


i then the student grasped the pea.


What does that mean?


Actually, not bad idea. This one reminds me about Zhegalkin polynomial ( https://en.wikipedia.org/wiki/Zhegalkin_polynomial ), a way to express all boolean functions with minimally sufficient basis: AND and XOR. Such minimal and invariant constructs have some nice properties useful in some class of applications.


Note: XOR and AND are the obviously correct operations to use here, since they are the field operations over Z mod 2 :)


NAND dawg.


Is that just a coincidence for N=2?


One big issue with that notation is that the log of the exponential is not the exponential of the log, so the order really does matter(for any complex valued expressions).

https://www.wolframalpha.com/input?i=log%28exp%28x%2Biy%29%2...

So just having over and underbars loses some information.


pretty sure that's because log is not well defined over the complex numbers, it's just defined over branch cuts.

similar to how

    sqrt(x^2) != (sqrt((x)^2)
when x is Real but not Positive Real, because sqrt is not well defined over the full Reals.

It's not a flaw of notation, it's a flaw in the attempted math.


I think you mean

  sqrt(x^2) != (sqrt(x))^2


How about we just accept that the square root is a relation inatead of a function?


I am not sure what you mean by "relation" and what the benefit would be. There is a definition for "relation" in mathematics. A function is a type of relation and a relation is a set. But you probably have something else in mind.


Multivalued functions are types of relations. Relations are more general than multivalued functions because relations don't have to be defined on the entire domain.


What’s wrong with the square root, apart from the fact that it’s not defined over all of R? It’s a fairly well behaved function overall.


> you can solve algebraic equations or calculus problems just by “pushing around the symbols”. But why can you do that? Where is the meaning, and how do the symbols capture the meaning? How does that work? The fact that symbols in general can somehow convey meaning is a deep philosophical mystery

The correspondance between symbols and meaning can and has been studied rigorously — it’s a main theme of Gödel Escher Bach and I’d recommend reading it if you find these kind of questions fascinating, even though it doesn’t have much to say about notation. The basic idea is that mathematical notation is working as a formal system whose semantics correspond to those of arithmetic. By pushing around symbols you’re applying inference rules of the formal system that encode axioms of mathematics.


I wonder how much difficulty to "get" maths have to do with difficulty to grasp notation conventions. Probably not much in the big picture. But is there some book or dictionary that lays this out in a novel way that makes the reader feel they can understand it superficially?


Bad/Confusing/Complex notation can absolutely ruin a learner's attempt to grok a piece of math, it's not a trivial issue at all, and it comes up in all levels of math. But good notation doesn't necessarily mean easy understanding. It's just like language. If I speak a different language, forget about communication in any deep way. But even if I'm speaking the same language, it's still not guaranteed we can communicate well or at all. Absence of shared language guarantees the impossibility of communication, but it's presence guarantees nothing.

The author is correct about one thing : Notation is incredibly under-appreciated and under-discussed by mathematicians, although it has immense power to shape thinking. Some visionaries like Charles Babbage, Kenneth Iverson or Stephan Wolfram might talk about it every 50 year or so, but that's it. It's mind boggling how the primary tool of communication is just developed ad-hoc on a whim with only minimal explanation and formalization.

>But is there some book or dictionary that lays this out in a novel way

What do you mean by "this"? is it specifically the overbars-and-underbars notation used in the article? as far as I know, that's the first time I encountered it. But the idea that exponentials, logarithms and roots all basically say the same thing and that notations should reflect that is discussed a lot, 3blue1brown has a very well known video that explains it in a visual way.

https://youtu.be/sULa9Lc4pck


Don't think it has much to do with the notation. Take the integral sign for example. What are we talking about Riemann, Riemann–Stieltjes, Lebesgue, some weird stochastic integral? It's the same symbol. You won't "understand" it better by using a different symbol. Even the Riemann integral, to rigorously "understand" it requires lots of concepts from analysis like least upper bounds (infimum, supremum), partitions, etc. The notation is hardly the stumbling block here, there's no way of getting around understanding the details if you really truly want to "get" it. But again, in practise, when you're doing integration by hand, you've learned a few tricks that work and you hardly ever think about it at the level of analysis.


Math notation, and there can be several is like a foreign language. You can only to learn it by using it a lot in practice. You can't just read a book that tells you how to speak a foreign language and that would be it.

You have to learn and understand the symbols, and then you have to learn and understand what is being said using those symbols. You need to learn the letters and the words made with them and then sentences made out of words. It's a lot to learn. But practice makes perfect.


In one of Feynman's books he talks about a notation he tried to introduce but couldn't get to stick. He particularly disliked sin^-1 as arcsine, it looked to home like 1/sin. His idea was to use σ (lower case sigma) for sin with the dash at the top extending over the thing to be sined and a similar symbol with the dash extending backwards for arcsine. It sounded like a great idea to me, and I I would be pushing for it if I ever used trigonometric functions in the first place.


It's nice to be reminded that not everyone has good ideas all the time, not even Feynman.


I laughed with your comment, thanks :). I do not think it is a good idea either, because what would we do with cos, tan and so on? Maybe it seemed good to Feynman because of his unique way of parsing mathematical expressions?


I think that's in "Surely You're Joking, Mr Feynman". As I recall, he gave up on it because no-one else could understand him - notation is both a tool of thought and of communication with others. A similar idea is Abelson's (I think) remark about writing code for people and only incidentally for machines.


This reminds me of being in secondary school and procrastinating/nerd sniping our teacher for A-level Further Maths (so I was roughly 17-18) by arguing that a number system in base e (so 1, 2, 2.1, ..., 2.7, 2.71, ..., 10) would simplify a lot of the maths we were studying.


Except that's not how bases work. The digits would be of the form e^n. See [1]. Since e is not an integer, its number system uses 3 symbols (0, 1, 2) as 3 is bigger than e. Thus, 20 = 2e^1 + 0e^0 = 5.43656...

I don't know about simplify. Subtracting 1 from the above would yield an irrational number. So certainly not useful for arithmetic. How about for mathematical proofs? Well, any integer above 3 is also irrational. Makes Taylor series annoying. Even mundane things like the factorial would not have a nice representation.

[1] - https://en.wikipedia.org/wiki/Non-integer_base_of_numeration


> a number system in base e (so 1, 2, 2.1, ..., 2.7, 2.71, ..., 10)

I don't think I understand the significance of those dots. How would one write, say, 100 in this number system?

With that said, the usual "base" notation works perfectly well for non-integer radices, though it can behave in unexpected fashion. Thus, I might write 12012 for e^4 + 2e^3 + e + 2, which is approximately 99.49, and so can be regarded as the "e-adically integer" part of 100.


Related idea which I don't see mentioned yet: William Bricken's iconic arithmetic, with regards to what he calls James Algebra.

I don't have my copy of the material handy but it comes down to using different containers to represent logarithms and powers such that

(x) ~> #^x

[x] ~> log_#(x)

<x> ~> -x

where # is an arbitrary base.

Writing expressions next to each other is implied addition. Whole numbers can be written e.g.

0 ~> _

1 ~> ()

2 ~> ()()

3 ~> ()()()

etc.

Operations, like addition, read

A+B ~> A B

and subtraction

A-B ~> A<B>

where <<x>> ~> x,

on to multiplication

A*B ~> ([A][B])

and division

A/B ~> ([A]<[B]>)

and exponentiation

A^B ~> (([[A]][B])).

There are a few axiomatic equations (maybe 3?) that are used to establish the general properties of the system, and from which the rest of it can then be deduced.

It also introduces an interesting construction, which he simply calls J ~> [<()>], analogous to the imaginary number i.

I'd recommend taking a look at this if TFA tickled your fancy.


A similar idea was put forth on the math stack exchange [1], which I found through this 3blue1brown video [2]. Worth a read/watch!

[1] https://math.stackexchange.com/questions/30046/alternative-n...

[2] https://www.youtube.com/watch?v=sULa9Lc4pck


If you find this interesting I'd recommend Florian Cajori's "A History of Mathematical Notations" (1930; I have the 2 volume combined one reprinted in 1993).


The author's example for x^2 + x could be written with the first two symbols swapped. With this it looks fine to me. Putting the 2 first here is like putting the x first in "2x" such that it becomes "x2". I think also maybe if the lines above and below had curved ends so you could see where they start and end clearly then this could be not so bad notation.


Makes me think -- what were some recent new math notations created, if any?


Does the author not know that 0 is a number? 0^3 = 0, does that mean that 3 = log_0(0)? The notation differs for a reason. As far as mathematicians not understanding the power of notation... Yes, we do.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: