Skip to content

CrossingNestingTotal ​

Crossings plus nestings.

CrossingNestingTotal(partition)Crossings plus nestings.
Typed signatures
TypePackageApplies
(set_partition) -> numbercombinatoricsalways

Domain: Set partition statistics

Details
  • Defined over SetPartition as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a SetPartition 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 SetPartition, over _x

0 if Length(Flatten(Map(Function(Most(b), b), _x))) < 2 else Sum(Map(Function(Count(Filter(
                                                                                            Range(
                                                                                                   i + 1,
                                                                                                   Length(Flatten(Map(Function(Most(b), b), _x))),
                                                                                                   1,
                                                                                                 ),
                                                                                            Function([Max(
                                                                                                           Flatten(Map(Function(Most(b), b), _x))[i],
                                                                                                           Flatten(Map(Function(Most(b), b), _x))[j],
                                                                                                         ) <
                                                                                                      (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                    Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j]) &&
                                                                                                      (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                    Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j]) <
                                                                                                      (Flatten(Map(Function(Rest(b), b), _x))[j] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                    Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[i]), Max(
                                                                                                             Flatten(Map(Function(Most(b), b), _x))[i],
                                                                                                             Flatten(Map(Function(Most(b), b), _x))[j],
                                                                                                           ) <
                                                                                                        (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                      Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j]) &&
                                                                                                        (Flatten(Map(Function(Rest(b), b), _x))[j] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                      Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[i]) <
                                                                                                        (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                      Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j])][1] ||
                                                                                                     [Max(
                                                                                                           Flatten(Map(Function(Most(b), b), _x))[i],
                                                                                                           Flatten(Map(Function(Most(b), b), _x))[j],
                                                                                                         ) <
                                                                                                      (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                    Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j]) &&
                                                                                                      (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                    Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j]) <
                                                                                                      (Flatten(Map(Function(Rest(b), b), _x))[j] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                    Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[i]), Max(
                                                                                                             Flatten(Map(Function(Most(b), b), _x))[i],
                                                                                                             Flatten(Map(Function(Most(b), b), _x))[j],
                                                                                                           ) <
                                                                                                        (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                      Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j]) &&
                                                                                                        (Flatten(Map(Function(Rest(b), b), _x))[j] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                      Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[i]) <
                                                                                                        (Flatten(Map(Function(Rest(b), b), _x))[i] if Flatten(Map(Function(Most(b), b), _x))[i] <
                                                                                                                                                      Flatten(Map(Function(Most(b), b), _x))[j] else Flatten(Map(Function(Rest(b), b), _x))[j])][2], j),
                                                                                          )), i), Range(
                                                                                                        1,
                                                                                                        Length(Flatten(Map(Function(Most(b), b), _x))),
                                                                                                        1,
                                                                                                      )))

Examples

Basic #

the partition {1,3}∣{2}\{1,3\} \mid \{2\}

live ↗
InCrossingNestingTotal(SetPartition⁡([[1,3],[2]]))\mathrm{CrossingNestingTotal}({\operatorname{SetPartition}}([[1, 3], [2]]))Out00

the partition {1}∣{2,4}∣{3}\{1\} \mid \{2,4\} \mid \{3\}

live ↗
InCrossingNestingTotal(SetPartition⁡([[1],[2,4],[3]]))\mathrm{CrossingNestingTotal}({\operatorname{SetPartition}}([[1], [2, 4], [3]]))Out00
About
Examples2