Class CommonOps_MT_DDRM

java.lang.Object
org.ejml.dense.row.CommonOps_MT_DDRM

public class CommonOps_MT_DDRM
extends Object
Functions from CommonOps_DDRM with concurrent implementations.
  • Constructor Details

    • CommonOps_MT_DDRM

      public CommonOps_MT_DDRM()
  • Method Details

    • mult

      public static <T extends DMatrix1Row> T mult​(T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T mult​(double alpha, T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T multTransA​(T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T multTransA​(double alpha, T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T multTransB​(T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T multTransB​(double alpha, T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T multTransAB​(T a, T b, @Nullable T output)

      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

      public static <T extends DMatrix1Row> T multTransAB​(double alpha, T a, T b, @Nullable T output)

      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

      public static void multAdd​(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c)

      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

      public 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}

      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

      public static void multAddTransA​(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c)

      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

      public 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}

      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.
    • multAddTransB

      public static void multAddTransB​(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c)

      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

      public 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}

      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

      public static void multAddTransAB​(DMatrix1Row a, DMatrix1Row b, DMatrix1Row c)

      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

      public 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}

      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

      public static void transpose​(DMatrixRMaj mat)

      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

      public static DMatrixRMaj transpose​(DMatrixRMaj A, @Nullable @Nullable DMatrixRMaj A_tran)

      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.