View Javadoc
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  }