org.ejml.alg.block
Class BlockMultiplication

java.lang.Object
  extended by org.ejml.alg.block.BlockMultiplication

public class BlockMultiplication
extends Object

Matrix multiplication for BlockMatrix64F. All sub-matrices must be block aligned.

Author:
Peter Abeles

Constructor Summary
BlockMultiplication()
           
 
Method Summary
static void mult(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           Performs a matrix multiplication on BlockMatrix64F submatrices.

c = a * b

static void multMinus(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           Performs a matrix multiplication on BlockMatrix64F submatrices.

c = c - a * b

static void multMinusTransA(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           
static void multPlus(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           Performs a matrix multiplication on BlockMatrix64F submatrices.

c = c + a * b

static void multPlusTransA(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           
static void multTransA(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           Performs a matrix multiplication with a transpose on BlockMatrix64F submatrices.

c = aT * b

static void multTransB(int blockLength, D1Submatrix64F A, D1Submatrix64F B, D1Submatrix64F C)
           Performs a matrix multiplication with a transpose on BlockMatrix64F submatrices.

c = a * b T

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockMultiplication

public BlockMultiplication()
Method Detail

mult

public static void mult(int blockLength,
                        D1Submatrix64F A,
                        D1Submatrix64F B,
                        D1Submatrix64F C)

Performs a matrix multiplication on BlockMatrix64F submatrices.

c = a * b

It is assumed that all submatrices start at the beginning of a block and end at the end of a block.

Parameters:
blockLength - Size of the blocks in the submatrix.
A - A submatrix. Not modified.
B - A submatrix. Not modified.
C - Result of the operation. Modified,

multPlus

public static void multPlus(int blockLength,
                            D1Submatrix64F A,
                            D1Submatrix64F B,
                            D1Submatrix64F C)

Performs a matrix multiplication on BlockMatrix64F submatrices.

c = c + a * b

It is assumed that all submatrices start at the beginning of a block and end at the end of a block.

Parameters:
blockLength - Size of the blocks in the submatrix.
A - A submatrix. Not modified.
B - A submatrix. Not modified.
C - Result of the operation. Modified,

multMinus

public static void multMinus(int blockLength,
                             D1Submatrix64F A,
                             D1Submatrix64F B,
                             D1Submatrix64F C)

Performs a matrix multiplication on BlockMatrix64F submatrices.

c = c - a * b

It is assumed that all submatrices start at the beginning of a block and end at the end of a block.

Parameters:
blockLength - Size of the blocks in the submatrix.
A - A submatrix. Not modified.
B - A submatrix. Not modified.
C - Result of the operation. Modified,

multTransA

public static void multTransA(int blockLength,
                              D1Submatrix64F A,
                              D1Submatrix64F B,
                              D1Submatrix64F C)

Performs a matrix multiplication with a transpose on BlockMatrix64F submatrices.

c = aT * b

It is assumed that all submatrices start at the beginning of a block and end at the end of a block.

Parameters:
blockLength - Size of the blocks in the submatrix.
A - A submatrix. Not modified.
B - A submatrix. Not modified.
C - Result of the operation. Modified,

multPlusTransA

public static void multPlusTransA(int blockLength,
                                  D1Submatrix64F A,
                                  D1Submatrix64F B,
                                  D1Submatrix64F C)

multMinusTransA

public static void multMinusTransA(int blockLength,
                                   D1Submatrix64F A,
                                   D1Submatrix64F B,
                                   D1Submatrix64F C)

multTransB

public static void multTransB(int blockLength,
                              D1Submatrix64F A,
                              D1Submatrix64F B,
                              D1Submatrix64F C)

Performs a matrix multiplication with a transpose on BlockMatrix64F submatrices.

c = a * b T

It is assumed that all submatrices start at the beginning of a block and end at the end of a block.

Parameters:
blockLength - Length of the blocks in the submatrix.
A - A submatrix. Not modified.
B - A submatrix. Not modified.
C - Result of the operation. Modified,


Copyright © 2012. All Rights Reserved.