|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.ejml.alg.dense.mult.VectorVectorMult
public class VectorVectorMult
Operations that involve multiplication of two vectors.
| Constructor Summary | |
|---|---|
VectorVectorMult()
|
|
| Method Summary | |
|---|---|
static void |
addOuterProd(double gamma,
D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F A)
Adds to A ∈ ℜ m × n the results of an outer product multiplication of the two vectors. |
static void |
householder(double gamma,
D1Matrix64F u,
D1Matrix64F x,
D1Matrix64F y)
Multiplies a householder reflection against a vector: y = (I + γ u uT)x |
static double |
innerProd(D1Matrix64F x,
D1Matrix64F y)
Computes the inner product of the two vectors. |
static double |
innerProdA(D1Matrix64F x,
D1Matrix64F A,
D1Matrix64F y)
xTAy |
static double |
innerProdTranA(D1Matrix64F x,
D1Matrix64F A,
D1Matrix64F y)
xTATy |
static void |
mult(DenseMatrix64F x,
DenseMatrix64F y,
DenseMatrix64F A)
|
static void |
outerProd(D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F A)
Sets A ∈ ℜ m × n equal to an outer product multiplication of the two vectors. |
static void |
rank1Update(double gamma,
DenseMatrix64F A,
DenseMatrix64F u,
DenseMatrix64F w)
Performs a rank one update on matrix A using vectors u and w. |
static void |
rank1Update(double gamma,
DenseMatrix64F A,
DenseMatrix64F u,
DenseMatrix64F w,
DenseMatrix64F B)
Performs a rank one update on matrix A using vectors u and w. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public VectorVectorMult()
| Method Detail |
|---|
public static void mult(DenseMatrix64F x,
DenseMatrix64F y,
DenseMatrix64F A)
x - y - A -
public static double innerProd(D1Matrix64F x,
D1Matrix64F 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 double innerProdA(D1Matrix64F x,
D1Matrix64F A,
D1Matrix64F y)
xTAy
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 double innerProdTranA(D1Matrix64F x,
D1Matrix64F A,
D1Matrix64F 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(D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F 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(double gamma,
D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F 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(double gamma,
D1Matrix64F u,
D1Matrix64F x,
D1Matrix64F 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(double gamma,
DenseMatrix64F A,
DenseMatrix64F u,
DenseMatrix64F w,
DenseMatrix64F 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(double gamma,
DenseMatrix64F A,
DenseMatrix64F u,
DenseMatrix64F 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.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||