combin · Tableau¶
9 accepted declarations. Python and Rust forms, contracts, evidence, failure boundaries, and checked usages are kept together below.
Worked example¶
The complete checked program Weight characters and second Chern classes for polynomial GL representations uses this API directly.
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Benjamin Antieau and Deven Manam
"""Weight characters and second Chern classes for polynomial GL representations."""
from noether.combin import Partition, Tableau
from noether.groups import PolynomialGlRepresentation
shape = Partition((2, 1))
tableaux = Tableau.semistandard(shape, 3)
assert tableaux.cardinality == 8
assert next(tableaux).content(3) == (2, 1, 0)
wedge_two = PolynomialGlRepresentation(4, Partition((1, 1)))
assert wedge_two.weyl_dimension == 6
assert wedge_two.descends_to_sl_quotient(2)
assert wedge_two.second_chern_index() == 2
assert wedge_two.second_chern_index_from_weights() == 2
example = PolynomialGlRepresentation(6, shape)
assert example.weyl_dimension == 70
assert example.second_chern_index() == 33
example.verify_second_chern_index()
character = example.sl_character()
assert character.dimension == 70
assert character.chern_class(2).nonzero_term_count > 0
print("tableaux=8; c2(wedge^2 gamma_4)=2c2; c2(gamma_6^(2,1))=33c2")
Run it with .venv/bin/python examples/27_weight_characters.py.
combin.Tableau¶
A thin Python handle around Noether's semistandard integer tableau.
noether::combin::Tableau · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: examples/27_weight_characters.py:5 · examples/27_weight_characters.py:9 · validation/unit/combin/test_acceptance_workload.py:18 · validation/unit/combin/test_acceptance_workload.py:35 · validation/unit/combinatorics/test_tableau_rsk.py:12 · validation/unit/combinatorics/test_tableau_rsk.py:14
combin.Tableau.__eq__¶
Test mathematical equality with another value.
noether::combin::Tableau · Python projection
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
combin.Tableau.content¶
Content vector in the positive alphabet 1..=alphabet_size.
Detailed contract
Content in the positive alphabet 1..=alphabet_size. The returned arbitrary-precision count at position i is the number of entries equal to i + 1. A tableau whose entries do not belong to the requested alphabet is rejected rather than silently truncated.
noether::combin::Tableau::content · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: examples/27_weight_characters.py:11 · validation/unit/groups/test_weight_characters.py:30 · validation/unit/infra/test_docs_site_generator.py:180 · validation/unit/infra/test_release_candidate.py:86 · validation/unit/infra/test_wheel_sbom.py:98 · validation/parity/m1_bsgs.py:65
combin.Tableau.from_json¶
Deserialize and revalidate shape, rows, and columns.
noether::combin::Tableau · Python projection
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: validation/unit/category/test_category.py:14 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106 · validation/unit/combin/test_graph_facade.py:25 · validation/unit/combinatorics/test_kashiwara_crystal.py:32
combin.Tableau.rows¶
Immutable row-major entries as Python integers.
Detailed contract
Row-major entries.
noether::combin::Tableau::rows · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: examples/distributed/f2_linear_algebra.py:56 · validation/unit/combin/test_acceptance_workload.py:36 · validation/unit/combin/test_acceptance_workload.py:37 · validation/unit/combinatorics/test_tableau_rsk.py:15 · validation/unit/combinatorics/test_tableau_rsk.py:42 · validation/unit/combinatorics/test_tableau_rsk.py:43
combin.Tableau.rsk¶
Robinson--Schensted--Knuth row insertion for an integer word.
Detailed contract
Robinson–Schensted–Knuth row insertion for an integer word. Returns the semistandard insertion tableau and standard recording tableau. The typed failure is only the explicit Young-diagram bound.
noether::combin::Tableau::rsk · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: validation/unit/combin/test_acceptance_workload.py:35 · validation/unit/combinatorics/test_tableau_rsk.py:40 · validation/unit/combinatorics/test_tableau_rsk.py:49 · validation/parity/combinatorics/test_tableau_rsk_parity.py:59
combin.Tableau.semistandard¶
Lazily enumerate semistandard tableaux of one shape and alphabet.
Detailed contract
Lazily enumerate semistandard tableaux of shape in row-major lexicographic order over the alphabet 1..=maximum_entry.
noether::combin::Tableau::semistandard · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: examples/27_weight_characters.py:9 · validation/unit/combinatorics/test_tableau_rsk.py:3 · validation/unit/groups/test_weight_characters.py:20 · validation/corpus/groups/gelfand-tsetlin-weight-character.py:11 · validation/corpus/groups/gelfand-tsetlin-weight-character.py:3
combin.Tableau.shape¶
Canonical partition shape.
Detailed contract
Young-diagram shape derived from the rows.
noether::combin::Tableau::shape · Direct Rust declaration
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: examples/27_weight_characters.py:19 · examples/27_weight_characters.py:8 · examples/27_weight_characters.py:9 · examples/distributed/f2_linear_algebra.py:51 · examples/distributed/f2_linear_algebra.py:52 · validation/unit/combin/test_acceptance_workload.py:38
combin.Tableau.to_json¶
Serialize canonical row data; arbitrary-precision entries use decimal strings.
noether::combin::Tableau · Python projection
| Contract | Value |
|---|---|
| Guarantee | checked deterministic result |
| Determinism | deterministic |
| Availability | default CPU build |
| Domain implementation crates | noether, graph-core, perm-core |
| GIL | attached / bounded |
| Semantic ID | noether/combin/Tableau@1 |
Executable usage: validation/unit/category/test_category.py:14 · validation/unit/category/test_category.py:15 · validation/unit/combin/test_acceptance_workload.py:30 · validation/unit/combin/test_acceptance_workload.py:65 · validation/unit/combin/test_acceptance_workload.py:86 · validation/unit/combin/test_graph_facade.py:106