Skip to content

SymmetryDegree ​

The positions, counting inward from the ends, at which a Dyck path or a binary word agrees with its mirror image.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt001524via BinaryWord✓St001523via DyckPath✓
SymmetryDegree(path)The number of step pairs, counting inward from the ends, at which the path agrees in height with its mirror image.
SymmetryDegree(word)The positions i up to half the length where the letters i and n + 1 - i agree.
Typed signatures
TypePackageApplies
(binary_word | dyck_path) -> numbercombinatoricsalways

Domain: Dyck path and binary word 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 "degree of symmetry".
  • Defined over BinaryWord as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a BinaryWord 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.

Definition

Epsil, as the implementation runs it.

on DyckPath, over _x

0 if Length(_x) < 1 else Count(Filter(
                                       Range(1, Length(_x) / 2),
                                       Function(Join(
                                                      [0],
                                                      Map(
                                                           Function(Sum(Map(
                                                                             Function(2 * _x[k] -
                                                                                      1, k),
                                                                             Range(1, i),
                                                                           )), i),
                                                           Range(1, Length(_x)),
                                                         ),
                                                    )[2c - 1] == Join(
                                                                      [0],
                                                                      Map(
                                                                           Function(Sum(Map(
                                                                                             Function(2 * _x[k] -
                                                                                                      1, k),
                                                                                             Range(1, i),
                                                                                           )), i),
                                                                           Range(1, Length(_x)),
                                                                         ),
                                                                    )[Length(_x) -
                                                                     (2c - 3) + 0] && Join(
                                                                                    [0],
                                                                                    Map(
                                                                                         Function(Sum(Map(Function(2 * _x[k] -
                                                                                                                   1, k), Range(1, i))), i),
                                                                                         Range(1, Length(_x)),
                                                                                       ),
                                                                                  )[2c] ==
                                                                              Join(
                                                                                    [0],
                                                                                    Map(
                                                                                         Function(Sum(Map(Function(2 * _x[k] -
                                                                                                                   1, k), Range(1, i))), i),
                                                                                         Range(1, Length(_x)),
                                                                                       ),
                                                                                  )[Length(_x) - 2c +
                                                                                   2], c),
                                     ))

on BinaryWord, over _x

0 if Length(_x) < 1 else Count(Filter(
                                       Range(1, Length(_x)),
                                       Function(2i <= Length(_x) && _x[i] ==
                                                                    _x[Length(_x) +
                                                                       1 - i], i),
                                     ))

Examples

Basic #

the step word UUDDUDUUDDUD

live ↗
InSymmetryDegree(DyckPath⁡([1,1,0,0,1,0]))\mathrm{SymmetryDegree}({\operatorname{DyckPath}}([1, 1, 0, 0, 1, 0]))Out11

the step word UDUUDDUDUUDD

live ↗
InSymmetryDegree(DyckPath⁡([1,0,1,1,0,0]))\mathrm{SymmetryDegree}({\operatorname{DyckPath}}([1, 0, 1, 1, 0, 0]))Out11

the word 110100111110100111

live ↗
InSymmetryDegree(BinaryWord⁡([1,1,0,1,0,0,1,1,1]))\mathrm{SymmetryDegree}({\operatorname{BinaryWord}}([1, 1, 0, 1, 0, 0, 1, 1, 1]))Out22
Properties #

FindStat's value for [1,0]

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

Known value · FindStat St001523

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

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

Known value · FindStat St001523

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

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

Known value · FindStat St001523

FindStat's value for 0

live ↗
InCombinatorialStat(BinaryWord⁡([0]),SymmetryDegree)\mathrm{CombinatorialStat}({\operatorname{BinaryWord}}([0]), \text{SymmetryDegree})Out00

Known value · FindStat St001524

FindStat's value for 1

live ↗
InCombinatorialStat(BinaryWord⁡([1]),SymmetryDegree)\mathrm{CombinatorialStat}({\operatorname{BinaryWord}}([1]), \text{SymmetryDegree})Out00

Known value · FindStat St001524

FindStat's value for 00

live ↗
InCombinatorialStat(BinaryWord⁡([0,0]),SymmetryDegree)\mathrm{CombinatorialStat}({\operatorname{BinaryWord}}([0, 0]), \text{SymmetryDegree})Out11

Known value · FindStat St001524

About
Examples9
CrosswalkFindStat ×2