Package org.ejml.dense.row
Class SpecializedOps_ZDRM
java.lang.Object
org.ejml.dense.row.SpecializedOps_ZDRM
Various highly specialized operations that are probably not of interest to most people.
-
Method Summary
Modifier and TypeMethodDescriptionstatic ZMatrixRMaj
Creates a reflector from the provided vector.
Q = I - γ u uT
γ = 2/||u||2static ZMatrixRMaj
createReflector
(ZMatrixRMaj u, double gamma) Creates a reflector from the provided vector and gamma.
Q = I - γ u uHstatic double
Returns the magnitude squared of the complex element along the diagonal with the largest magnitude
Max{ |aij|^2 } for all i and jstatic ZMatrixRMaj
householder
(ZMatrixRMaj u, double gamma) Q = I - gamma*u*uHstatic ZMatrixRMaj
Computes the householder vector used in QR decomposition.static ZMatrixRMaj
pivotMatrix
(@Nullable ZMatrixRMaj ret, int[] pivots, int numPivots, boolean transposed) Creates a pivot matrix that exchanges the rows in a matrix:
A' = P*Astatic double
Computes the quality of a triangular matrix, where the quality of a matrix is defined inLinearSolver.quality()
.
-
Method Details
-
createReflector
Creates a reflector from the provided vector.
Q = I - γ u uT
γ = 2/||u||2- Parameters:
u
- A vector. Not modified.- Returns:
- An orthogonal reflector.
-
createReflector
Creates a reflector from the provided vector and gamma.
Q = I - γ u uH
- Parameters:
u
- A vector. Not modified.gamma
- To produce a reflector gamma needs to be equal to 2/||u||.- Returns:
- An orthogonal reflector.
-
pivotMatrix
public static ZMatrixRMaj pivotMatrix(@Nullable @Nullable ZMatrixRMaj ret, int[] pivots, int numPivots, boolean transposed) Creates a pivot matrix that exchanges the rows in a matrix:
A' = P*A
For example, if element 0 in 'pivots' is 2 then the first row in A' will be the 3rd row in A.
- Parameters:
ret
- If null then a new matrix is declared otherwise the results are written to it. Is modified.pivots
- Specifies the new order of rows in a matrix.numPivots
- How many elements in pivots are being used.transposed
- If the transpose of the matrix is returned.- Returns:
- A pivot matrix.
-
elementDiagMaxMagnitude2
Returns the magnitude squared of the complex element along the diagonal with the largest magnitude
Max{ |aij|^2 } for all i and j
- Parameters:
a
- A matrix. Not modified.- Returns:
- The max magnitude squared
-
qualityTriangular
Computes the quality of a triangular matrix, where the quality of a matrix is defined inLinearSolver.quality()
. In this situation the quality is the magnitude of the product of each diagonal element divided by the magnitude of the largest diagonal element. If all diagonal elements are zero then zero is returned.- Returns:
- the quality of the system.
-
householder
Q = I - gamma*u*uH -
householderVector
Computes the householder vector used in QR decomposition. u = x / max(x) u(0) = u(0) + |u| u = u / u(0)- Parameters:
x
- Input vector. Unmodified.- Returns:
- The found householder reflector vector
-