The block cycle trace #
Closing a block rotation against c + 1 diagonal copies of g
gives the trace of g ^ (c + 1): the rotation carries each copy
onto the next, and after c + 1 turns the copies have composed.
The rotation by one block is blockPerm n (finRotate (c+1)), which
is blockRot (n*c) n; the splice partialCloseBlockSplice peels
one block off it, first at fragments and then at trace values. An
induction on the number of blocks then turns the tensor of a tuple
into the tuple's cyclic composite, which for a constant tuple is a
power.
The rotation by one block #
Trace and interchange for the block tensor #
Trace of a block tensor product.
Interchange law for blockTensorEnd multiplication.
The rotation step at fragments #
The rotation step at trace values #
The block rotation step: the trace at K+n+n strands
of (blockRot * tensor) equals the trace at K+n strands
of (blockRot * pad * accumulated).
The block tuple tensor and the block cycle composite #
The block tuple tensor: tensor product of a tuple of
n-strand endomorphisms, as an endomorphism of the n*k-strand
object.
Equations
- RS.blockTupleTensor f n 0 x_2 = 1
- RS.blockTupleTensor f n k.succ G = RS.blockTensorEnd f (RS.blockTupleTensor f n k fun (i : Fin k) => G i.castSucc) (G (Fin.last k))
Instances For
The block cycle composite: G(k-1) * ⋯ * G(0) in the
n-strand endomorphism algebra.
Equations
- RS.blockCycleComp f n 0 x_2 = 1
- RS.blockCycleComp f n k.succ G = G (Fin.last k) * RS.blockCycleComp f n k fun (i : Fin k) => G i.castSucc
Instances For
Padding and updating the tuple #
The padded product updates the last tuple entry.
The cycle composite of a last-entry update: the padding factor peels off.
The cycle induction #
The block cycle-trace lemma: the trace of a block rotation composed with a block tuple tensor is the trace of the block cycle composite.
Constant tuples #
The block cycle composite of a constant tuple is the power.
The block tuple tensor of a constant tuple is the block power.
The block cycle trace #
The block cycle trace: closing the block rotation against
c+1 diagonal blocks yields the trace of the (c+1)-th power.