public class VectorOps_DDRB
extends java.lang.Object
Math operations for inner vectors (row and column) inside of block matrices:
scale: bi = α*ai
div: i = ai/α
add: ci = α*ai + βBi
dot: c = sum ai*bi
All submatrices must be block aligned. All offsets and end indexes are relative to the beginning of each submatrix.
Constructor and Description |
---|
VectorOps_DDRB() |
Modifier and Type | Method and Description |
---|---|
static void |
add_row(int blockLength,
org.ejml.data.DSubmatrixD1 A,
int rowA,
double alpha,
org.ejml.data.DSubmatrixD1 B,
int rowB,
double beta,
org.ejml.data.DSubmatrixD1 C,
int rowC,
int offset,
int end)
Row vector add:
add: ci = α*ai + βBi where 'a', 'b', and 'c' are row vectors within the row block vectors of A, B, and C respectively. |
static void |
div_row(int blockLength,
org.ejml.data.DSubmatrixD1 A,
int rowA,
double alpha,
org.ejml.data.DSubmatrixD1 B,
int rowB,
int offset,
int end)
Row vector divide:
div: bi = ai/α where 'a' and 'b' are row vectors within the row block vector A and B. |
static double |
dot_row_col(int blockLength,
org.ejml.data.DSubmatrixD1 A,
int rowA,
org.ejml.data.DSubmatrixD1 B,
int colB,
int offset,
int end)
vector dot/inner product from one row vector and one column vector:
dot: c = sum ai*bi where 'a' is a row vector 'b' is a column vectors within the row block vector A and B, and 'c' is a scalar. |
static double |
dot_row(int blockLength,
org.ejml.data.DSubmatrixD1 A,
int rowA,
org.ejml.data.DSubmatrixD1 B,
int rowB,
int offset,
int end)
Row vector dot/inner product:
dot: c = sum ai*bi where 'a' and 'b' are row vectors within the row block vector A and B, and 'c' is a scalar. |
static void |
scale_row(int blockLength,
org.ejml.data.DSubmatrixD1 A,
int rowA,
double alpha,
org.ejml.data.DSubmatrixD1 B,
int rowB,
int offset,
int end)
Row vector scale:
scale: bi = α*ai where 'a' and 'b' are row vectors within the row block vector A and B. |
public static void scale_row(int blockLength, org.ejml.data.DSubmatrixD1 A, int rowA, double alpha, org.ejml.data.DSubmatrixD1 B, int rowB, int offset, int end)
Row vector scale:
scale: bi = α*ai
where 'a' and 'b' are row vectors within the row block vector A and B.
A
- submatrix. Not modified.rowA
- which row in A the vector is contained in.alpha
- scale factor.B
- submatrix that the results are written to. Modified.offset
- Index at which the vectors start at.end
- Index at which the vectors end at.public static void div_row(int blockLength, org.ejml.data.DSubmatrixD1 A, int rowA, double alpha, org.ejml.data.DSubmatrixD1 B, int rowB, int offset, int end)
Row vector divide:
div: bi = ai/α
where 'a' and 'b' are row vectors within the row block vector A and B.
A
- submatrix. Not modified.rowA
- which row in A the vector is contained in.alpha
- scale factor.B
- submatrix that the results are written to. Modified.offset
- Index at which the vectors start at.end
- Index at which the vectors end at.public static void add_row(int blockLength, org.ejml.data.DSubmatrixD1 A, int rowA, double alpha, org.ejml.data.DSubmatrixD1 B, int rowB, double beta, org.ejml.data.DSubmatrixD1 C, int rowC, int offset, int end)
Row vector add:
add: ci = α*ai + βBi
where 'a', 'b', and 'c' are row vectors within the row block vectors of A, B, and C respectively.
blockLength
- Length of each inner matrix block.A
- submatrix. Not modified.rowA
- which row in A the vector is contained in.alpha
- scale factor of AB
- submatrix. Not modified.rowB
- which row in B the vector is contained in.beta
- scale factor of BC
- submatrix where the results are written to. Modified.rowC
- which row in C is the vector contained.offset
- Index at which the vectors start at.end
- Index at which the vectors end at.public static double dot_row(int blockLength, org.ejml.data.DSubmatrixD1 A, int rowA, org.ejml.data.DSubmatrixD1 B, int rowB, int offset, int end)
Row vector dot/inner product:
dot: c = sum ai*bi
where 'a' and 'b' are row vectors within the row block vector A and B, and 'c' is a scalar.
A
- submatrix. Not modified.rowA
- which row in A the vector is contained in.B
- submatrix. Not modified.rowB
- which row in B the vector is contained in.offset
- Index at which the vectors start at.end
- Index at which the vectors end at.public static double dot_row_col(int blockLength, org.ejml.data.DSubmatrixD1 A, int rowA, org.ejml.data.DSubmatrixD1 B, int colB, int offset, int end)
vector dot/inner product from one row vector and one column vector:
dot: c = sum ai*bi
where 'a' is a row vector 'b' is a column vectors within the row block vector A and B, and 'c' is a scalar.
A
- block row vector. Not modified.rowA
- which row in A the vector is contained in.B
- block column vector. Not modified.colB
- which column in B is the vector contained in.offset
- Index at which the vectors start at.end
- Index at which the vectors end at.