org.ejml.alg.block
Class BlockInnerRankUpdate

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

public class BlockInnerRankUpdate
extends Object

Performs rank-n update operations on the inner blocks of a BlockMatrix64F It is assumed and not checked that the submatrices are aligned along the matrix's blocks.

Author:
Peter Abeles

Constructor Summary
BlockInnerRankUpdate()
           
 
Method Summary
protected static void multTransABlockMinus_U(double[] dataA, double[] dataC, int indexA, int indexB, int indexC, int heightA, int widthA, int widthC)
           Performs the following operation on the upper triangular portion of a block:

c = c - aTa
protected static void multTransABlockMinus(double[] dataA, double[] dataC, int indexA, int indexB, int indexC, int heightA, int widthA, int widthC)
           Performs the following operation on a block:

c = c - aTa
protected static void multTransBBlockMinus_L(double[] dataA, double[] dataC, int indexA, int indexB, int indexC, int widthA, int heightA, int widthC)
           Performs the following operation on the lower triangular portion of a block:

c = c - a*aT
protected static void multTransBBlockMinus(double[] dataA, double[] dataC, int indexA, int indexB, int indexC, int widthA, int heightA, int widthC)
           Performs the following operation on a block:

c = c - a*aT
static void rankNUpdate(int blockLength, double alpha, D1Submatrix64F A, D1Submatrix64F B)
           Performs:

A = A + α B TB
static void symmRankNMinus_L(int blockLength, D1Submatrix64F A, D1Submatrix64F B)
           Rank N update function for a symmetric inner submatrix and only operates on the lower triangular portion of the submatrix.

A = A - B*BT
static void symmRankNMinus_U(int blockLength, D1Submatrix64F A, D1Submatrix64F B)
           Rank N update function for a symmetric inner submatrix and only operates on the upper triangular portion of the submatrix.

A = A - B TB
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockInnerRankUpdate

public BlockInnerRankUpdate()
Method Detail

rankNUpdate

public static void rankNUpdate(int blockLength,
                               double alpha,
                               D1Submatrix64F A,
                               D1Submatrix64F B)

Performs:

A = A + α B TB

Parameters:
blockLength - Size of the block in the block matrix.
alpha - scaling factor for right hand side.
A - Block aligned submatrix.
B - Block aligned submatrix.

symmRankNMinus_U

public static void symmRankNMinus_U(int blockLength,
                                    D1Submatrix64F A,
                                    D1Submatrix64F B)

Rank N update function for a symmetric inner submatrix and only operates on the upper triangular portion of the submatrix.

A = A - B TB


symmRankNMinus_L

public static void symmRankNMinus_L(int blockLength,
                                    D1Submatrix64F A,
                                    D1Submatrix64F B)

Rank N update function for a symmetric inner submatrix and only operates on the lower triangular portion of the submatrix.

A = A - B*BT


multTransABlockMinus

protected static void multTransABlockMinus(double[] dataA,
                                           double[] dataC,
                                           int indexA,
                                           int indexB,
                                           int indexC,
                                           int heightA,
                                           int widthA,
                                           int widthC)

Performs the following operation on a block:

c = c - aTa


multTransABlockMinus_U

protected static void multTransABlockMinus_U(double[] dataA,
                                             double[] dataC,
                                             int indexA,
                                             int indexB,
                                             int indexC,
                                             int heightA,
                                             int widthA,
                                             int widthC)

Performs the following operation on the upper triangular portion of a block:

c = c - aTa


multTransBBlockMinus

protected static void multTransBBlockMinus(double[] dataA,
                                           double[] dataC,
                                           int indexA,
                                           int indexB,
                                           int indexC,
                                           int widthA,
                                           int heightA,
                                           int widthC)

Performs the following operation on a block:

c = c - a*aT


multTransBBlockMinus_L

protected static void multTransBBlockMinus_L(double[] dataA,
                                             double[] dataC,
                                             int indexA,
                                             int indexB,
                                             int indexC,
                                             int widthA,
                                             int heightA,
                                             int widthC)

Performs the following operation on the lower triangular portion of a block:

c = c - a*aT



Copyright © 2012. All Rights Reserved.