public class VectorVectorMult_FDRM
extends java.lang.Object
Constructor and Description |
---|
VectorVectorMult_FDRM() |
Modifier and Type | Method and Description |
---|---|
static void |
addOuterProd(float gamma,
org.ejml.data.FMatrixD1 x,
org.ejml.data.FMatrixD1 y,
org.ejml.data.FMatrix1Row A)
Adds to A ∈ ℜ m × n the results of an outer product multiplication
of the two vectors.
|
static void |
householder(float gamma,
org.ejml.data.FMatrixD1 u,
org.ejml.data.FMatrixD1 x,
org.ejml.data.FMatrixD1 y)
Multiplies a householder reflection against a vector:
y = (I + γ u uT)x |
static float |
innerProd(org.ejml.data.FMatrixD1 x,
org.ejml.data.FMatrixD1 y)
Computes the inner product of the two vectors.
|
static float |
innerProdA(org.ejml.data.FMatrixD1 x,
org.ejml.data.FMatrixD1 A,
org.ejml.data.FMatrixD1 y)
return = xT*A*y
|
static float |
innerProdTranA(org.ejml.data.FMatrixD1 x,
org.ejml.data.FMatrixD1 A,
org.ejml.data.FMatrixD1 y)
xTATy
|
static void |
outerProd(org.ejml.data.FMatrixD1 x,
org.ejml.data.FMatrixD1 y,
org.ejml.data.FMatrix1Row A)
Sets A ∈ ℜ m × n equal to an outer product multiplication of the two
vectors.
|
static void |
rank1Update(float gamma,
org.ejml.data.FMatrixRMaj A,
org.ejml.data.FMatrixRMaj u,
org.ejml.data.FMatrixRMaj w)
Performs a rank one update on matrix A using vectors u and w.
|
static void |
rank1Update(float gamma,
org.ejml.data.FMatrixRMaj A,
org.ejml.data.FMatrixRMaj u,
org.ejml.data.FMatrixRMaj w,
org.ejml.data.FMatrixRMaj B)
Performs a rank one update on matrix A using vectors u and w.
|
public static float innerProd(org.ejml.data.FMatrixD1 x, org.ejml.data.FMatrixD1 y)
Computes the inner product of the two vectors. In geometry this is known as the dot product.
∑k=1:n xk * yk
where x and y are vectors with n elements.
These functions are often used inside of highly optimized code and therefor sanity checks are kept to a minimum. It is not recommended that any of these functions be used directly.
x
- A vector with n elements. Not modified.y
- A vector with n elements. Not modified.public static float innerProdA(org.ejml.data.FMatrixD1 x, org.ejml.data.FMatrixD1 A, org.ejml.data.FMatrixD1 y)
return = xT*A*y
x
- A vector with n elements. Not modified.A
- A matrix with n by m elements. Not modified.y
- A vector with m elements. Not modified.public static float innerProdTranA(org.ejml.data.FMatrixD1 x, org.ejml.data.FMatrixD1 A, org.ejml.data.FMatrixD1 y)
xTATy
x
- A vector with n elements. Not modified.A
- A matrix with n by n elements. Not modified.y
- A vector with n elements. Not modified.public static void outerProd(org.ejml.data.FMatrixD1 x, org.ejml.data.FMatrixD1 y, org.ejml.data.FMatrix1Row A)
Sets A ∈ ℜ m × n equal to an outer product multiplication of the two
vectors. This is also known as a rank-1 operation.
A = x * y'
where x ∈ ℜ m and y ∈ ℜ n are vectors.
Which is equivalent to: Aij = xi*yj
These functions are often used inside of highly optimized code and therefor sanity checks are kept to a minimum. It is not recommended that any of these functions be used directly.
x
- A vector with m elements. Not modified.y
- A vector with n elements. Not modified.A
- A Matrix with m by n elements. Modified.public static void addOuterProd(float gamma, org.ejml.data.FMatrixD1 x, org.ejml.data.FMatrixD1 y, org.ejml.data.FMatrix1Row A)
Adds to A ∈ ℜ m × n the results of an outer product multiplication
of the two vectors. This is also known as a rank 1 update.
A = A + γ x * yT
where x ∈ ℜ m and y ∈ ℜ n are vectors.
Which is equivalent to: Aij = Aij + γ xi*yj
These functions are often used inside of highly optimized code and therefor sanity checks are kept to a minimum. It is not recommended that any of these functions be used directly.
gamma
- A multiplication factor for the outer product.x
- A vector with m elements. Not modified.y
- A vector with n elements. Not modified.A
- A Matrix with m by n elements. Modified.public static void householder(float gamma, org.ejml.data.FMatrixD1 u, org.ejml.data.FMatrixD1 x, org.ejml.data.FMatrixD1 y)
Multiplies a householder reflection against a vector:
y = (I + γ u uT)x
The Householder reflection is used in some implementations of QR decomposition.
u
- A vector. Not modified.x
- a vector. Not modified.y
- Vector where the result are written to.public static void rank1Update(float gamma, org.ejml.data.FMatrixRMaj A, org.ejml.data.FMatrixRMaj u, org.ejml.data.FMatrixRMaj w, org.ejml.data.FMatrixRMaj B)
Performs a rank one update on matrix A using vectors u and w. The results are stored in B.
B = A + γ u wT
This is called a rank1 update because the matrix u wT has a rank of 1. Both A and B can be the same matrix instance, but there is a special rank1Update for that.
gamma
- A scalar.A
- A m by m matrix. Not modified.u
- A vector with m elements. Not modified.w
- A vector with m elements. Not modified.B
- A m by m matrix where the results are stored. Modified.public static void rank1Update(float gamma, org.ejml.data.FMatrixRMaj A, org.ejml.data.FMatrixRMaj u, org.ejml.data.FMatrixRMaj w)
Performs a rank one update on matrix A using vectors u and w. The results are stored in A.
A = A + γ u wT
This is called a rank1 update because the matrix u wT has a rank of 1.
gamma
- A scalar.A
- A m by m matrix. Modified.u
- A vector with m elements. Not modified.