Opened 9 months ago

Last modified 3 months ago

#31249 new enhancement

Grassmann Manifolds

Reported by: gh-mjungmath Owned by:
Priority: major Milestone: sage-9.5
Component: manifolds Keywords:
Cc: egourgoulhon, tscrim, gh-tobiasdiez Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by gh-mjungmath)

Grassmannian manifolds are extremely important in (differential) geometry. Thus, we want to add them to the catalog of manifolds in Sage.

The following notes introduce charts and their transition maps very straightforwardly:

http://www.math.toronto.edu/mgualt/courses/18-367/docs/DiffGeomNotes-2.pdf

However, the number of charts grows extremely fast, namely ncr(n,k). One approach could be to parallelize the initialization process to reach at least low dimensional Grassmannians in a reasonable time.

Apart from that, it could be enough to start with only one chart since this should already cover enough (in particular, everything except a set of measure zero). That should give enough freedom to do almost everything on Grassmannians already.

Part of metaticket #30189.

Change History (13)

comment:1 Changed 9 months ago by gh-mjungmath

  • Description modified (diff)

comment:2 follow-up: Changed 9 months ago by mkoeppe

I think this is a good opportunity to investigate possible connections to pymanopt (#30495)...

comment:3 Changed 9 months ago by tscrim

Another possible approach is to have a way to construct things lazily. So you have the charts, but all of the additional initialization and constructions would not be done until you actually do something with the chart. However, this would require a major overhaul to the manifolds implementation.

comment:4 in reply to: ↑ 2 Changed 9 months ago by egourgoulhon

+1 for including Grassmannians (with projective spaces as special case).

Replying to mkoeppe:

I think this is a good opportunity to investigate possible connections to pymanopt (#30495)...

Could you elaborate a little bit about this?

comment:5 follow-up: Changed 9 months ago by gh-tobiasdiez

Or, more generally, flag manifolds.

For the charts, maybe it is convenient to use the fact that these examples are homogeneous spaces, so that one only needs to define the chart at the identity coset. The other charts can be then generated dynamically by translation on the group.

comment:6 in reply to: ↑ 5 ; follow-up: Changed 9 months ago by gh-mjungmath

Replying to gh-tobiasdiez:

Or, more generally, flag manifolds.

For the charts, maybe it is convenient to use the fact that these examples are homogeneous spaces, so that one only needs to define the chart at the identity coset. The other charts can be then generated dynamically by translation on the group.

We neither have Lie groups nor group actions at the moment. And elements of e.g. GL(R, n) are represented by matrices in the (by nature) inexact "field" of floating-point reals. I suspect some problems here.

comment:7 follow-up: Changed 9 months ago by chapoton

Using the cluster charts (namely minors of matrices) and cluster mutations may be a good way, that would give as a bonus the positive grassmanians.

comment:8 in reply to: ↑ 7 ; follow-up: Changed 9 months ago by tscrim

Replying to chapoton:

Using the cluster charts (namely minors of matrices) and cluster mutations may be a good way, that would give as a bonus the positive grassmanians.

You are thinking about representing the charts in terms of Plücker coordinates, correct?

comment:9 in reply to: ↑ 6 Changed 9 months ago by tscrim

Replying to gh-mjungmath:

Replying to gh-tobiasdiez:

Or, more generally, flag manifolds.

For the charts, maybe it is convenient to use the fact that these examples are homogeneous spaces, so that one only needs to define the chart at the identity coset. The other charts can be then generated dynamically by translation on the group.

We neither have Lie groups nor group actions at the moment. And elements of e.g. GL(R, n) are represented by matrices in the (by nature) inexact "field" of floating-point reals. I suspect some problems here.

I think there is still something you can do by considering the free parameters of the corresponding matrices to define the coordinate chart. So you don't really need the actual Lie group implemented as a manifold I believe.

comment:10 in reply to: ↑ 8 ; follow-up: Changed 9 months ago by gh-mjungmath

Replying to tscrim:

You are thinking about representing the charts in terms of Plücker coordinates, correct?

Unfortunately, I don't know Plücker coordinates. I have to read some things first...any idea where to start?

Replying to tscrim:

I think there is still something you can do by considering the free parameters of the corresponding matrices to define the coordinate chart. So you don't really need the actual Lie group implemented as a manifold I believe.

Ah, alright. That could actually work! Nice!

comment:11 in reply to: ↑ 10 Changed 9 months ago by tscrim

Replying to gh-mjungmath:

Replying to tscrim:

You are thinking about representing the charts in terms of Plücker coordinates, correct?

Unfortunately, I don't know Plücker coordinates. I have to read some things first...any idea where to start?

Wikipedia

The short version is Plücker coordinates are the minors for a matrix representing a point in the Grassmannian and give an embedding in projective space. The transition maps are quadratic and considered as cluster relations.

comment:12 Changed 7 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.

comment:13 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5
Note: See TracTickets for help on using tickets.