RegularModuleSecondInjectiveTermProjectiveDimension
The greatest projective dimension of the second term of the minimal injective coresolution of an indecomposable projective module.
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St001273via DyckPath✓RegularModuleSecondInjectiveTermProjectiveDimension(path)The greatest projective dimension of the second term of the minimal injective coresolution of an indecomposable projective module.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 St001273, which calls this the first term: its rows count the injective hull as the zeroth term, the injective hull of the first cosyzygy as the first.
Definition
Epsil, as the implementation runs it.
on DyckPath, over _x
0 if Length(_x) < 1 else Apply(
(series: list<integer>) => Max(Map(Function(Apply(
(cosyzygy: list<integer>) => 0 if cosyzygy[2] == 0 else Apply((socle: integer) => Apply(
(hull: 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),
[hull, socle + 1 -
hull, 0],
Range(1, Length(_x) / 2 +
1),
)[3],
Min(Filter(
Range(0, socle, 1),
Function(x +
series[x + 1] >
socle, x),
)),
), cosyzygy[1] + cosyzygy[2] -
1),
Fold(
Function(Apply((cursor: integer) => Apply((extent: integer) => Apply(
(socle: integer) => Apply(
(hull: integer) => [cursor, extent, a[3]] if extent == 0 ||
a[3] == 1 else [hull, cursor - hull, a[3] + 1],
Min(Filter(Range(0, socle, 1), Function(x +
series[x + 1] >
socle, x))),
),
Max(cursor + extent -
1, 0),
), a[2]), a[1]), a, b),
[v - 1, series[v], 0],
Range(1, Length(_x) / 2 +
1),
),
), v), Range(1, Length(_x) / 2 +
1))),
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 |