[HN Gopher] Directsum.jl - Abstract tangent bundle vector space ... ___________________________________________________________________ Directsum.jl - Abstract tangent bundle vector space type operations Author : DreamScatter Score : 47 points Date : 2020-01-18 18:07 UTC (4 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | dan-robertson wrote: | I feel like the readme could do with a better introduction. At | the moment it seems like weird mix of mathematically technical | definitions, code examples (I guess related to api specifics), | and some random Julia type-system/size-limit technicalities | thrown in too. | | But that said, I don't think I know anything about this sort of | geometry or algebra so maybe instead I should want a paragraph | telling me to give up. | | Also is V"++++" the same as S"++++" (or rather, is V the same as | S?), this looked like maybe the notation just changed? But like I | say, I couldn't really follow the readme so I'm likely wrong | here. | dan-robertson wrote: | I found this link which provides a bit of colour and is a bit | more readable than the readme: | | https://grassmann.crucialflow.com/dev/ | DreamScatter wrote: | The difference between V"++++" and S"++++" is that the S" | specifically constructs a Signature concrete type, while the V" | is for automatically selecting an appropriate type of the | VectorBundle category, which is not limited to Signature | specifically, making it a more general constructor call. | DreamScatter wrote: | Related: Grassmann.jl - Differential Geometric Algebra - | https://news.ycombinator.com/item?id=22076368 | ganzuul wrote: | What problem is one solving when this becomes useful? Is it a | compressed representation of something? | DreamScatter wrote: | Correct, it is an encoding to represent SubManifold spaces used | in the multi-linear Grassmann algebra. It might seem strange on | its own, but the advantage it provides in Grassmann.jl is | specialized automatic pre-compilation for differential | geometric algebras based on a vector bundle manifold. For | example, see https://grassmann.crucialflow.com | aesthesia wrote: | I'm not sure I understand how the different types in this library | ---Manifold, VectorBundle, SubManifold---correspond to the | standard definitions of these mathematical objects. How is a | manifold represented here? Can arbitrary manifolds be | represented? | dan-robertson wrote: | I think a complication is that there are abstract types and | concrete types. The abstract types let you say "give me a | tangent bundle where ..." and the concrete types actually | implement the thing as eg a vector or a sparse vector or ... | | An alternative example would be that in Julia you can talk | about abstract vector types of which dense and sparse form | disjoint subtypes | DreamScatter wrote: | Indeed, the Manifold{n} type from AbstractTensors.jl | (https://github.com/chakravala/AbstractTensors.jl) is defined | as an abstract type in Julia. The parameter `n` is used to | specify the Manifold dimension, which is locally isomorphic | to R^n. | | A VectorBundle is another abstract type, which standardizes | an encoding format for concrete Signature and DiagonalForm | types, or more. SubManifold can select subspaces of a | VectorBundle or generally an arbitrary Manifold. | | The design of the type system was optimized for algebra | interoperability and adaptive subspace precompilation. | adamnemecek wrote: | If this tickles your fancy, check out the bivector.net community. | | Check the demo | | https://observablehq.com/@enkimute/animated-orbits | | Join the discord | | https://discord.gg/vGY6pPk ___________________________________________________________________ (page generated 2020-01-18 23:00 UTC)