Live data from Hacker News

Why does e to pi i equal -1? (2015) [video]

youtube.com

131–140 of 148 posts

Re: Why does e to pi i equal -1? (2015) [video]

#132

Earlier quoted context omitted.

Well, I'm the guy in the black shirt who did the demo. If you liked that lecture, I'm already starting on some verilog implementations. This is an example multiplication 8 bit * 8 bit -> 16 bit unpacked (20 bits). It differs from standard floating point in that the fractions are stored as two's complement. It takes a little bit of wrapping your head around, but the hidden bit for negative numbers is actually -2 ! Mom…

@espeed didn't ask if you contributed significantly to the lecture, they asked if you'd seen it. Please stick to the question!

If you are unsure why you were downvoted, I strongly suspect it's because politely giving and receiving due credit are important, knowing that one's interlocutor was involved in specific research is very useful information (to know what questions to ask), and it's probably kind of rude to call someone to account in this manner. Hope this helps :)

Re: Why does e to pi i equal -1? (2015) [video]

#133
post #88
post #9

Earlier quoted context omitted.

It seems like voodoo when you have high-school mathematics, because you've been taught about "to the power of" in terms of multiplying something by itself a certain number of times, and multiplying something by itself an imaginary number of times is nonsensical. Once you've done enough maths you think of it in a different way and e^ipi seems obvious. It's just a different conception of what the symbols mean, I suppos…

There are so many assumption that were hammered into me in high school (and below) that I find hold back my thinking, rather than help me. I kind of feel like the education I received was full of hacks to get me past whatever test was coming up, rather than truly teaching me. I've spent years playing what feels like catch up to actually truly learn the things I thought I knew – a lot of high school mathematics includ…

What was not obvious to me, and took a lot of higher math to get to, was that in the grouping of N=>I=>Q=>R=>C, at each stage you're pulling in a more complete mathematical representation (counting, rings, fields) until you're algebraically closed, and while you could go higher, you start losing properties you like again, like commutability over multiplication.

Complex numbers are that nice saddle point, which is an interesting thing to ponder.

I wish there was more focus on these "why" aspects in at least the optional advanced math or physics you could get in HS. It helps put some things in perspective.

Re: Why does e to pi i equal -1? (2015) [video]

#134
post #89

Earlier quoted context omitted.

What does that have to do with anything I said? I'm pointing out the difference between "understanding" and "getting used to".

I'm refuting that difference.

Not very well. I'm not talking about pilots.

I fly with many frequent fliers that are completely comfortable with flying while having no technical understanding of the mechanics.

Re: Why does e to pi i equal -1? (2015) [video]

#135
post #81

Earlier quoted context omitted.

Way cool -- I realized that when I checked out your profile just after posting the comment -- what timing -- I discovered the video a few days ago when looking for precise/compact interval representations. Interesting work indeed. Has there been much traction for getting major chip manufacturers to implement this? I know they're all looking for the next big thing and Intel is working on specialized neuromorphic chips…

well seeing as how John invented these numbers literally two months ago, I haven't seen any traction yet! But I am persuing fundraising opportunities. In the demo I showed how you can effectively reduce the bitwidth to 8 bits and still train in a very trivial machine learning exercise. I'm currently enrolled in the udacity machine learning class and implementing everything in parallel in julia so that I can try more…

I’m interested in representing angles / points on the circle; 3d unit vectors / points on the sphere; unit quaternions / points on the 3-sphere using 1, 2, or 3 relatively low-resolution posits, under stereographic projection.

How efficient do you think regular C or GPU code (on existing hardware) can be made for compressing a 32-bit float to e.g. a 16-bit posit, and for expanding the posit back into a 32-bit float?

Re: Why does e to pi i equal -1? (2015) [video]

#136

Earlier quoted context omitted.

Your (1) is just one of many possible (technically equivalent) definitions for the exponential function. And arguably not the most basic/natural/intuitive one. The primary motivation for the exponential function is to be the inverse of the logarithm function. And the motivation of logarithms is to convert multiplication problems to addition problems, so they could be solved with table lookups (later performed on a sl…

Of course! I think there's a good reason (1) is the first definition of e^x we get in school, though. I don't think it's the most "natural" definition, but I think it's the most grok-able. It's easy for high-schoolers to learn precisely _because_ each part of it is so intimately familiar that it's clear without hand-waving precisely what everyone's talking about. When we then step into viewing real exponentials as "T…

Anything which repeats on some periodic interval (e.g. a signal which repeats in time) can be represented geometrically as being defined with respect to uniform motion around a circle (sometimes there are physical circles involved, and sometimes it’s just an abstract circle).

Complex numbers (a two-part complex of a scalar part and a bivector part) and the complex logarithm/exponential are the natural formalism to use for describing uniform circular motion, and are therefore the natural formalism for any kind of periodic signal.

The way to teach this is to start with vectors in the plane, and then teach about geometric products/quotients of vectors (this is a subject called “geometric algebra” or “Clifford algebra”, and the basics are plenty accessible to high school students). All of the mystery is removed from complex numbers when they are taught this way.

http://www.shapeoperator.com/2016/12/12/sunset-geometry/

Re: Why does e to pi i equal -1? (2015) [video]

#137

Earlier quoted context omitted.

For me what made it clicked is realizing that complex numbers are 2D matrices: z = x + i y = [[x -y][y x]]. So really we should be writing z = x * [[1 0][0 1]] + y * [[0 -1][1 0]], but since it's tedious we just call 1 == [[1 0] [0 1]] the 2x2 identity matrix and i == [[0 -1][1 0]], and check that i^2 = -1. Then no more magical i number, the complex product can be derived from the matrix product, the exponential beco…

Using a matrix as an exponent isn't any more comprehensible than an imaginary number to me. If it works for you, that's great, but it's not much help to me.

Think of exponentiation of some number 'a' as in-between its integer powers: 'a^1.5' is kind-of half-way between 'a' and 'a^2'.

If you plot all the integer powers of 'a', they all belong to a curve and the exponential simply fills-in the gaps for non-integer exponents.

Now, there are many possible ways to fill the gaps but the exponential does it so that a^m * a^n = a^{m+n} holds even for non-integer numbers m and n.

Similarly, if you take integer powers of a complex number, they all lie on some curve and the exponential fills-in the gaps, again turning sums into products. The same works with matrices, and so on.

Re: Why does e to pi i equal -1? (2015) [video]

#138

Earlier quoted context omitted.

In the three-dimensional case, for any practical purpose, use quaternions. https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotati... (At least if you’re ever needing to compose rotations; to apply a quaternion to a big array of 3-vectors, go ahead and convert it to a 3x3 matrix first, which should end up slightly more efficient.) 3x3 rotation matrices are really hard to keep normalized properly, whereas quatern…

Quaternions are a useful tool for manipulating rotations in a lot of common applications. But that wasn't my point here. Also quaternions are hard to grasp by humans. I find axis-angle much more palatable in general. Imaginary numbers can be represented with a 2x2 skew symmetric matrix with no stretch of the imagination at all. And 3x3 skew symmetric matrixes represent rotations most compactly with only 3 actual vari…

From what I understand that would be (sorta; I’m not an expert in Lie theory) the logarithm of a rotation. I find the stereographic projection to be a more useful way to compress an arbitrary rotation down to 3 dimensions, for most purposes.

Re: Why does e to pi i equal -1? (2015) [video]

#139

Earlier quoted context omitted.

well seeing as how John invented these numbers literally two months ago, I haven't seen any traction yet! But I am persuing fundraising opportunities. In the demo I showed how you can effectively reduce the bitwidth to 8 bits and still train in a very trivial machine learning exercise. I'm currently enrolled in the udacity machine learning class and implementing everything in parallel in julia so that I can try more…

I’m interested in representing angles / points on the circle; 3d unit vectors / points on the sphere; unit quaternions / points on the 3-sphere using 1, 2, or 3 relatively low-resolution posits, under stereographic projection. How efficient do you think regular C or GPU code (on existing hardware) can be made for compressing a 32-bit float to e.g. a 16-bit posit, and for expanding the posit back into a 32-bit float?

I don't think it can be made that efficient in software. Is there a particular reason why you need 16 bits? A 32-bit float is going to be better than a 16-bit posit almost always (posits are better their equivalently sized float, but they're not that good) and once it's in posit representation do you have a way of doing mathematical operations on them?

Re: Why does e to pi i equal -1? (2015) [video]

#140

Earlier quoted context omitted.

I’m interested in representing angles / points on the circle; 3d unit vectors / points on the sphere; unit quaternions / points on the 3-sphere using 1, 2, or 3 relatively low-resolution posits, under stereographic projection. How efficient do you think regular C or GPU code (on existing hardware) can be made for compressing a 32-bit float to e.g. a 16-bit posit, and for expanding the posit back into a 32-bit float?

I don't think it can be made that efficient in software. Is there a particular reason why you need 16 bits? A 32-bit float is going to be better than a 16-bit posit almost always (posits are better their equivalently sized float, but they're not that good) and once it's in posit representation do you have a way of doing mathematical operations on them?

This is just for data compression, not for computation directly. 32 bits is often overkill for transmission/storage of rotations, unit vectors, geographical locations, unit quaternions, and the like. Depending on the use case 8 bits might be enough, or 12, or 16.

To actually do computation I would convert the posits back into 32-bit floats (or e.g. in the Javascript case, 64-bit floats), and then take the inverse stereographic projection.

[Stereographic projection is extremely cheap; for each data point only requires one division and some additions and multiplications.]

I’ll do some experimenting at some point.

Post reply on HN