# Graded Algebra of Mixed Differential Forms¶

Let $$M$$ and $$N$$ be differentiable manifolds and $$\varphi: M \to N$$ a differentiable map. The space of mixed differential forms along $$\varphi$$, denoted by $$\Omega^*(M,\varphi)$$, is given by the direct sum $$\bigoplus^n_{j=0} \Omega^j(M,\varphi)$$ of differential form modules, where $$n=\dim(N)$$. With the wedge product, $$\Omega^*(M,\varphi)$$ inherits the structure of a graded algebra.

AUTHORS:

• Michael Jung (2019) : initial version
class sage.manifolds.differentiable.mixed_form_algebra.MixedFormAlgebra(vector_field_module)

An instance of this class represents the graded algebra of mixed form. That is, if $$\varphi: M \to N$$ is a differentiable map between two differentiable manifolds $$M$$ and $$N$$, the graded algebra of mixed forms $$\Omega^*(M,\varphi)$$ along $$\varphi$$ is defined via the direct sum $$\bigoplus^{n}_{j=0} \Omega^j(M,\varphi)$$ consisting of differential form modules (cf. DiffFormModule), where $$n$$ is the dimension of $$N$$. Hence, $$\Omega^*(M,\varphi)$$ is a module over $$C^k(M)$$ and a vector space over $$\RR$$ or $$\CC$$. Furthermore notice, that

$\Omega^*(M,\varphi) \cong C^k \left( \bigoplus^n_{j=0} \Lambda^j(\varphi^*T^*N) \right),$

where $$C^k$$ denotes the global section functor for differentiable sections of order $$k$$ here.

The wedge product induces a multiplication on $$\Omega^*(M,\varphi)$$ and gives it the structure of a graded algebra since

$\Omega^k(M,\varphi) \wedge \Omega^l(M,\varphi) \subset \Omega^{k+l}(M,\varphi).$

INPUT:

• vector_field_module – module $$\mathfrak{X}(M,\varphi)$$ of vector fields along $$M$$ associated with the map $$\varphi: M \rightarrow N$$

EXAMPLES:

Graded algebra of mixed forms on a 3-dimensional manifold:

sage: M = Manifold(3, 'M')
sage: X.<x,y,z> = M.chart()
sage: Omega = M.mixed_form_algebra(); Omega
Graded algebra Omega^*(M) of mixed differential forms on the
3-dimensional differentiable manifold M
sage: Omega.category()
Category of graded algebras over Symbolic Ring
sage: Omega.base_ring()
Symbolic Ring
sage: Omega.vector_field_module()
Free module X(M) of vector fields on the 3-dimensional differentiable
manifold M


Elements can be created from scratch:

sage: A = Omega(0); A
Mixed differential form zero on the 3-dimensional differentiable
manifold M
sage: A is Omega.zero()
True
sage: B = Omega(1); B
Mixed differential form one on the 3-dimensional differentiable
manifold M
sage: B is Omega.one()
True
sage: C = Omega([2,0,0,0]); C
Mixed differential form on the 3-dimensional differentiable manifold M


There are some important coercions implemented:

sage: Omega0 = M.scalar_field_algebra(); Omega0
Algebra of differentiable scalar fields on the 3-dimensional
differentiable manifold M
sage: Omega.has_coerce_map_from(Omega0)
True
sage: Omega2 = M.diff_form_module(2); Omega2
Free module Omega^2(M) of 2-forms on the 3-dimensional differentiable
manifold M
sage: Omega.has_coerce_map_from(Omega2)
True


Restrictions induce coercions as well:

sage: U = M.open_subset('U'); U
Open subset U of the 3-dimensional differentiable manifold M
sage: OmegaU = U.mixed_form_algebra(); OmegaU
Graded algebra Omega^*(U) of mixed differential forms on the Open subset
U of the 3-dimensional differentiable manifold M
sage: OmegaU.has_coerce_map_from(Omega)
True

Element
irange(start=None)

Single index generator.

INPUT:

• start – (default: None) initial value $$i_0$$ of the index between 0 and $$n$$, where $$n$$ is the manifold’s dimension; if none is provided, the value 0 is assumed

OUTPUT:

• an iterable index, starting from $$i_0$$ and ending at $$n$$, where $$n$$ is the manifold’s dimension

EXAMPLES:

sage: M = Manifold(3, 'M')
sage: A = M.mixed_form_algebra()
sage: list(A.irange())
[0, 1, 2, 3]
sage: list(A.irange(2))
[2, 3]

one()

Return the one of self.

EXAMPLES:

sage: M = Manifold(3, 'M')
sage: A = M.mixed_form_algebra()
sage: A.one()
Mixed differential form one on the 3-dimensional differentiable
manifold M

vector_field_module()

Return the underlying vector field module.

EXAMPLES:

sage: M = Manifold(2, 'M')
sage: N = Manifold(3, 'N')
sage: Phi = M.diff_map(N, name='Phi'); Phi
Differentiable map Phi from the 2-dimensional differentiable
manifold M to the 3-dimensional differentiable manifold N
sage: A = M.mixed_form_algebra(Phi); A
Graded algebra Omega^*(M,Phi) of mixed differential forms along the
2-dimensional differentiable manifold M mapped into the
3-dimensional differentiable manifold N via Phi
sage: A.vector_field_module()
Module X(M,Phi) of vector fields along the 2-dimensional
differentiable manifold M mapped into the 3-dimensional
differentiable manifold N

zero()

Return the zero of self.

EXAMPLES:

sage: M = Manifold(3, 'M')
sage: A = M.mixed_form_algebra()
sage: A.zero()
Mixed differential form zero on the 3-dimensional differentiable
manifold M