Grassmann.jl
                                
                                
                                
                                    Grassmann.jl copied to clipboard
                            
                            
                            
                        More elegant way to access `v1` programmatically?
I am using projective or conformal bases, such as
julia> S = S"∞++"
julia> B = Λ(S)
I want to write dimension-generic code, and want to access the i-th basis vector. Unfortunately, Grassmann counts starting from v∞, so that v₁ is B.v(2) etc. It would be more convenient if B.v(1) returned v1, independent of whether v∞ or v∅ were present. I currently have to write B.v(i+1) or B.v(i+2), depending on the basis.
I realize this would be a breaking change, and obviously this is not an urgent feature request.
As it turns out, the space S"∞++" is isomorphic to ℝ^3, aside from having a dedicated index for the up and down projection of the Riemann sphere. Therefore, it should be trivial for you to simply switch to using the ℝ^3 space instead of S"∞++" if it is the basis ordering which you don't like. By switching to the ℝ^3 you can pick v3 as your projection basis instead.
The only difference is that ℝ^3 does not currently have an automatic up and down projection method defined for it, thus you'll have to define your own method.