Class CommonOps_MT_DDRM
CommonOps_DDRM
with concurrent implementations.-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends DMatrix1Row>
Tmult
(double alpha, T a, T b, T output) Performs the following operation:
c = α * a * b
cij = α ∑k=1:n { * aik * bkj}static <T extends DMatrix1Row>
Tmult
(T a, T b, T output) Performs the following operation:
c = a * b
cij = ∑k=1:n { aik * bkj}static void
multAdd
(double alpha, DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + α * a * b
cij = cij + α * ∑k=1:n { aik * bkj}static void
multAdd
(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + a * b
cij = cij + ∑k=1:n { aik * bkj}static void
multAddTransA
(double alpha, DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + α * aT * b
cij =cij + α * ∑k=1:n { aki * bkj}static void
multAddTransA
(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + aT * b
cij = cij + ∑k=1:n { aki * bkj}static void
multAddTransAB
(double alpha, DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + α * aT * bT
cij = cij + α * ∑k=1:n { aki * bjk}static void
multAddTransAB
(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + aT * bT
cij = cij + ∑k=1:n { aki * bjk}static void
multAddTransB
(double alpha, DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + α * a * bT
cij = cij + α * ∑k=1:n { aik * bjk}static void
multAddTransB
(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c) Performs the following operation:
c = c + a * bT
cij = cij + ∑k=1:n { aik * bjk}static <T extends DMatrix1Row>
TmultTransA
(double alpha, T a, T b, T output) Performs the following operation:
c = α * aT * b
cij = α ∑k=1:n { aki * bkj}static <T extends DMatrix1Row>
TmultTransA
(T a, T b, T output) Performs the following operation:
c = aT * b
cij = ∑k=1:n { aki * bkj}static <T extends DMatrix1Row>
TmultTransAB
(double alpha, T a, T b, T output) Performs the following operation:
c = α * aT * bT
cij = α ∑k=1:n { aki * bjk}static <T extends DMatrix1Row>
TmultTransAB
(T a, T b, T output) Performs the following operation:
c = aT * bT
cij = ∑k=1:n { aki * bjk}static <T extends DMatrix1Row>
TmultTransB
(double alpha, T a, T b, T output) Performs the following operation:
c = α * a * bT
cij = α ∑k=1:n { aik * bjk}static <T extends DMatrix1Row>
TmultTransB
(T a, T b, T output) Performs the following operation:
c = a * bT
cij = ∑k=1:n { aik * bjk}static void
transpose
(DMatrixRMaj mat) Performs an "in-place" transpose.static DMatrixRMaj
transpose
(DMatrixRMaj A, @Nullable DMatrixRMaj 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(DMatrixRMaj, DMatrixRMaj)
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.
-