I enjoy the almost Oliver Burne[0] meets Mondrian[1] like outputs of Duckering's implementation, but appreciate the simplicity of the author's as well.
Excellent linked resources for anyone interested in using programming to illuminate mathematics.
The Duckering Hyperbolic Geometry library is also worth digging into:
https://github.com/cduck/hyperbolic/
This is organized into a pip module and has a few example ipynb files to get started.
In case this is relevant to your reasons for posting … every time I see one of the fact free posts the slam Python to promote Julia it pushes me further from considering Julia for anything.
The biggest thing that keeps me from using Julia rather than Python for math prototypes is that it uses one-based indexing. I go back and forth between these prototypes and my C++ codebase, and the mental gymnastics to switch from 0-based to 1-based makes Julia a non-starter for me. I prefer Julia over Python other than that one issue, and the lower availability of tutorials, etc. for Julia.
Obviously the comment above is far from helpful in tone or content, but this spurred me to look it up. As a python guy, my takeaways are:
1. It’s designed by mathematicians specifically for math.
2. It has much better support for generic/runtime types, something the academics apparently describe using the terms “parametric polymorphism” and “multi-dispatch”.
None of that sounds even close to convincing me to switch from Python, but I can see the appeal for people who value those typing features and want something faster.
I don’t necessarily see the connection between either of those things and the implementation above, tho… presumably it’s basically instant, anyway?
I enjoy the almost Oliver Burne[0] meets Mondrian[1] like outputs of Duckering's implementation, but appreciate the simplicity of the author's as well.
Excellent linked resources for anyone interested in using programming to illuminate mathematics.
[0] https://en.wikipedia.org/wiki/Oliver_Byrne_(mathematician)
[1] https://en.wikipedia.org/wiki/Piet_Mondrian
https://en.wikipedia.org/wiki/Esoteric_programming_language#...
1. It’s designed by mathematicians specifically for math.
2. It has much better support for generic/runtime types, something the academics apparently describe using the terms “parametric polymorphism” and “multi-dispatch”.
Plus there’s this cute founding ethos blog post from 2012, though it’s necessarily vague: https://julialang.org/blog/2012/02/why-we-created-julia/
None of that sounds even close to convincing me to switch from Python, but I can see the appeal for people who value those typing features and want something faster.
I don’t necessarily see the connection between either of those things and the implementation above, tho… presumably it’s basically instant, anyway?