FullyCommutativeElementCount
The fully commutative elements of the Weyl group: the Catalan number C(n + 1) for A_n, (n + 2) C(n) - 1 for B_n and C_n, (n + 3) C(n) / 2 - 1 for D_n (Stembridge).
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St001653via CartanType✓FullyCommutativeElementCount(cartanType)The fully commutative elements of the Weyl group: the Catalan number C(n + 1) for A_n, (n + 2) C(n) - 1 for B_n and C_n, (n + 3) C(n) / 2 - 1 for D_n (Stembridge).Typed signatures
| Type | Package | Applies |
|---|---|---|
(cartan_type) -> number | combinatorics | always |
Details
- Defined over
CartanTypeas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
CartanTypeand nothing else — it reads values against their positions, or walks the orbits, so it needs the bijection. Applying it to a bare list is a type error, not a wrong answer.
Definition
Epsil, as the implementation runs it.
on CartanType, over _x
(Product(Map(Function(_x[2] + 1 + j, j), Range(2, _x[2] + 1, 1))) /
Product(Range(2, _x[2] + 1, 1)) if (Product(Map(Function(_x[2] + 1 + j, j), Range(2, _x[2] + 1, 1))) + 1) % 2 ==
(Product(Map(Function(_x[2] + 1 + j, j), Range(2, _x[2] + 1, 1))) % 2 + 1) %
2 else 0 / 0) if _x[1] == "A" else (_x[2] + 2) * (Product(Map(
Function(_x[2] +
j, j),
Range(
2,
_x[2],
1,
),
)) /
Product(Range(2, _x[2], 1)) if (Product(Map(
Function(
_x[2] + j,
j,
),
Range(2, _x[2], 1),
)) + 1) % 2 ==
(Product(Map(
Function(
_x[2] + j,
j,
),
Range(2, _x[2], 1),
)) % 2 + 1) %
2 else 0 / 0) - 1 if _x[1] ==
"B" else (_x[2] + 2) *
(Product(Map(
Function(_x[2] + j, j),
Range(2, _x[2], 1),
)) /
Product(Range(2, _x[2], 1)) if (Product(Map(
Function(_x[2] + j, j),
Range(2, _x[2], 1),
)) +
1) %
2 ==
(Product(Map(
Function(_x[2] + j, j),
Range(2, _x[2], 1),
)) %
2 +
1) %
2 else 0 / 0) -
1 if _x[1] == "C" else (_x[2] + 3) *
(Product(Map(Function(_x[2] + j, j), Range(2, _x[2], 1))) /
Product(Range(2, _x[2], 1)) if (Product(Map(Function(_x[2] + j, j), Range(2, _x[2], 1))) +
1) %
2 ==
(Product(Map(Function(_x[2] + j, j), Range(2, _x[2], 1))) %
2 +
1) %
2 else 0 / 0) /
2 -
1 if _x[1] == "D" else (662 if _x[2] == 6 else 2_670 if _x[2] == 7 else 10_846) if _x[1] == "E" else 106 if _x[1] == "F" else 11Examples
Properties #
About
| Examples | 5 |
|---|---|
| Crosswalk | FindStat |