Arithmetic matrix multiplication: definitions #
matMulPolynomial K n: the outputsC i k = ∑ j, A i j B j kofn × nmatrix multiplication as polynomials in the2 n²inputs, with coefficients inK; it ismatMul nevaluated at the variables.
The Jacobian of matrix multiplication at a point (A₀, B₀) sends a change (δA, δB) to
δA B₀ + A₀ δB: the entry of the output C i k at the input A i' j is [i = i'] B₀ j k, and
at the input B j k' it is [k = k'] A₀ i j. Its blocks between a set Y of outputs and a set
X of inputs have rank bounded below by the following sums, in the notation of
MatMul.Tripartite.Defs. Here cY holds the pairs (i, k) with C i k ∈ Y, and aX and bX
the pairs (i, j) and (j, k) with A i j ∈ X and B j k ∈ X; H is a set of row (or column)
vertices.
Tripartite.jacobianRows cY aX bX H: the sum over the rowsi ∈ Hofmin (#{k : C i k ∈ Y}, #{j : A i j ∈ X}), plus the sum over the columnskofmin (#{i ∉ H : C i k ∈ Y}, #{j : B j k ∈ X}).Tripartite.jacobianCols cY aX bX H: the mirror image, with rows and columns and the two factors exchanged.
For a split S with placed terminals a, b, c (Tripartite.place):
Tripartite.jacobianChargeI a b ccharges the forward block (outputs outsideS, inputs inS) withHthe heavy rows, and the backward block (outputs inS, inputs outsideS) withHthe light rows;Tripartite.jacobianChargeK a b cdoes the same with the columns.
Matrix multiplication as polynomials. The output C i k is the polynomial
∑ j, X (A i j) X (B j k) in the 2 n² inputs: matMul n at the variables.
Equations
Instances For
The Jacobian charge of a block of rows: blocks of rows i ∈ H against the inputs A i j,
then blocks of columns k against the inputs B j k, with the rows i ∉ H only.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Jacobian charge of a block of columns: blocks of columns k ∈ H against the inputs
B j k, then blocks of rows i against the inputs A i j, with the columns k ∉ H only.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The row Jacobian charge of a split placing a, b, c: the forward block with the
heavy rows and the backward block with the light rows.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The column Jacobian charge of a split placing a, b, c: the forward block with the
heavy columns and the backward block with the light columns.
Equations
- One or more equations did not get rendered due to their size.