Documentation

HexGraphIso.Nauty.Sparse.Refine

Arrays retained across refinement calls. Marks use a monotonically increasing generation; counts are cleared when their cell is first touched.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The working state of refine_sg. Only equality with the current generation stamp is observed.

      Instances For
        Equations
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Hex.GraphIso.Nauty.Sparse.indexCells (n : Nat) (lab ptn : Array Nat) (level : Nat) (starts ends : Array Nat) :

              Vertex-to-cell indices, using n for singleton vertices, and the last position of each current cell. Entries at other positions are not read.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Hex.GraphIso.Nauty.Sparse.splitCounts {n : Nat} (level first : Nat) (distance : Bool) (s : RefineSt n) :

                Divide one cell by counts or distances. The first two minimum fragments use nauty's three-way insertion; later fragments use its exact indirect sort. distance selects the distinct distance-branch code updates.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Hex.GraphIso.Nauty.Sparse.splitSingleton {n : Nat} (g : Graph n) (level split : Nat) (s : RefineSt n) :

                  A singleton splitter: untouched vertices keep their order and touched vertices are written in reverse order, as in HITS[--k].

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Hex.GraphIso.Nauty.Sparse.splitNontrivial {n : Nat} (g : Graph n) (level split : Nat) (s : RefineSt n) :

                    Count only vertices in touched nontrivial cells. Rows of hits are cleared on first touch, without a full vertex scan for each splitter.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Hex.GraphIso.Nauty.Sparse.refineWith {n : Nat} (g : Graph n) (level : Nat) (lab ptn : Array Nat) (active : VSet n) (numcells : Nat) (scratch : Scratch) :

                      refine_sg, including its shallow distance split and preference for singleton splitters among the first ten active entries.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Hex.GraphIso.Nauty.Sparse.refine {n : Nat} (g : Graph n) (level : Nat) (lab ptn : Array Nat) (active : VSet n) (numcells : Nat) :

                        Standalone refinement with freshly initialized scratch storage.

                        Equations
                        Instances For