Documentation

TauCeti.Geometry.Symplectic.Lagrangian.Constructions

Products, transports, and graphs of Lagrangian subspaces #

This file collects the linear symplectic constructions that produce isotropic, coisotropic, and Lagrangian subspaces out of existing ones. All three groups are pointwise linear algebra over the symplectic-form API in TauCeti.Geometry.Symplectic.Lagrangian.Basic.

Main declarations #

The conventions follow McDuff--Salamon, J-holomorphic Curves and Symplectic Topology, Sections 2.1 and 2.3. The twisted product form ω₁ ⊖ ω₂ itself lives with the rest of the product-form API in TauCeti.Geometry.Symplectic.Prod.Basic, and the graph is Mathlib's submodule LinearMap.graph.

@[simp]
theorem TauCeti.SymplecticForm.orthogonal_prod {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} :
(ω₁.prod ω₂).orthogonal (L₁.prod L₂) = (ω₁.orthogonal L₁).prod (ω₂.orthogonal L₂)

The symplectic complement of a product subspace is the product of the symplectic complements for the direct-sum symplectic form.

@[simp]
theorem TauCeti.SymplecticForm.isIsotropic_prod_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} :
(ω₁.prod ω₂).IsIsotropic (L₁.prod L₂) ↔ ω₁.IsIsotropic L₁ ∧ ω₂.IsIsotropic L₂

A product subspace is isotropic for the direct-sum symplectic form exactly when both factors are isotropic.

theorem TauCeti.SymplecticForm.IsIsotropic.prod {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} (h₁ : ω₁.IsIsotropic L₁) (h₂ : ω₂.IsIsotropic L₂) :
(ω₁.prod ω₂).IsIsotropic (L₁.prod L₂)

The product of two isotropic subspaces is isotropic for the direct-sum symplectic form.

@[simp]
theorem TauCeti.SymplecticForm.isCoisotropic_prod_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} :
(ω₁.prod ω₂).IsCoisotropic (L₁.prod L₂) ↔ ω₁.IsCoisotropic L₁ ∧ ω₂.IsCoisotropic L₂

A product subspace is coisotropic for the direct-sum symplectic form exactly when both factors are coisotropic.

theorem TauCeti.SymplecticForm.IsCoisotropic.prod {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} (h₁ : ω₁.IsCoisotropic L₁) (h₂ : ω₂.IsCoisotropic L₂) :
(ω₁.prod ω₂).IsCoisotropic (L₁.prod L₂)

The product of two coisotropic subspaces is coisotropic for the direct-sum symplectic form.

@[simp]
theorem TauCeti.SymplecticForm.isLagrangian_prod_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} :
(ω₁.prod ω₂).IsLagrangian (L₁.prod L₂) ↔ ω₁.IsLagrangian L₁ ∧ ω₂.IsLagrangian L₂

A product subspace is Lagrangian for the direct-sum symplectic form exactly when both factors are Lagrangian.

theorem TauCeti.SymplecticForm.IsLagrangian.prod {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} (h₁ : ω₁.IsLagrangian L₁) (h₂ : ω₂.IsLagrangian L₂) :
(ω₁.prod ω₂).IsLagrangian (L₁.prod L₂)

The product of two Lagrangian subspaces is Lagrangian for the direct-sum symplectic form.

@[simp]
theorem TauCeti.SymplecticForm.isSymplectic_prod_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} :
(ω₁.prod ω₂).IsSymplectic (L₁.prod L₂) ↔ ω₁.IsSymplectic L₁ ∧ ω₂.IsSymplectic L₂

A product subspace is symplectic for the direct-sum symplectic form exactly when both factors are symplectic.

theorem TauCeti.SymplecticForm.IsSymplectic.prod {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {L₁ : Submodule ℝ V} {L₂ : Submodule ℝ W} (h₁ : ω₁.IsSymplectic L₁) (h₂ : ω₂.IsSymplectic L₂) :
(ω₁.prod ω₂).IsSymplectic (L₁.prod L₂)

The product of two symplectic subspaces is symplectic for the direct-sum symplectic form.

@[simp]

The symplectic complement of a transported subspace is the transport of the symplectic complement.

A linear symplectomorphism carries symplectic complements to symplectic complements.

@[simp]

Isotropy is invariant under transporting both the symplectic form and the subspace along a linear equivalence.

@[simp]

Coisotropy is invariant under transporting both the symplectic form and the subspace along a linear equivalence.

@[simp]

Lagrangian-ness is invariant under transporting both the symplectic form and the subspace along a linear equivalence.

@[simp]

Being a symplectic subspace is invariant under transporting both the symplectic form and the subspace along a linear equivalence.

Transport an isotropic subspace along a linear equivalence, together with the transported symplectic form.

Transport a coisotropic subspace along a linear equivalence, together with the transported symplectic form.

Transport a Lagrangian subspace along a linear equivalence, together with the transported symplectic form.

Transport a symplectic subspace along a linear equivalence, together with the transported symplectic form.

@[simp]
theorem TauCeti.SymplecticForm.isIsotropic_graph_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {f : V →ₗ[ℝ] W} :
(ω₁.twistedProd ω₂).IsIsotropic f.graph ↔ ∀ (v w : V), (fun (v w : W) => (ω₂.toBilinForm v) w) (f v) (f w) = (fun (v w : V) => (ω₁.toBilinForm v) w) v w

The graph of f is isotropic for the twisted product form iff f preserves the symplectic forms pointwise: ω₂(f v, f w) = ω₁(v, w).

theorem TauCeti.SymplecticForm.isIsotropic_linearEquiv_graph_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {e : V ≃ₗ[ℝ] W} :
(ω₁.twistedProd ω₂).IsIsotropic (↑e).graph ↔ ω₁.IsSymplectomorphism ω₂ e

The graph of e is isotropic for the twisted product form iff e is a symplectomorphism.

This is a plain bridging lemma, not a simp lemma: the general isIsotropic_graph_iff already puts graph isotropy into its own normal form, so marking this @[simp] too would leave two competing normal forms for e.toLinearMap.graph.

theorem TauCeti.SymplecticForm.IsSymplectomorphism.isLagrangian_graph {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {e : V ≃ₗ[ℝ] W} (h : ω₁.IsSymplectomorphism ω₂ e) :
(ω₁.twistedProd ω₂).IsLagrangian (↑e).graph

The graph of a symplectomorphism e : V ≃ₗ[ℝ] W is a Lagrangian subspace of the twisted product (V × W, ω₁ ⊖ ω₂). No finite-dimensionality is required.

@[simp]
theorem TauCeti.SymplecticForm.isLagrangian_graph_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {e : V ≃ₗ[ℝ] W} :
(ω₁.twistedProd ω₂).IsLagrangian (↑e).graph ↔ ω₁.IsSymplectomorphism ω₂ e

The graph of e is Lagrangian for the twisted product form iff e is a symplectomorphism.

theorem TauCeti.SymplecticForm.isSymplectic_graph_iff {V : Type u_1} {W : Type u_2} [AddCommGroup V] [Module ℝ V] [AddCommGroup W] [Module ℝ W] {ω₁ : SymplecticForm V} {ω₂ : SymplecticForm W} {f : V →ₗ[ℝ] W} :
(ω₁.prod ω₂).IsSymplectic f.graph ↔ ∀ (v : V), (∀ (w : V), (fun (v w : V) => (ω₁.toBilinForm v) w) v w + (fun (v w : W) => (ω₂.toBilinForm v) w) (f v) (f w) = 0) → v = 0

The graph of f is a symplectic subspace for the direct-sum form exactly when the form (v, w) ↦ ω₁(v, w) + ω₂(f v, f w) on V is nondegenerate: a vector pairing to zero with every vector under it is zero.

The diagonal of (V × V, ω ⊖ ω), realized as the graph of the identity equivalence, is Lagrangian. This is the boundary condition modeled by the identity continuation in Lagrangian Floer homology.