Class CommonOps_MT_FDRM
CommonOps_FDRM
with concurrent implementations.-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends FMatrix1Row>
Tmult
(float alpha, T a, T b, T output) Performs the following operation:
c = α * a * b
cij = α ∑k=1:n { * aik * bkj}static <T extends FMatrix1Row>
Tmult
(T a, T b, T output) Performs the following operation:
c = a * b
cij = ∑k=1:n { aik * bkj}static void
multAdd
(float alpha, FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + α * a * b
cij = cij + α * ∑k=1:n { aik * bkj}static void
multAdd
(FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + a * b
cij = cij + ∑k=1:n { aik * bkj}static void
multAddTransA
(float alpha, FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + α * aT * b
cij =cij + α * ∑k=1:n { aki * bkj}static void
multAddTransA
(FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + aT * b
cij = cij + ∑k=1:n { aki * bkj}static void
multAddTransAB
(float alpha, FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + α * aT * bT
cij = cij + α * ∑k=1:n { aki * bjk}static void
multAddTransAB
(FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + aT * bT
cij = cij + ∑k=1:n { aki * bjk}static void
multAddTransB
(float alpha, FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + α * a * bT
cij = cij + α * ∑k=1:n { aik * bjk}static void
multAddTransB
(FMatrix1Row a, FMatrix1Row b, FMatrix1Row c) Performs the following operation:
c = c + a * bT
cij = cij + ∑k=1:n { aik * bjk}static <T extends FMatrix1Row>
TmultTransA
(float alpha, T a, T b, T output) Performs the following operation:
c = α * aT * b
cij = α ∑k=1:n { aki * bkj}static <T extends FMatrix1Row>
TmultTransA
(T a, T b, T output) Performs the following operation:
c = aT * b
cij = ∑k=1:n { aki * bkj}static <T extends FMatrix1Row>
TmultTransAB
(float alpha, T a, T b, T output) Performs the following operation:
c = α * aT * bT
cij = α ∑k=1:n { aki * bjk}static <T extends FMatrix1Row>
TmultTransAB
(T a, T b, T output) Performs the following operation:
c = aT * bT
cij = ∑k=1:n { aki * bjk}static <T extends FMatrix1Row>
TmultTransB
(float alpha, T a, T b, T output) Performs the following operation:
c = α * a * bT
cij = α ∑k=1:n { aik * bjk}static <T extends FMatrix1Row>
TmultTransB
(T a, T b, T output) Performs the following operation:
c = a * bT
cij = ∑k=1:n { aik * bjk}static void
transpose
(FMatrixRMaj mat) Performs an "in-place" transpose.static FMatrixRMaj
transpose
(FMatrixRMaj A, @Nullable FMatrixRMaj A_tran) Transposes matrix 'a' and stores the results in 'b':
bij = aji
where 'b' is the transpose of 'a'.
-
Method Details
-
mult
Performs the following operation:
c = a * b
cij = ∑k=1:n { aik * bkj}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
mult
Performs the following operation:
c = α * a * b
cij = α ∑k=1:n { * aik * bkj}- Parameters:
alpha
- Scaling factor.a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multTransA
Performs the following operation:
c = aT * b
cij = ∑k=1:n { aki * bkj}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multTransA
Performs the following operation:
c = α * aT * b
cij = α ∑k=1:n { aki * bkj}- Parameters:
alpha
- Scaling factor.a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multTransB
Performs the following operation:
c = a * bT
cij = ∑k=1:n { aik * bjk}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multTransB
Performs the following operation:
c = α * a * bT
cij = α ∑k=1:n { aik * bjk}- Parameters:
alpha
- Scaling factor.a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multTransAB
Performs the following operation:
c = aT * bT
cij = ∑k=1:n { aki * bjk}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multTransAB
Performs the following operation:
c = α * aT * bT
cij = α ∑k=1:n { aki * bjk}- Parameters:
alpha
- Scaling factor.a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.output
- Where the results of the operation are stored. Modified.
-
multAdd
Performs the following operation:
c = c + a * b
cij = cij + ∑k=1:n { aik * bkj}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.c
- Where the results of the operation are stored. Modified.
-
multAdd
Performs the following operation:
c = c + α * a * b
cij = cij + α * ∑k=1:n { aik * bkj}- Parameters:
alpha
- scaling factor.a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.c
- Where the results of the operation are stored. Modified.
-
multAddTransA
Performs the following operation:
c = c + aT * b
cij = cij + ∑k=1:n { aki * bkj}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.c
- Where the results of the operation are stored. Modified.
-
multAddTransA
Performs the following operation:
c = c + α * aT * b
cij =cij + α * ∑k=1:n { aki * bkj}- Parameters:
alpha
- scaling factora
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.c
- Where the results of the operation are stored. Modified.
-
multAddTransB
Performs the following operation:
c = c + a * bT
cij = cij + ∑k=1:n { aik * bjk}- Parameters:
a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.c
- Where the results of the operation are stored. Modified.
-
multAddTransB
Performs the following operation:
c = c + α * a * bT
cij = cij + α * ∑k=1:n { aik * bjk}- Parameters:
alpha
- Scaling factor.a
- The left matrix in the multiplication operation. Not modified.b
- The right matrix in the multiplication operation. Not modified.c
- Where the results of the operation are stored. Modified.
-
multAddTransAB
Performs the following operation:
c = c + aT * bT
cij = cij + ∑k=1:n { aki * bjk}- Parameters:
a
- The left matrix in the multiplication operation. Not Modified.b
- The right matrix in the multiplication operation. Not Modified.c
- Where the results of the operation are stored. Modified.
-
multAddTransAB
Performs the following operation:
c = c + α * aT * bT
cij = cij + α * ∑k=1:n { aki * bjk}- Parameters:
alpha
- Scaling factor.a
- The left matrix in the multiplication operation. Not Modified.b
- The right matrix in the multiplication operation. Not Modified.c
- Where the results of the operation are stored. Modified.
-
transpose
Performs an "in-place" transpose.
For square matrices the transpose is truly in-place and does not require additional memory. For non-square matrices, internally a temporary matrix is declared and
transpose(FMatrixRMaj, FMatrixRMaj)
is invoked.- Parameters:
mat
- The matrix that is to be transposed. Modified.
-
transpose
Transposes matrix 'a' and stores the results in 'b':
bij = aji
where 'b' is the transpose of 'a'.- Parameters:
A
- The original matrix. Not modified.A_tran
- Where the transpose is stored. If null a new matrix is created. Modified.- Returns:
- The transposed matrix.
-