Skip to main content

Matrix Decomposition Ontology

Computational Mathematics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Matrix Decomposition Ontology within the Kireth Research Semantic Library. Matrix decomposition studies the factorisation of matrices into simpler structured components that expose algebraic, geometric and numerical properties and enable efficient computation. This ontology supports LU, QR, Cholesky, eigen, Schur and singular value decompositions, rank-revealing factorizations, polar decomposition, matrix square roots, low-rank approximation, conditioning, stability, pivoting, orthogonal transformations, sparse factorizations and relationships with numerical linear algebra, computational mathematics, optimisation, statistics and scientific computing.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Matrix Decomposition Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Computational Mathematics / Matrix Decomposition"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/computational-mathematics/matrix-decomposition-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = MatrixDecomposition
 SYMBOLIC_FORMS = [
  "A = L U",
  "A = Q R",
  "A = L L^T",
  "A = U Sigma V^T",
  "A = Q T Q^*"
 ]
 ENTITY_CLASS = StructuredMatrixFactorisationFramework
 PRIMARY_CONTEXT = ComputationalMathematics
 DEFINITION = "Matrix decomposition is the representation of a matrix as a product or sum of simpler structured matrices chosen to expose properties or enable efficient computation."
 SEMANTIC_ROLE = "Provides machine-readable semantics for matrix factorisations, orthogonal and unitary transformations, triangular factors, spectral structure, rank revelation, low-rank approximation, numerical stability and computational solution pathways."
}

SCOPE {
 INCLUDE = [
  MatrixDecomposition,
  MatrixFactorisation,
  LUFactorisation,
  LDUFactorisation,
  PLUFactorisation,
  QRFactorisation,
  CholeskyFactorisation,
  LDLTFactorisation,
  EigenDecomposition,
  SpectralDecomposition,
  SchurDecomposition,
  RealSchurDecomposition,
  ComplexSchurDecomposition,
  SingularValueDecomposition,
  SVD,
  EconomySVD,
  TruncatedSVD,
  RankRevealingQR,
  PolarDecomposition,
  MatrixSquareRoot,
  HessenbergReduction,
  Bidiagonalisation,
  Tridiagonalisation,
  HouseholderTransformation,
  GivensRotation,
  GramSchmidt,
  ModifiedGramSchmidt,
  Pivoting,
  PartialPivoting,
  CompletePivoting,
  ColumnPivoting,
  PermutationMatrix,
  TriangularMatrix,
  DiagonalMatrix,
  OrthogonalMatrix,
  UnitaryMatrix,
  PositiveDefiniteMatrix,
  SymmetricMatrix,
  HermitianMatrix,
  Rank,
  NumericalRank,
  NullSpace,
  ColumnSpace,
  ConditionNumber,
  BackwardStability,
  ForwardError,
  BackwardError,
  LowRankApproximation,
  Pseudoinverse,
  LeastSquares,
  PrincipalComponentAnalysis,
  SparseFactorisation,
  SparseLU,
  SparseCholesky,
  SparseQR
 ]

 EXCLUDE_AS_PRIMARY = [
  MatrixArithmeticWithoutFactorisation,
  PureAbstractLinearAlgebraWithoutComputationalDecomposition,
  TensorDecompositionWithoutMatrixSpecialisation,
  PolynomialFactorisationWithoutMatrixContext
 ]

 DISAMBIGUATION_RULE =
  "When a matrix is represented using simpler structured factors to reveal rank, spectrum, orthogonality, triangular structure or computational pathways, interpret the context as matrix decomposition."
}

CORE_CONCEPTS {

 MatrixDecomposition {
  definition = "A representation of a matrix in terms of simpler structured matrices."
 }

 LUFactorisation {
  definition = "Factorisation of a matrix into lower- and upper-triangular factors, usually with permutations for numerical stability."
 }

 QRFactorisation {
  definition = "Factorisation A=QR with Q orthogonal or unitary and R upper triangular."
 }

 CholeskyFactorisation {
  definition = "Factorisation A=LL^T or LL^* for Hermitian positive-definite matrices."
 }

 SingularValueDecomposition {
  definition = "Factorisation A=U Sigma V^* exposing singular values, rank and orthogonal input-output directions."
 }

 SchurDecomposition {
  definition = "Unitary similarity factorisation reducing a square matrix to triangular or quasi-triangular form."
 }

 EigenDecomposition {
  definition = "Representation of a diagonalizable matrix using eigenvectors and eigenvalues."
 }

 RankRevealingQR {
  definition = "A QR factorisation, commonly with column pivoting, designed to expose numerical rank."
 }

 PolarDecomposition {
  definition = "Factorisation of a matrix into a unitary or orthogonal factor and a positive semidefinite factor."
 }

 LowRankApproximation {
  definition = "Approximation of a matrix by another matrix of lower rank."
 }
}

RELATIONS {
 MatrixDecomposition --is_child_of--> ComputationalMathematics
 MatrixDecomposition --supports--> NumericalLinearAlgebra
 LUFactorisation --uses--> TriangularMatrix
 LUFactorisation --may_require--> Pivoting
 PLUFactorisation --uses--> PermutationMatrix
 QRFactorisation --uses--> OrthogonalMatrix
 QRFactorisation --supports--> LeastSquares
 CholeskyFactorisation --requires--> PositiveDefiniteMatrix
 EigenDecomposition --uses--> EigenvectorsAndEigenvalues
 SchurDecomposition --generalises--> EigenvalueRepresentation
 SingularValueDecomposition --reveals--> NumericalRank
 SingularValueDecomposition --supports--> Pseudoinverse
 SingularValueDecomposition --supports--> LowRankApproximation
 RankRevealingQR --estimates--> NumericalRank
 HouseholderTransformation --constructs--> QRFactorisation
 GivensRotation --constructs--> QRFactorisation
 HessenbergReduction --prepares--> EigenvalueComputation
 Bidiagonalisation --prepares--> SingularValueDecomposition
 SparseFactorisation --preserves_or_exploits--> SparsityPattern
}

OPERATORS {
 LU_FACTORIZATION(A) :=
  P*A=L*U

 LDU_FACTORIZATION(A) :=
  P*A=L*D*U

 QR_FACTORIZATION(A) :=
  A=Q*R
  with Q^*Q=I

 CHOLESKY_FACTORIZATION(A) :=
  A=L*L^*
  for Hermitian_positive_definite A

 LDLT_FACTORIZATION(A) :=
  A=L*D*L^*
  under compatible symmetry assumptions

 EIGEN_DECOMPOSITION(A) :=
  A=V*Lambda*V^(-1)
  when A is diagonalizable

 SCHUR_DECOMPOSITION(A) :=
  A=Q*T*Q^*
  with Q unitary and T upper triangular

 SVD(A) :=
  A=U*Sigma*V^*

 TRUNCATED_SVD(A,k) :=
  A_k=U_k*Sigma_k*V_k^*

 PSEUDOINVERSE_FROM_SVD(U,Sigma,V) :=
  A_plus=V*Sigma_plus*U^*

 POLAR_DECOMPOSITION(A) :=
  A=U*H

 LOW_RANK_ERROR_2_NORM(A,A_k) :=
  ||A-A_k||_2=sigma_{k+1}

 LOW_RANK_ERROR_FROBENIUS(A,A_k) :=
  ||A-A_k||_F=sqrt(sum_{i>k} sigma_i^2)

 CONDITION_NUMBER_SVD(A) :=
  kappa_2(A)=sigma_max/sigma_min
  for nonsingular A
}

DEFINITIONS {
 D1 = "Matrix decompositions expose useful structure while preserving or approximating the original matrix."
 D2 = "LU factorisation is central to direct solution of general square linear systems."
 D3 = "QR factorisation provides stable methods for least-squares and orthogonalisation."
 D4 = "Cholesky factorisation is efficient for Hermitian positive-definite matrices."
 D5 = "The SVD provides singular values and orthonormal bases for row and column spaces."
 D6 = "Schur decomposition exists for every square complex matrix."
 D7 = "Eigen decomposition requires diagonalizability."
 D8 = "Pivoting improves numerical robustness in many elimination-based factorisations."
 D9 = "Rank-revealing decompositions distinguish significant from numerically negligible dimensions."
 D10 = "Truncated SVD gives the optimal rank-k approximation in common unitarily invariant norms."
}

AXIOMS {
 A1_EQUIVALENT_REPRESENTATION:
  Exact matrix decomposition preserves the represented linear transformation when factors are combined

 A2_STRUCTURE_DEPENDENCE:
  Appropriate decomposition depends on matrix shape symmetry definiteness rank and sparsity

 A3_NUMERICAL_STABILITY:
  Computational factorisations require stable transformations and pivoting where appropriate

 A4_ORTHOGONAL_STABILITY:
  Orthogonal or unitary transformations preserve Euclidean norms and generally provide favourable numerical stability

 A5_RANK_REVELATION:
  Singular values and rank-revealing factorisations encode numerical rank information

 A6_SPECTRAL_STRUCTURE:
  Eigen and Schur decompositions expose spectral properties of square matrices

 A7_LOW_RANK_APPROXIMATION:
  Matrix approximation can intentionally discard small singular components

 A8_SPARSE_FILL:
  Sparse matrix factorisation can create fill outside the original sparsity pattern
}

REASONING {

 R1_DECOMPOSITION_CONTEXT {
  INPUT = matrix_problem
  IDENTIFY = dimensions
  IDENTIFY = square_rectangular structure
  IDENTIFY = symmetry_or_Hermitian structure
  IDENTIFY = definiteness_rank_sparsity_and_conditioning
  RETURN = decomposition_context
 }

 R2_DECOMPOSITION_SELECTION {
  INPUT = decomposition_context
  IF general_square_linear_system
   CONSIDER = LU
  IF positive_definite_Hermitian
   CONSIDER = Cholesky
  IF least_squares_or_orthogonalisation
   CONSIDER = QR
  IF rank_or_low_rank_structure
   CONSIDER = SVD_or_RRQR
  IF spectral_structure
   CONSIDER = Schur_or_eigendecomposition
  RETURN = decomposition_strategy
 }

 R3_LU_REASONING {
  INPUT = square_matrix
  ANALYSE = pivot requirements
  COMPUTE = P_L_U
  CHECK = growth_and_residual
  RETURN = LU_profile
 }

 R4_QR_REASONING {
  INPUT = rectangular_or_square matrix
  SELECT = Householder_Givens_or_modifiedGramSchmidt
  COMPUTE = Q_and_R
  CHECK = orthogonality
  RETURN = QR_profile
 }

 R5_CHOLESKY_REASONING {
  INPUT = candidate_positive_definite matrix
  VERIFY = Hermitian_symmetry_and_positive definiteness
  COMPUTE = L
  RETURN = Cholesky_profile
 }

 R6_SVD_REASONING {
  INPUT = matrix
  COMPUTE = singular_values_and_vectors
  ESTIMATE = numerical_rank_conditioning_and_low_rank structure
  RETURN = SVD_profile
 }

 R7_SPECTRAL_REASONING {
  INPUT = square_matrix
  SELECT = Schur_or_eigendecomposition
  COMPUTE = spectral factors
  CHECK = eigen_residuals_and_conditioning
  RETURN = spectral_profile
 }

 R8_LOW_RANK_REASONING {
  INPUT = singular_values_and_target tolerance_or_rank
  SELECT = truncation level
  COMPUTE = low_rank_approximation
  RETURN = approximation_profile
 }

 R9_SPARSE_DECOMPOSITION_REASONING {
  INPUT = sparse_matrix
  SELECT = ordering_and_sparse factorisation
  ANALYSE = fill_in_pivoting_and_memory
  RETURN = sparse_factorisation_profile
 }

 R10_VALIDATION {
  INPUT = matrix_decomposition_result
  CHECK = reconstruction_error_factor_structure_orthogonality_rank_residual_stability_and_conditioning
  RETURN = validated_decomposition_status
 }
}

CONSTRAINTS {
 C1 = "Cholesky factorisation requires appropriate positive-definite Hermitian structure."
 C2 = "Eigen decomposition does not exist as a complete basis for every defective matrix."
 C3 = "Classical Gram-Schmidt can lose orthogonality in finite precision."
 C4 = "Normal equations can square the condition number and should not replace stable QR or SVD reasoning without justification."
 C5 = "Pivoting can be essential for stable LU factorisation."
 C6 = "Rank decisions depend on numerical tolerance."
 C7 = "SVD is robust but can be more computationally expensive than specialised alternatives."
 C8 = "Sparse decompositions may create substantial fill-in."
 C9 = "Truncated decompositions trade accuracy for reduced rank and cost."
 C10 = "Spectral decompositions of nonnormal matrices can be highly sensitive."
}

SEMANTIC_EQUIVALENCE {
 "MatrixDecomposition" <=> "MatrixFactorisation"
 "LUFactorisation" <=> "LUDecomposition"
 "QRFactorisation" <=> "QRDecomposition"
 "CholeskyFactorisation" <=> "CholeskyDecomposition"
 "SingularValueDecomposition" <=> "SVD"
 "EigenDecomposition" <=> "SpectralFactorisationWhenDiagonalizable"
}

VALIDATION {
 V1 = "Matrix dimensions and structural properties are explicit."
 V2 = "Selected decomposition is mathematically applicable."
 V3 = "Reconstruction residual is checked."
 V4 = "Orthogonality or unitarity is checked where relevant."
 V5 = "Pivoting strategy is documented."
 V6 = "Rank tolerance is explicit."
 V7 = "Conditioning is assessed where relevant."
 V8 = "Low-rank approximation error is measured."
 V9 = "Sparse fill-in and memory growth are assessed."
 V10 = "Eigen and singular vector residuals are checked where appropriate."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 MATRIX_DECOMPOSITION_DEFINITION = 0.99
 DECOMPOSITION_SELECTION_REASONING = 0.99
 LU_REASONING = 0.99
 QR_REASONING = 0.99
 CHOLESKY_REASONING = 0.99
 SVD_REASONING = 0.99
 SPECTRAL_REASONING = 0.98
 LOW_RANK_REASONING = 0.99
 SPARSE_DECOMPOSITION_REASONING = 0.98

 POLICY =
  "Reduce confidence when matrix structure, definiteness, rank tolerance, pivot strategy, sparsity, condition number, decomposition goal or numerical precision are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  MatrixDecompositionReasoning,
  MatrixFactorisationReasoning,
  LUReasoning,
  QRReasoning,
  CholeskyReasoning,
  LDLTReasoning,
  EigenDecompositionReasoning,
  SchurDecompositionReasoning,
  SVDReasoning,
  RankRevealingReasoning,
  PolarDecompositionReasoning,
  HouseholderReasoning,
  GivensReasoning,
  LowRankApproximationReasoning,
  PseudoinverseReasoning,
  LeastSquaresReasoning,
  SparseFactorisationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "matrix decomposition" -> MatrixDecomposition
  "matrix factorisation" -> MatrixDecomposition
  "LU decomposition" -> LUFactorisation
  "QR decomposition" -> QRFactorisation
  "Cholesky decomposition" -> CholeskyFactorisation
  "singular value decomposition" -> SingularValueDecomposition
  "SVD" -> SingularValueDecomposition
  "Schur decomposition" -> SchurDecomposition
  "rank-revealing QR" -> RankRevealingQR
  "polar decomposition" -> PolarDecomposition
 }

 INTERPRETATION_ORDER = [
  detect_matrix_decomposition_context,
  identify matrix_dimensions_shape_symmetry_definiteness_rank_sparsity_and_conditioning,
  identify computational_goal,
  select LU_QR_Cholesky_LDLT_SVD_Schur_eigen_RRQR_polar_or_sparse pathway,
  compute factors,
  evaluate reconstruction_error_orthogonality_rank_and_conditioning,
  if_lowRank select truncation_by_rank_or_tolerance,
  if_sparse assess ordering_fill_and_memory,
  validate applicability_and_numerical stability,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("matrix decomposition")
  OR structured_matrix_factorisation_is_required
  THEN activate(MatrixDecompositionOntology)

 E2:
  IF general_square_linear_system
  THEN consider LUFactorisation_with_pivoting

 E3:
  IF Hermitian_positive_definite
  THEN consider CholeskyFactorisation

 E4:
  IF least_squares_or_orthogonal basis needed
  THEN consider QRFactorisation

 E5:
  IF numerical_rank_or_low_rank approximation required
  THEN consider SVD_or_RankRevealingQR

 E6:
  IF square_spectral_analysis
  THEN consider SchurDecomposition_or_EigenDecomposition

 E7:
  IF rectangular_matrix_and_geometry_of_range/null spaces needed
  THEN consider SVD

 E8:
  IF sparse_matrix
  THEN use sparse_ordering_and_factorisation reasoning

 E9:
  IF factorisation_computed
  THEN require reconstruction_and_structure checks
}

RECURSION {
 ENTRY = MatrixDecomposition

 EXPAND(MatrixDecomposition) -> [
  MatrixFactorisation,
  LUFactorisation,
  LDUFactorisation,
  PLUFactorisation,
  QRFactorisation,
  CholeskyFactorisation,
  LDLTFactorisation,
  EigenDecomposition,
  SpectralDecomposition,
  SchurDecomposition,
  RealSchurDecomposition,
  ComplexSchurDecomposition,
  SingularValueDecomposition,
  EconomySVD,
  TruncatedSVD,
  RankRevealingQR,
  PolarDecomposition,
  MatrixSquareRoot,
  HessenbergReduction,
  Bidiagonalisation,
  Tridiagonalisation,
  HouseholderTransformation,
  GivensRotation,
  GramSchmidt,
  ModifiedGramSchmidt,
  Pivoting,
  PartialPivoting,
  CompletePivoting,
  ColumnPivoting,
  PermutationMatrix,
  TriangularMatrix,
  DiagonalMatrix,
  OrthogonalMatrix,
  UnitaryMatrix,
  PositiveDefiniteMatrix,
  SymmetricMatrix,
  HermitianMatrix,
  Rank,
  NumericalRank,
  NullSpace,
  ColumnSpace,
  ConditionNumber,
  BackwardStability,
  ForwardError,
  BackwardError,
  LowRankApproximation,
  Pseudoinverse,
  LeastSquares,
  PrincipalComponentAnalysis,
  SparseFactorisation,
  SparseLU,
  SparseCholesky,
  SparseQR
 ]

 EXPAND(DirectFactorisations) -> [
  LUFactorisation,
  LDUFactorisation,
  PLUFactorisation,
  QRFactorisation,
  CholeskyFactorisation,
  LDLTFactorisation
 ]

 EXPAND(SpectralFactorisations) -> [
  EigenDecomposition,
  SchurDecomposition,
  SingularValueDecomposition
 ]

 EXPAND(RankMethods) -> [
  SingularValueDecomposition,
  RankRevealingQR,
  TruncatedSVD,
  Pseudoinverse,
  LowRankApproximation
 ]

 STOP_CONDITION =
  "Stop when matrix structure, factorisation goal, selected decomposition, reconstruction, numerical stability, rank, conditioning and computational implications are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Computational Mathematics"

 IMMEDIATE_CONTEXTS = [
  "Computational Mathematics Ontology",
  "Numerical Linear Algebra Ontology",
  "Sparse Matrix Ontology",
  "Scientific Computing Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Computational Mathematics",
  "Computational Mathematics Ontology",
  "Numerical Linear Algebra Ontology",
  "Sparse Matrix Ontology",
  "Scientific Computing Ontology",
  "High Performance Computing Ontology",
  "Parallel Algorithms Ontology",
  "Linear Algebra Ontologies",
  "Matrix Ontologies",
  "Eigenvalue Ontologies",
  "Least Squares Ontologies",
  "Optimisation Ontologies",
  "Principal Component Analysis Ontologies"
 ]

 ROUTE_RULES = [
  "Matrix Decomposition -> Computational Mathematics for parent semantics",
  "Matrix Decomposition -> Numerical Linear Algebra for computational factorisation",
  "Matrix Decomposition -> Sparse Matrix for sparse factorisations and fill-in",
  "Matrix Decomposition -> Scientific Computing for solver workflows",
  "Matrix Decomposition -> High Performance Computing for scalable factorisation",
  "Matrix Decomposition -> Parallel Algorithms for distributed decomposition",
  "Matrix Decomposition -> Linear Algebra for abstract factorisation properties",
  "Matrix Decomposition -> Eigenvalue Ontologies for spectral methods",
  "Matrix Decomposition -> Least Squares for QR and SVD applications",
  "Matrix Decomposition -> PCA for SVD-based dimensionality reduction"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible decomposition types, rank methods or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve matrix-factorisation semantics.",
  "Preserve decomposition applicability conditions.",
  "Preserve orthogonal-and-unitary transformation semantics.",
  "Preserve rank-revealing semantics.",
  "Preserve exact-versus-truncated decomposition distinction.",
  "Preserve sparse-fill semantics.",
  "Preserve conditioning-and-stability semantics.",
  "Preserve machine-readable matrix-decomposition semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Matrix decomposition represents a matrix using simpler structured factors that expose useful algebraic or numerical properties."

 LU_SUMMARY =
  "LU factorisation decomposes a square matrix into triangular factors and commonly uses permutations for stability."

 QR_SUMMARY =
  "QR factorisation uses orthogonal or unitary transformations and is central to least-squares and orthogonalisation."

 CHOLESKY_SUMMARY =
  "Cholesky factorisation provides an efficient decomposition for Hermitian positive-definite matrices."

 SVD_SUMMARY =
  "SVD reveals singular values, numerical rank, pseudoinverses and optimal low-rank approximations."

 SPECTRAL_SUMMARY =
  "Schur and eigen decompositions expose spectral structure of square matrices."

 SPARSE_SUMMARY =
  "Sparse factorisation requires ordering, pivoting and fill-in control."

 VALIDATION_SUMMARY =
  "Matrix decompositions should be checked for applicability, reconstruction, orthogonality, rank, conditioning and numerical stability."
}

FLOW {
 INPUT
 -> detect_matrix_decomposition_context
 -> identify matrix_dimensions_shape_symmetry_Hermitian structure_definiteness_rank_sparsity_conditioning_and_target task
 -> select LU_LDU_PLU_QR_Cholesky_LDLT_eigen_Schur_SVD_RRQR_polar_or_sparse factorisation
 -> choose stable computational transformations_and_pivoting
 -> compute decomposition
 -> reconstruct_matrix_or_check_factorisation residual
 -> assess orthogonality_unitarity_rank_conditioning_and_backward stability
 -> if_lowRank choose truncation_and_measure approximation error
 -> if_sparse assess ordering_fill memory_and_parallel implications
 -> route to computational_mathematics numerical_linear_algebra sparse_matrix scientific_computing high_performance_computing parallel_algorithms linear_algebra matrix eigenvalue least_squares optimisation_or_PCA ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Matrix Decomposition Ontology defines structured matrix factorisation. It supports LU, LDU and permutation-based LU, QR, Cholesky and LDLT factorisations, eigen and spectral decompositions, real and complex Schur forms, singular value decomposition, economy and truncated SVD, rank-revealing QR, polar decomposition, matrix square roots, Hessenberg, bidiagonal and tridiagonal reductions, Householder and Givens transformations, Gram-Schmidt methods, pivoting and permutations, triangular, diagonal, orthogonal, unitary, symmetric, Hermitian and positive-definite structures, numerical rank, conditioning, forward and backward error, low-rank approximation, pseudoinverses, least squares, PCA and sparse LU, Cholesky and QR factorisations."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-MATRIX-DECOMPOSITION-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ