Class MatrixMatrixMult_FDRM


  • public class MatrixMatrixMult_FDRM
    extends java.lang.Object

    This 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
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void mult_aux​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void mult_aux​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void mult_reorder​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void mult_reorder​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void mult_small​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void mult_small​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAdd_aux​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void multAdd_aux​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void multAdd_reorder​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAdd_reorder​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAdd_small​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAdd_small​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransA_reorder​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransA_reorder​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransA_small​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransA_small​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransAB​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransAB​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransAB_aux​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void multAddTransAB_aux​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void multAddTransB​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multAddTransB​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransA_reorder​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransA_reorder​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransA_small​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransA_small​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransAB​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransAB​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransAB_aux​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void multTransAB_aux​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c, float[] aux)  
      static void multTransB​(float alpha, org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      static void multTransB​(org.ejml.data.FMatrix1Row a, org.ejml.data.FMatrix1Row b, org.ejml.data.FMatrix1Row c)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait