public class MatrixMatrixMult_DDRM
extends java.lang.Object
This class contains various types of matrix matrix multiplication operations for DMatrix1Row
.
Two algorithms that are equivalent can often have very different runtime performance. This is because of how modern computers uses fast memory caches to speed up reading/writing to data. Depending on the order in which variables are processed different algorithms can run much faster than others, even if the number of operations is the same.
Algorithms that are labeled as 'reorder' are designed to avoid caching jumping issues, some times at the cost of increasing the number of operations. This is important for large matrices. The straight forward implementation seems to be faster for small matrices.
Algorithms that are labeled as 'aux' use an auxiliary array of length n. This array is used to create a copy of an out of sequence column vector that is referenced several times. This reduces the number of cache misses. If the 'aux' parameter passed in is null then the array is declared internally.
Typically the straight forward implementation runs about 30% faster on smaller matrices and about 5 times slower on larger matrices. This is all computer architecture and matrix shape/size specific.
This class was auto generated using org.ejml.dense.row.mult.GeneratorMatrixMatrixMult
Constructor and Description |
---|
MatrixMatrixMult_DDRM() |
Modifier and Type | Method and Description |
---|---|
static void |
mult_aux(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
mult_aux(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
mult_reorder(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
mult_reorder(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
mult_small(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
mult_small(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAdd_aux(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
multAdd_aux(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
multAdd_reorder(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAdd_reorder(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAdd_small(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAdd_small(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransA_reorder(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransA_reorder(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransA_small(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransA_small(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransAB_aux(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
multAddTransAB_aux(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
multAddTransAB(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransAB(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransB(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multAddTransB(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransA_reorder(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransA_reorder(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransA_small(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransA_small(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransAB_aux(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
multTransAB_aux(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c,
double[] aux) |
static void |
multTransAB(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransAB(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransB(org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
static void |
multTransB(double alpha,
org.ejml.data.DMatrix1Row a,
org.ejml.data.DMatrix1Row b,
org.ejml.data.DMatrix1Row c) |
public static void mult_reorder(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void mult_small(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void mult_aux(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multTransA_reorder(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multTransA_small(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multTransAB(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multTransAB_aux(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multTransB(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAdd_reorder(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAdd_small(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAdd_aux(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multAddTransA_reorder(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAddTransA_small(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAddTransAB(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAddTransAB_aux(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multAddTransB(org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void mult_reorder(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void mult_small(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void mult_aux(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multTransA_reorder(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multTransA_small(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multTransAB(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multTransAB_aux(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multTransB(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAdd_reorder(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAdd_small(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAdd_aux(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multAddTransA_reorder(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAddTransA_small(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAddTransAB(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)
public static void multAddTransAB_aux(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c, double[] aux)
public static void multAddTransB(double alpha, org.ejml.data.DMatrix1Row a, org.ejml.data.DMatrix1Row b, org.ejml.data.DMatrix1Row c)