NakayamaDominantDimension
The dominant dimension of the path's linear Nakayama algebra.
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St000685via DyckPath✓NakayamaDominantDimension(path)The dominant dimension of the path's linear Nakayama algebra.Typed signatures
| Type | Package | Applies |
|---|---|---|
(dyck_path) -> number | combinatorics | always |
Details
- Defined over
DyckPathas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
DyckPathand 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. - FindStat's St000685. An algebra and its opposite have the same dominant dimension, which for the opposite is the least codominant dimension of a non-projective indecomposable injective module.
Definition
Epsil, as the implementation runs it.
on DyckPath, over _x
0 if Length(_x) < 1 else Apply(
(series: list<integer>) => Apply((leftSeries: list<integer>) => Apply(
(dims: list<integer>) => Apply(
(injectiveDims: list<integer>) => Apply(
(codominantDims: list<integer>) => Min(Map(
Function(codominantDims[v], v),
Filter(Range(1, Length(_x) / 2 +
1), Function(injectiveDims[v] > 0, v)),
)),
Map(Function(Apply(
(top: integer) => Fold(
Function(Apply((entry: integer) => Apply(
(flag: integer) => [a[1], a[2], a[3] + flag, flag] if a[2] == entry else [a[1] + a[2], entry - a[2], a[3] + flag, flag],
a[4] *
(1 if leftSeries[a[1] + 1] <=
entry else 0),
), series[a[1] + 1]), a, b),
[top, v - top, 0, 1],
Range(1, Length(_x) / 2 +
1),
)[3],
Min(Filter(Range(0, v - 1, 1), Function(x +
series[x + 1] >
v - 1, x))),
), v), Range(1, Length(_x) / 2 +
1)),
),
Map(Function(Apply(
(top: integer) => Fold(
Function(Apply(
(entry: integer) => [a[1], a[2], a[3]] if a[2] == entry else [a[1] + a[2], entry - a[2], a[3] + 1],
series[a[1] + 1],
), a, b),
[top, v - top, 0],
Range(1, Length(_x) / 2 +
1),
)[3],
Min(Filter(
Range(0, v - 1, 1),
Function(x +
series[x + 1] >
v - 1, x),
)),
), v), Range(1, Length(_x) / 2 +
1)),
),
Map(
Function(Fold(
Function(Apply(
(entry: integer) => [a[1], a[2], a[3]] if a[2] == entry else [a[1] + a[2], entry - a[2], a[3] + 1],
series[a[1] + 1],
), a, b),
[v - 1, 1, 0],
Range(1, Length(_x) / 2 +
1),
)[3], v),
Range(1, Length(_x) / 2 +
1),
),
), Join([0], series)),
Apply(
(h: list<integer>) => Apply(
(ups: list<integer>) => Join(Map(
Function(h[ups[Length(_x) / 2 +
1 -
t]] +
1, t),
Range(1, Length(_x) / 2),
), [1]),
Filter(
Range(1, Length(_x)),
Function(_x[i] == 1, i),
),
),
Map(
Function(Sum(Map(
Function(
2 *
_x[k] - 1,
k,
),
Range(1, i),
)), i),
Range(1, Length(_x)),
),
),
)Examples
Properties #
About
| Examples | 5 |
|---|---|
| Crosswalk | FindStat |