Hacker News new | ask | show | jobs
by ubj 1167 days ago
One interesting case of this is the concept of dual numbers [1], where you have the symbol \epsilon !=0 but (\epsilon)^2 = 0.

It seems contradictory, but the resulting theory is very useful for automatic differentiation [2] and for mechanics (dual quaternions) [3].

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

[2]: https://book.sciml.ai/notes/08-Forward-Mode_Automatic_Differ...

[3]: https://en.m.wikipedia.org/wiki/Dual_quaternion

2 comments

One thing that is interesting to note is that both dual numbers and imaginary numbers arise as quotient of the polynomial ring.

Complex numbers being equivalent to R[X]/(1+X^2) and dual numbers being equivalent to R[X]/(X^2).

That is why I found algebra to be annoying, unless it was algebra from algebraic topology. Ring of polynomials is too complicated.
"too complicated" is a weird way to say "provides a concise and consistent way to model superficially diverse phenomena and show how similar they really are" .

So you also find matrices too complicated?

matrices over reals are ok especially if you keep to SO(n) but you can get very weird maths as polynomial quotients. they do not look to me like they are very similar. complex plane and extensions of all kinds of weird. seems hacky rather than illuminating to me. but then i only really like complex numbers as a field since analytic functions are so nice
If anyone’s interested, I wrote up an example application of dual numbers in Ruby: https://tomstu.art/automatic-differentiation-in-ruby