Package org.apache.sysds.runtime.compress.lib

## Class CLALibLeftMultBy

- java.lang.Object
- - org.apache.sysds.runtime.compress.lib.CLALibLeftMultBy

-     public class CLALibLeftMultBy
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CLALibLeftMultBy()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixBlock` | `leftMultByMatrix​(CompressedMatrixBlock right, MatrixBlock left, MatrixBlock ret, int k)` | Left multiplication with two CompressedMatrixBlock following the equation: ret = left %*% right
    `static MatrixBlock` | `leftMultByMatrixTransposed​(CompressedMatrixBlock right, CompressedMatrixBlock left, MatrixBlock ret, int k)` | Left multiplication with two CompressedMatrixBlock following the equation: ret = t(left) %*% right
    `static MatrixBlock` | `leftMultByMatrixTransposed​(CompressedMatrixBlock right, MatrixBlock left, MatrixBlock ret, int k)` | Left multiplication with a CompressedMatrixBlock on the right following the equation: ret = t(left) %*% right

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CLALibLeftMultBy

          public CLALibLeftMultBy()

  - ### Method Detail

    - #### leftMultByMatrixTransposed

          public static MatrixBlock leftMultByMatrixTransposed​(CompressedMatrixBlock right,
                                                               MatrixBlock left,
                                                               MatrixBlock ret,
                                                               int k)

      Left multiplication with a CompressedMatrixBlock on the right following the equation: ret = t(left) %*% right
      Parameters:
        `right` - A CompressedMatrixBlock on the right side of the multiplication.
        `left` - A not transposed MatrixBlock.
        `ret` - The result output matrix, this allocation of the object can be used if appropriate, otherwise a new matrix Block is allocated to be returned. This argument can also be null.
        `k` - The number of threads allowed to be used
      Returns:
        The result of the matrix multiplication

    - #### leftMultByMatrixTransposed

          public static MatrixBlock leftMultByMatrixTransposed​(CompressedMatrixBlock right,
                                                               CompressedMatrixBlock left,
                                                               MatrixBlock ret,
                                                               int k)

      Left multiplication with two CompressedMatrixBlock following the equation: ret = t(left) %*% right
      Parameters:
        `right` - A CompressedMatrixBlock on the right side of the multiplication.
        `left` - A not transposed CompressedMatrixBlock, but logically inside the function it is considered transposed.
        `ret` - The result output matrix, this allocation of the object can be used if appropriate, otherwise a new matrix Block is allocated to be returned. This argument can also be null.
        `k` - The number of threads allowed to be used
      Returns:
        The result of the matrix multiplication

    - #### leftMultByMatrix

          public static MatrixBlock leftMultByMatrix​(CompressedMatrixBlock right,
                                                     MatrixBlock left,
                                                     MatrixBlock ret,
                                                     int k)

      Left multiplication with two CompressedMatrixBlock following the equation: ret = left %*% right
      Parameters:
        `right` - A CompressedMatrixBlock on the right side of the multiplication.
        `left` - A MatrixBlock on the left side of the equation
        `ret` - The result output matrix, this allocation of the object can be used if appropriate, otherwise a new matrix Block is allocated to be returned. This argument can also be null.
        `k` - The number of threads allowed to be used
      Returns:
        The result of the matrix multiplication