uconf.models.surjection

Surjection operad model on nondegenerate surjective words.

Classes

Surjection(n, base_ring)

Surjection operad component in fixed arity.

class uconf.models.surjection.Surjection(n, base_ring)[source]

Bases: CombinatorialFreeModule

Surjection operad component in fixed arity.

Basis elements are tuples u with values in {1, ..., n} that are surjective and have no consecutive equal entries. Degenerate inputs map to zero, while malformed inputs raise.

EXAMPLES:

sage: from sage.all import QQ
sage: from uconf import Surjection
sage: S2 = Surjection(2, QQ)
sage: u = S2((1, 2, 1))
sage: u.arity()
2
sage: S2.degree_on_basis((1, 2, 1))
1
Parameters:

n (int)

connectivity: ClassVar[int] = 0

All components live in non-negative degrees.

__init__(n, base_ring)[source]

Initialize S_n over base_ring.

Parameters:

n (int)

arity()[source]

Return the fixed arity of this operad component.

static unit(base_ring)[source]

Return the operadic unit in arity 1.

Return type:

Element

static unit_key()[source]

Return the basis key of the unit element in arity 1.

Return type:

tuple

basis_iter(d)[source]

Iterate over basis elements in degree d.

Parameters:

d (int)

Return type:

Iterator[Element]

planar_basis_iter(d)[source]

Iterate over planar basis elements in degree d.

Parameters:

d (int)

Return type:

Iterator[Element]

graded_basis[source]

/home/runner/work/uconf/uconf/src/uconf/models/surjection.py (starting at line 150) Return the Family of all basis elements in degree d.

Type:

File

graded_planar_basis[source]

/home/runner/work/uconf/uconf/src/uconf/models/surjection.py (starting at line 155) Return the Family of planar basis elements in degree d.

Type:

File

degree_on_basis(basis_element)[source]

Return homological degree of one basis surjection.

Parameters:

basis_element (tuple)

Return type:

int

static compose(x, i, y)[source]

Compose surjections by Berger–Fresse insertion at input i.

Parameters

x, y:

Surjection elements over the same base ring.

i:

Input slot of x into which y is inserted.

Returns

Surjection.Element

The composite x \circ_i y in arity x.arity() + y.arity() - 1.

EXAMPLES:

sage: from sage.all import QQ
sage: from uconf import Surjection
sage: x = Surjection(2, QQ)((1, 2))
sage: y = Surjection(2, QQ)((1, 2, 1))
sage: Surjection.compose(x, 2, y).arity()
3
Parameters:
Return type:

Element

Surjection.Element[source]

alias of Element