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