Class Hessenberg
- java.lang.Object
-
- dev.nm.algebra.linear.matrix.doubles.factorization.eigen.qr.Hessenberg
-
public class Hessenberg extends Object
An upper Hessenberg matrix is a square matrix which has zero entries below the first sub-diagonal. For example, \[ \begin{bmatrix} 1 & 2 & 3 & 4 & \\ 5 & 6 & 7 & 8 & \\ 0 & 9 & 10 & 11 & \\ 0 & 0 & 12 & 13 & \end{bmatrix} \]- See Also:
- Wikipedia: Hessenberg matrix
-
-
Field Summary
Fields Modifier and Type Field Description DeflationCriterion
deflationCriterion
-
Constructor Summary
Constructors Constructor Description Hessenberg()
Construct a Hessenberg utility class with the default deflation criterion.Hessenberg(DeflationCriterion dc)
Construct a Hessenberg utility class.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static boolean
isHessenberg(Matrix H, double epsilon)
Check if H is upper Hessenberg.boolean
isReducible(Matrix H, double epsilon)
Check if H is upper Hessenberg and is reducible.List<Matrix>
reduce(Matrix H)
Deprecated.Not supported yet.
-
-
-
Field Detail
-
deflationCriterion
public final DeflationCriterion deflationCriterion
-
-
Constructor Detail
-
Hessenberg
public Hessenberg(DeflationCriterion dc)
Construct a Hessenberg utility class.- Parameters:
dc
- a deflation criterion
-
Hessenberg
public Hessenberg()
Construct a Hessenberg utility class with the default deflation criterion.
-
-
Method Detail
-
isHessenberg
public static boolean isHessenberg(Matrix H, double epsilon)
Check if H is upper Hessenberg. An upper Hessenberg matrix has zero entries below the first sub-diagonal.- Parameters:
H
- a matrixepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0- Returns:
true
if H is upper Hessenberg
-
isReducible
public boolean isReducible(Matrix H, double epsilon)
Check if H is upper Hessenberg and is reducible. Note that matrix |0| is unreducible.- Parameters:
H
- a matrixepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0- Returns:
true
if H is upper Hessenberg and is reducible
-
reduce
@Deprecated public List<Matrix> reduce(Matrix H)
Deprecated.Not supported yet.This looks for 0s in the sub-diagonal of a Hessenberg matrix, H, and reduces (splits) it into a number of non-reducible Hessenberg matrices. For example, we reduce \[ \begin{matrix} 1 & 2 & 3 & 4 & 5 & 6\\ 7 & 8 & 9 & 10 & 11 & 12\\ 0 & 14 & 15 & 16 & 17 & 18 \\ 0 & 0 & 0 & 22 & 23 & 24 \\ 0 & 0 & 0 & 28 & 29 & 30 \\ 0 & 0 & 0 & 0 & 35 & 36 \end{matrix} \] into \[ \begin{matrix} 1 & 2 & 3 \\ 7 & 8 & 9 \\ 0 & 14 & 15 \\ \end{matrix} \] and \[ \begin{matrix} 22 & 23 & 24 \\ 28 & 29 & 30 \\ 0 & 35 & 36 \\ \end{matrix} \] Not yet implemented.- Parameters:
H
- a matrix- Returns:
- a list of non-reducible Hessenberg matrices
-
-