Kronecker products of symmetric and positive definite matrices #
The block-diagonal product 1 ⊗ₖ A preserves positive definiteness over any star ring with
an additive order. Both index types may be infinite, since positive definiteness tests only
finitely supported vectors. This covers orthogonal sums of copies of one rational Gram matrix.
The symmetry result needs only multiplication, and the finite identity for the quadratic expression
holds over a nonassociative semiring with an arbitrary star operation.
Main results #
Matrix.IsSymm.kronecker: the Kronecker product of symmetric matrices is symmetric.Matrix.finsupp_sum_one_kronecker: the finitely supported quadratic expression for1 ⊗ₖ Adecomposes into the expressions forAon its blocks.Matrix.PosDef.one_kronecker: ifAis positive definite, so is1 ⊗ₖ A.
theorem
Matrix.star_dotProduct_one_kronecker_mulVec
{R : Type u_1}
{m : Type u_2}
{n : Type u_3}
[NonAssocSemiring R]
[Star R]
[Fintype m]
[DecidableEq m]
[Fintype n]
(A : Matrix n n R)
(x : m × n → R)
:
The quadratic expression for 1 ⊗ₖ A is the sum of those for A on the blocks.
theorem
Matrix.finsupp_sum_one_kronecker
{R : Type u_1}
{m : Type u_2}
{n : Type u_3}
[NonAssocSemiring R]
[Star R]
[DecidableEq m]
(A : Matrix n n R)
(x : m × n →₀ R)
:
The finitely supported quadratic expression for 1 ⊗ₖ A is the sum of those for A
on the blocks.
theorem
Matrix.PosDef.one_kronecker
{R : Type u_1}
{m : Type u_2}
{n : Type u_3}
[Ring R]
[PartialOrder R]
[StarRing R]
[IsOrderedAddMonoid R]
[DecidableEq m]
{A : Matrix n n R}
(hA : A.PosDef)
:
(kroneckerMap (fun (x1 x2 : R) => x1 * x2) 1 A).PosDef
If A is positive definite, then so is the block-diagonal matrix 1 ⊗ₖ A.