Coarse-graining support: Support.Ambient.BlockMatrix #
Imported from the Apache-2.0 CoarseGraining development at commit
c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.
Real vectors indexed by the coordinates of both blocks.
Equations
Instances For
Real matrices indexed by the coordinates of both blocks.
Equations
Instances For
Represent a pair of vectors as one vector indexed by the two blocks.
Equations
- HCPolySupport.toFullBlockVec X (Sum.inl i) = X.1 i
- HCPolySupport.toFullBlockVec X (Sum.inr i) = X.2 i
Instances For
Split a vector indexed by both blocks into its two component vectors.
Equations
Instances For
Represent the four blocks as a single matrix on block coordinates.
Equations
- HCPolySupport.toFullBlockMat A (Sum.inl i) (Sum.inl j) = A.upperLeft i j
- HCPolySupport.toFullBlockMat A (Sum.inl i) (Sum.inr j) = A.upperRight i j
- HCPolySupport.toFullBlockMat A (Sum.inr i) (Sum.inl j) = A.lowerLeft i j
- HCPolySupport.toFullBlockMat A (Sum.inr i) (Sum.inr j) = A.lowerRight i j
Instances For
Extract the four component blocks of a matrix on block coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The matrix entry selected by a pair of block coordinates.
Equations
- HCPolySupport.blockMatEntry A (Sum.inl i) (Sum.inl j) = A.upperLeft i j
- HCPolySupport.blockMatEntry A (Sum.inl i) (Sum.inr j) = A.upperRight i j
- HCPolySupport.blockMatEntry A (Sum.inr i) (Sum.inl j) = A.lowerLeft i j
- HCPolySupport.blockMatEntry A (Sum.inr i) (Sum.inr j) = A.lowerRight i j
Instances For
The standard basis vector in the specified component of a vector pair.
Equations
Instances For
Symmetry of all matrix entries under interchange of block coordinates.
Equations
- HCPolySupport.IsSymmetricBlockMat A = ∀ (α β : HCPolySupport.BlockCoord d), HCPolySupport.blockMatEntry A α β = HCPolySupport.blockMatEntry A β α
Instances For
A block matrix acts linearly on doubled vectors.
Equations
- HCPolySupport.blockMatLinearMap A = { toFun := HCPolySupport.blockMatVecMul A, map_add' := ⋯, map_smul' := ⋯ }
Instances For
A block matrix acts continuously on doubled vectors. Continuity is automatic because the carrier is finite-dimensional.
Equations
- HCPolySupport.blockMatContinuousLinearMap A = { toLinearMap := HCPolySupport.blockMatLinearMap A, cont := ⋯ }
Instances For
The block matrix obtained by exchanging the first and second blocks in both indices.
Equations
- HCPolySupport.blockReflect A = { upperLeft := A.lowerRight, upperRight := A.lowerLeft, lowerLeft := A.upperRight, lowerRight := A.upperLeft }
Instances For
Löwner order on finite-dimensional real matrices, expressed through the quadratic
form \frac12 x \cdot A x.
Equations
- HCPolySupport.MatLoewnerLE A B = ∀ (x : HCPolySupport.Vec d), 1 / 2 * HCPolySupport.vecDot x (HCPolySupport.matVecMul A x) ≤ 1 / 2 * HCPolySupport.vecDot x (HCPolySupport.matVecMul B x)