chakravala / chakravala/Grassmann.jl

More elegant way to access `v1` programmatically?

Open
#61 1 comment 0 reactions 0 assignees View on GitHub
question
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.