1 /* 2 * Copyright (C) 2012 Alberto Irurueta Carro (alberto@irurueta.com) 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.irurueta.algebra; 17 18 /** 19 * Enumerator indicating the possible methods available for matrix decomposition. 20 */ 21 public enum DecomposerType { 22 /** 23 * Defines LU decomposition, which decomposes a matrix into upper (U) and 24 * lower (L) triangular matrices. 25 */ 26 LU_DECOMPOSITION, 27 28 /** 29 * Defines QR decomposition, which decomposes a matrix into an orthogonal 30 * matrix (Q) and an upper triangular matrix (R). 31 */ 32 QR_DECOMPOSITION, 33 34 /** 35 * Defines Economy QR decomposition, which is a faster version of QR 36 * decomposition. Notice that economy sized version only works for matrices 37 * having rows < columns, while Q is a rows-by-columns and R is 38 * columns-by-columns in size. 39 */ 40 QR_ECONOMY_DECOMPOSITION, 41 42 /** 43 * Defines RQ decomposition, which decomposes a matrix into an upper 44 * diagonal matrix (R) and an orthogonal matrix (Q). RQ decomposition is 45 * very similar to QR, and it is related to it through transposition by 46 * reversing order of factors R and Q respect to QR decomposition. 47 */ 48 RQ_DECOMPOSITION, 49 50 /** 51 * Defines Cholesky decomposition, which decomposes a square symmetric and 52 * positive definite matrix into a triangular factor (L) and its transposed 53 * (L'). 54 */ 55 CHOLESKY_DECOMPOSITION, 56 57 /** 58 * Defines Singular Value Decomposition, which decomposes any rectangular 59 * matrix into 2 unary matrices (U, V) and 1 diagonal matrix containing 60 * singular values (D). 61 */ 62 SINGULAR_VALUE_DECOMPOSITION 63 }