KroneckerProducts
Index
Base.Matrix
KroneckerProducts.BoxProduct
KroneckerProducts.KroneckerProduct
Base.adjoint
Base.adjoint
Base.inv
Base.inv
Base.kron
Base.transpose
Base.transpose
IgaBase.order
KroneckerProducts.box
KroneckerProducts.issquare
LinearAlgebra.det
LinearAlgebra.det
LinearAlgebra.eigen
LinearAlgebra.isposdef
LinearAlgebra.issymmetric
LinearAlgebra.lmul!
LinearAlgebra.logdet
LinearAlgebra.rmul!
LinearAlgebra.tr
Base.adjoint
— Methodadjoint(K::BoxProduct)
Compute the adjoint of a Box product.
Base.adjoint
— Methodadjoint(K::KroneckerProduct)
Compute the adjoint of a Kronecker product.
Base.inv
— Methodinv(K::BoxProduct)
Compute the inverse of a Box product.
Base.inv
— Methodinv(K::KroneckerProduct)
Compute the inverse of a Kronecker product.
Base.kron
— Methodcollect(K::KroneckerProduct)
Collects a lazy instance of the KroneckerProduct
type into a full, native matrix. Equivalent with Matrix(K::KroneckerProduct)
.
Base.transpose
— Methodtranspose(K::BoxProduct)
Compute the transpose of a Box product.
Base.transpose
— Methodtranspose(K::KroneckerProduct)
Compute the transpose of a Kronecker product.
IgaBase.order
— Methodorder(M::AbstractMatrix)
Returns the order of a matrix, i.e. how many matrices are involved in the Kronecker product (default to 1 for general matrices).
KroneckerProducts.box
— Functionbox(A, B)
box(A, B...)
Compute the box product, which is defined as a perfect shuffle of a kronecker product.
KroneckerProducts.issquare
— Methodissquare(A::AbstractMatrix)
Checks if an array is a square matrix.
LinearAlgebra.det
— Methoddet(K::BoxProduct)
Compute the determinant of a Box product.
LinearAlgebra.det
— Methoddet(K::KroneckerProduct)
Compute the determinant of a Kronecker product.
LinearAlgebra.eigen
— Methodeigen(K::KroneckerProduct)
If the matrices of a KroneckerProduct
instance are square, performs the eigenvalue decompositon on them and return an Eigen
type.
LinearAlgebra.isposdef
— Methodisposdef(K::KroneckerProduct)
Test whether a Kronecker product is positive definite (and Hermitian) by trying to perform a Cholesky factorization of K.
LinearAlgebra.issymmetric
— Methodissymmetric(K::KroneckerProduct)
Checks if a Kronecker product is symmetric.
LinearAlgebra.lmul!
— Methodlmul!(a::Number, K::KroneckerProduct)
Scale a KroneckerProduct
K
inplace by a factor a
by rescaling the left matrix.
LinearAlgebra.logdet
— Methodlogdet(K::KroneckerProduct)
Compute the logarithm of the determinant of a Kronecker product.
LinearAlgebra.rmul!
— Methodrmul!(K::KroneckerProduct, a::Number)
Scale a KroneckerProduct
K
inplace by a factor a
by rescaling the right matrix.
LinearAlgebra.tr
— Methodtr(K::KroneckerProduct)
Compute the trace of a Kronecker product.
Base.Matrix
— MethodMatrix(K::KroneckerProduct)
Converts a GeneralizedKroneckerProduct
instance to a Matrix type.
KroneckerProducts.BoxProduct
— TypeBoxProduct{M,T,N} <: AbstractKron{M,T,N}
The box product is defined in the following paper.
Olsen, Peder A., Steven J. Rennie, and Vaibhava Goel. "Efficient automatic differentiation of matrix functions." In Recent Advances in Algorithmic Differentiation, pp. 71-81. Springer, Berlin, Heidelberg, 2012.
KroneckerProducts.KroneckerProduct
— TypeKroneckerProduct{T,N,S} <: AbstractVecOrMat{T}
Matrix type that stores the matrices in a Kronecker product and lazily evaluates products, sums, etc.