In this case, the same way I would -- calling out to SymPy.
Once you verify (with SymPy or another CAS, like Mathematica) that the given function has the claimed Jacobian determinant (which involves only taking partial derivatives and taking a determinant) and the given inputs map to the same output (which involves only evaluating polynomials with some inputs), you're done.
I'm partial to Caratheodory's definition of the derivative, which avoid limits like the infinitesimal approach, but doesn't pull in all the extra baggage that come with infinitesimals (if you do it rigorously).
I think what's left unsaid in the paper is that if a Lorentz-invariant speed exists, then it is unique. (This is easy enough to show.)
Therefore, once you show that the speed of light in a vacuum is Lorentz-invariant, then it has to be the unique Lorentz-invariant speed (i.e., the universal speed limit).
No, parchive v1 also used Reed-Solomon. The main difference between v1 and v2 was that v1 worked on the file level, but v2 divided the set of files into blocks.
Also, the parity matrix for v1 would be sometimes singular (non-invertible), which v2 tried to fix but it didn't quite work.
I guess I'm not being too clear, so I'll try again. There are two concepts:
1) Positive and negative numbers (defined in terms of comparison to 0)
2) The negation of a number (i.e., the additive inverse)
They're related in that when both concepts are defined, a negative number is the negation of a positive number. However, the two concepts don't coincide. I'm sure you know this, but even over the reals '-x' is the negation of a number, but not necessarily a negative number.
(-a) * (-b) = a * b is an equation about #2, and it holds in any ring/field, even ones where #1 doesn't make sense, e.g. Z mod 5. If #1 makes sense, then this immediately implies that the product of two negative numbers is positive.
My original point was that the blog post is talking about real numbers, for which #1 and #2 are both defined. However, if it's generalized to arbitrary rings/fields, where only #2 is defined, then you can't really refer to the equation '(-a) * (-b) = a * b' as 'the product of two negative numbers is positive'.
That's precisely the subtlety I'm talking about, in which additive inverses and real numbers less than 0 can both be referred to as 'negatives', and that the operation of taking additive inverses and real numbers less than 0 both use the symbol '-'.
It's pretty standard, though, that a 'negative number' is one that is less than 0, and a 'positive number' is one that is greater than 0, where a 'number' is an element of some subring of the reals.
There's a subtle point to keep in mind when generalizing to rings/fields. The concept of 'positive' and 'negative' are defined in terms of an order relation,
e.g., 'positive' means >0 and 'negative' means <0. The integers / real numbers have the usual order relation such that the additive inverse of a positive number is negative and vice versa, but an arbitrary ring or field might not even have an order relation.
For example, the integers mod n is a ring, so (-a) * (-b) = a * b holds, but it doesn't make sense to call a number mod n positive or negative, since -a mod n effectively means n - a mod n.
(posted an earlier version of this comment on susam.in.)
> I'm also going to have to strongly disagree with you in regards to Euler's proofs. Analysis as a discipline is far more mature than it was in Euler's time, but Euler still clearly proved the things we attribute to him. I'm not really sure what your expectation is here - we have more sophisticated means of articulating proofs, and likewise much more mathematical scaffolding to support new theories. But Euler's work is rigorous.
What about the Euler product formula and using it to prove the infinitude of primes? At best it has gaps that can be easily filled, but it wouldn't meet modern standards of rigor. See http://www.math.harvard.edu/~elkies/M259.06/euler.pdf (the best source I can find on my phone)
Over the years I've audited a lot of math classes and tried various ways of taking notes.
I've found that live-TeXing lets me keep half my attention at best on the lecture. The people I've talked to about it agree. Also, when the professor requests for the class to be transcribed, the live-TeXing duty is rotated among the students as to not unduly impose on one of us.
I eventually gave up and moved to taking notes with an iPad and an Apple pencil, which has the quickness of handwritten notes, and the availability of digitized notes -- if I'm looking for something I can usually find it pretty quickly by navigating to the class and the (labeled) lectures.
Of course if live-TeXing works for someone, more power to them!
Thanks! It doesn't explain Gallager codes since I don't know much about them (but will look into them now!). It only briefly mentions RS decoding, since the RS erasure code uses Vandermonde matrices, and Cauchy matrices seem more foolproof for an intro article. I was planning on writing a follow-up article on PAR1 (which uses RS erasure codes, but slightly incorrectly) but alas, my free time isn't what it used to be...
> If you try to define a vector space over a set without multiplicative closure, the vector space cannot be closed under scalar multiplication. Among other things, linear combinations stop being invertible (or even possible in general), and linear relations don't exist.
Mind clarifying this part? As someone else already pointed out, the integers are multiplicatively closed, but I suspect you're using "multiplicatively closed" to also mean "closed under multiplicative inverses". But I don't see how linear combinations stop being possible, e.g., "3x + 2y" is still a linear combination in a Z-module, or what it means for a linear combination to be invertible.
(Also not sure what exactly you mean by linear relations not existing if you have a module and not a vector space...)
My “foolproof” comment was based on Vandermonde matrices not always being invertible during decoding without an extra step, which tripped up multiple implementations. (PAR1 suffered from this problem, then they tried to fix it with PAR2 but still failed!)
I think we discussed a while ago doing Vandermonde decoding without matrix inversion, so that’s one advantage that Vandermonde matrices have. (Although I haven’t seen an implementation do that optimization.)
I don’t actually know if Cauchy matrices apply for error correction and not just erasure codes —- I’d be interested if other people know!