chakravala / chakravala/Grassmann.jl
More elegant way to access `v1` programmatically?
- Dominant language
- Julia
- Stars
- 514
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Description
I am using projective or conformal bases, such as
```Julia
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.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the Julia implementation and tests for the `B.v` accessor, then inspect how bases containing `v∞` or `v∅` determine vector indexing. Done means dimension-generic calls such as `B.v(i)` consistently return the i-th ordinary basis vector, with the breaking behavior documented and covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100