Class MatrixMatrixMult_FDRM
- java.lang.Object
-
- org.ejml.dense.row.mult.MatrixMatrixMult_FDRM
-
public class MatrixMatrixMult_FDRM extends java.lang.ObjectThis class contains various types of matrix matrix multiplication operations for
FMatrix1Row.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.
******** IMPORTANT ********** This class was auto generated using org.ejml.dense.row.mult.GeneratorMatrixMatrixMult_FDRM
-
-
Constructor Summary
Constructors Constructor Description MatrixMatrixMult_FDRM()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidmult_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmult_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmult_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmult_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmult_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmult_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAdd_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmultAdd_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmultAdd_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAdd_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAdd_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAdd_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransA_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransA_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransA_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransA_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransAB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransAB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransAB_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmultAddTransAB_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmultAddTransB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultAddTransB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransA_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransA_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransA_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransA_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransAB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransAB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransAB_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmultTransAB_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)static voidmultTransB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)static voidmultTransB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
-
-
Method Detail
-
mult_reorder
public static void mult_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
mult_small
public static void mult_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
mult_aux
public static void mult_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multTransA_reorder
public static void multTransA_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multTransA_small
public static void multTransA_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multTransAB
public static void multTransAB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multTransAB_aux
public static void multTransAB_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multTransB
public static void multTransB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAdd_reorder
public static void multAdd_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAdd_small
public static void multAdd_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAdd_aux
public static void multAdd_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multAddTransA_reorder
public static void multAddTransA_reorder(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAddTransA_small
public static void multAddTransA_small(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAddTransAB
public static void multAddTransAB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAddTransAB_aux
public static void multAddTransAB_aux(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multAddTransB
public static void multAddTransB(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
mult_reorder
public static void mult_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
mult_small
public static void mult_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
mult_aux
public static void mult_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multTransA_reorder
public static void multTransA_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multTransA_small
public static void multTransA_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multTransAB
public static void multTransAB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multTransAB_aux
public static void multTransAB_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multTransB
public static void multTransB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAdd_reorder
public static void multAdd_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAdd_small
public static void multAdd_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAdd_aux
public static void multAdd_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multAddTransA_reorder
public static void multAddTransA_reorder(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAddTransA_small
public static void multAddTransA_small(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAddTransAB
public static void multAddTransAB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
multAddTransAB_aux
public static void multAddTransAB_aux(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)
-
multAddTransB
public static void multAddTransB(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)
-
-