uconf.models.simplicial

Simplicial chains on the standard simplex.

Provides SimplicialChains, a CombinatorialFreeModule whose basis elements are single non-degenerate simplices (strictly-increasing tuples of non-negative integers), and SimplicialCochains, the linear dual over a fixed standard simplex Δ^N.

For tensor products of chain modules use the native Sage tensor() function:

from sage.all import QQ, tensor
T = tensor([SimplicialChains(QQ), SimplicialChains(QQ)])

Classes

SimplicialChains(base_ring)

Normalized simplicial chains on Delta^infty.

SimplicialCochains(N, base_ring)

Normalized cochains on Delta^N.

class uconf.models.simplicial.SimplicialChains(base_ring)[source]

Bases: CombinatorialFreeModule

Normalized simplicial chains on Delta^infty.

A basis element is a single non-degenerate simplex, i.e. a strictly-increasing tuple of non-negative integers. Degenerate simplices map to zero, while malformed simplices raise. For example:

(0, 1, 2)   # the 2-simplex [0,1,2]
(3,)        # the vertex 3

For tensor products of chain modules use tensor([SimplicialChains(R)]*r).

Parameters

base_ring :

Coefficient ring.

connectivity = 0

Minimum degree of any basis element (vertices have degree 0).

degree_on_basis(simplex)[source]

Degree = dimension of the simplex = len(simplex) - 1.

Parameters:

simplex (tuple)

Return type:

int

static fundamental_chain(n, base_ring)[source]

The chain [0, 1, dots, n] in C_n(Delta^n).

Parameters

nint (non-negative)

Dimension of the standard simplex Δ^n (so the chain lies in degree n).

Parameters:

n (int)

Return type:

Element

static basis_iter(base_ring, N)[source]

Iterate over all non-degenerate basis elements in C(Δ^N).

Yields SimplicialChains elements with vertices in {0, ..., N}.

Parameters:

N (int)

SimplicialChains.Element[source]

alias of Element

class uconf.models.simplicial.SimplicialCochains(N, base_ring)[source]

Bases: CombinatorialFreeModule

Normalized cochains on Delta^N.

The linear dual of SimplicialChains restricted to simplices with vertices in {0, dots, N}. Basis elements are the same simplex tuples as in SimplicialChains; a basis cochain f_sigma evaluates to delta_{sigma, tau} on a chain tau.

Parameters

Nint

Dimension of the ambient standard simplex.

base_ring

Coefficient ring.

simplex_dim()[source]

Ambient simplex dimension N.

Return type:

int

property connectivity: int

Minimum degree of any basis element (the top cochain has degree -N).

degree_on_basis(simplex)[source]

Homological degree convention: -(len(simplex) - 1).

Parameters:

simplex (tuple)

Return type:

int

basis_iter(d)[source]

Iterate over basis cochains of degree d.

Degree d corresponds to simplices of dimension -d, i.e. strictly increasing tuples of length 1 - d over {0, ..., N}.

Parameters:

d (int)

graded_basis[source]

/home/runner/work/uconf/uconf/src/uconf/models/simplicial.py (starting at line 342) Return a Family of basis cochains in degree d.

Type:

File

static volume_form(N, base_ring)[source]

The cochain evaluating to 1 on the fundamental chain of Δ^N.

Parameters:

N (int)

Return type:

Element

static evaluate(cochain, chain)[source]

Kronecker pairing langle f, sigma rangle.

Both cochain and chain share the same simplex-tuple basis. Returns sum_k f_k sigma_k over matching basis keys.

Return type:

int | Rational

static dual_basis_it(N, base_ring)[source]

Iterate over all dual-basis cochains on Δ^N.

Parameters:

N (int)

Parameters:

N (int)

SimplicialCochains.Element[source]

alias of Element