Physlib.Mathematics.SchurTriangulation
15 declarations
for such that
#subNat'Given a finite index and a proof that , this function returns the value as an element of the set .
The equivalence defines a bijection between the disjoint union of two finite sets and the dependent sum , where and . Here, denotes the set of natural numbers , and the mapping uses the conditional operator to select the appropriate set based on the boolean index .
The equivalence defines a bijection between the set of indices and the dependent sum , where and . For an index , the mapping is defined such that if , it corresponds to , and if , it corresponds to . This construction is used to partition basis indices during the recursive step of Schur triangulation.
maps to the true branch
#finAddEquivSigmaCond_trueLet and be natural numbers. For any index , if , then the equivalence maps to the element in the dependent sum , where is the proof that . In other words, indices less than are mapped to the first component (the "true" branch) of the partition.
maps to the false branch
#finAddEquivSigmaCond_falseLet and be natural numbers. For any index , if , then the equivalence maps to the element in the dependent sum . In this context, is treated as an element of , and the "false" branch corresponds to the second component of the partition.
Finiteness of the type
#instFintypeCond_physlibGiven two finite types and , for any boolean value , the type defined by the conditional (which is if is and if is ) is also a finite type.
Decidable equality for the disjoint union
#instDecidableEqSigmaBoolCond_physlibGiven two types and that both possess decidable equality, the dependent sum type also possesses decidable equality. Here, evaluates to if is true and if is false, effectively representing the disjoint union . Two elements and in this type are equal if and only if and .
Matrix is upper triangular
#IsUpperTriangularLet be a type equipped with a less-than relation and be a commutative ring. A square matrix with entries in and indexed by is upper triangular if for all , the entry whenever .
Subtype of upper triangular matrices
#UpperTriangularFor a type equipped with a less-than relation and a commutative ring , `Matrix.UpperTriangular n R` is the subtype consisting of all square matrices of size with entries in that are upper triangular. A matrix is upper triangular if its entries satisfy for all such that .
Schur triangulation of a linear map
#ofGiven a linear endomorphism on a finite-dimensional inner product space over an algebraically closed field , this definition implements the recursive algorithm for Schur triangulation (also known as Schur decomposition). It constructs an orthonormal basis for such that the matrix representation of the operator is upper triangular. The algorithm proceeds as follows: 1. If is trivial, it returns an empty basis. 2. If is non-trivial, it selects an eigenvalue and its corresponding eigenspace . 3. It considers the orthogonal complement and recursively applies the algorithm to the map defined by , where is the orthogonal projection onto . 4. The final orthonormal basis is formed by joining an orthonormal basis for with the orthonormal basis of obtained from the recursion.
Orthonormal basis and upper triangular matrix pair for the Schur triangulation of
#schurTriangulationAuxGiven a square matrix of size over an algebraically closed field , this definition provides a pair consisting of an orthonormal basis for the Euclidean space and an upper triangular matrix . The matrix is the matrix representation of the linear endomorphism with respect to the basis . The construction is obtained by adapting the recursive Schur triangulation algorithm for linear maps to the specific case of matrices acting on Euclidean space.
Orthonormal basis for the Schur triangulation of
#schurTriangulationBasisGiven a square matrix of size over an algebraically closed field , this definition provides the orthonormal basis of the Euclidean space such that the matrix representation of the linear operator with respect to is upper triangular. It is defined as the first component of the pair generated by the Schur triangulation algorithm `Matrix.schurTriangulationAux`.
Unitary matrix in the Schur decomposition of
#schurTriangulationUnitaryGiven a square matrix of size over an algebraically closed field (such as the complex numbers ), this definition provides the unitary matrix such that , where is an upper triangular matrix and is the conjugate transpose of . Specifically, is the change-of-basis matrix from the standard basis of the Euclidean space to the orthonormal basis (the Schur basis) derived during the triangulation procedure, meaning the columns of are the vectors of .
Upper triangular matrix in the Schur decomposition of
#schurTriangulationGiven a square matrix of size over an algebraically closed field (such as the complex numbers ), this definition returns the upper triangular matrix that is unitarily similar to . Specifically, is the matrix such that for some unitary matrix , where for all indices such that . This matrix is the second component of the auxiliary Schur triangulation result, representing the linear map with respect to the orthonormal basis derived during the triangulation procedure.
Schur decomposition
#schur_triangulationFor any square matrix over an algebraically closed field , the matrix can be decomposed as , where is the unitary matrix provided by `schurTriangulationUnitary`, is the upper triangular matrix provided by `schurTriangulation`, and denotes the conjugate transpose of .
