Skip to content

NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension ​

The dimension of the homomorphisms from the direct sum of the non-projective indecomposable injective modules to the direct sum of the non-injective indecomposable projective modules.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000687via DyckPath✓
NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension(path)The dimension of the homomorphisms from the direct sum of the non-projective indecomposable injective modules to the direct sum of the non-injective indecomposable projective modules.
Typed signatures
TypePackageApplies
(dyck_path) -> numbercombinatoricsalways

Domain: Dyck path statistics

Details
  • Defined over DyckPath as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a DyckPath and 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 St000687. A projective is injective when the projective before it is no longer than it.

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(
                                                                                                       (injectiveTops: list<integer>) => Apply(
                                                                                                                                                (injectiveLengths: list<integer>) => Apply(
                                                                                                                                                                                            (projectiveTops: list<integer>) => Apply(
                                                                                                                                                                                                                                      (projectiveLengths: list<integer>) => Max(Sum(Map(Function(Max(Sum(Map(Function((0 if injectiveLengths[i] ==
                                                                                                                                                                                                                                                                                                                            series[injectiveTops[i] + 1] else 1) *
                                                                                                                                                                                                                                                                                                                      (1 if leftSeries[projectiveTops[j] + 1] >
                                                                                                                                                                                                                                                                                                                            projectiveLengths[j] else 0) *
                                                                                                                                                                                                                                                                                                                      Max(0, Min(1, projectiveTops[j] + projectiveLengths[j] -
                                                                                                                                                                                                                                                                                                                                    injectiveTops[i], Min(injectiveLengths[i], projectiveLengths[j]) -
                                                                                                                                                                                                                                                                                                                                      (projectiveTops[j] + projectiveLengths[j] -
                                                                                                                                                                                                                                                                                                                                       injectiveTops[i]) +
                                                                                                                                                                                                                                                                                                                                      1)), j), Range(1, Length(projectiveTops)))), 0), i), Range(1, Length(injectiveTops)))), 0),
                                                                                                                                                                                                                                      Map(Function(series[w], w), Range(1, Length(_x) / 2 +
                                                                                                                                                                                                                                                                           1)),
                                                                                                                                                                                                                                    ),
                                                                                                                                                                                            Map(Function(w - 1, w), Range(1, Length(_x) / 2 +
                                                                                                                                                                                                                             1)),
                                                                                                                                                                                          ),
                                                                                                                                                Map(Function(Apply(
                                                                                                                                                                    (top: integer) => v - top,
                                                                                                                                                                    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) => top,
                                                                                                                            Min(Filter(
                                                                                                                                        Range(0, v - 1, 1),
                                                                                                                                        Function(x +
                                                                                                                                                 series[x + 1] >
                                                                                                                                                 v - 1, x),
                                                                                                                                      )),
                                                                                                                          ), 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

Basic #

the step word UUDDUDUUDDUD

live ↗
InNonProjectiveInjectiveToNonInjectiveProjectiveHomDimension(DyckPath⁡([1,1,0,0,1,0]))\mathrm{NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension}({\operatorname{DyckPath}}([1, 1, 0, 0, 1, 0]))Out00

the step word UDUUDDUDUUDD

live ↗
InNonProjectiveInjectiveToNonInjectiveProjectiveHomDimension(DyckPath⁡([1,0,1,1,0,0]))\mathrm{NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension}({\operatorname{DyckPath}}([1, 0, 1, 1, 0, 0]))Out00
Properties #

FindStat's value for [1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0]),NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0]), \text{NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension})Out00

Known value · FindStat St000687

FindStat's value for [1,0,1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0,1,0]),NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0, 1, 0]), \text{NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension})Out00

Known value · FindStat St000687

FindStat's value for [1,1,0,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,1,0,0]),NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 1, 0, 0]), \text{NonProjectiveInjectiveToNonInjectiveProjectiveHomDimension})Out00

Known value · FindStat St000687

About
Examples5
CrosswalkFindStat