|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--drasys.or.linear.blas.SmpBLAS2
Parallel implementation of the BLAS2 for Java. Blas2 operates on vectors and matrices stored contiguously in one-dimensional arrays. It also supports sub-matrices and sub-vectors which allow it to work with both '0' and '1' based indexing. The increment arguments 'inci' and 'incj' allow this method to operate directly on both row-major and column-major structures. The arrays containing complex elements store each complex element in two adjacent array positions. The real component has the even index and the imaginary component has the next higher index. The 'beg?' and 'inc?' arguments specify the logical index of the complex element, these are multiplied by two internally to obtain the offset into the array.
DenseVector
,
RowMajorMatrix
,
ColumnMajorMatrix
,
DenseVector
,
RowMajorMatrix
,
References:
Parallel Algorithms for Matrix Computations
K.A. Gallivan / Paperback / Published 1990
Linear Algebra and Its Applications
Gilbert Strang / Hardcover / Published 1988
Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences)
Gene H. Golub, Charles F. Van Loan (Contributor) / Paperback / Published 1996
Constructor Summary | |
SmpBLAS2()
Construct a default underlying serial BLAS implementation. |
|
SmpBLAS2(BLAS2I blas2)
Construct an explicit underlying serial BLAS implementation. |
Method Summary | |
void |
cgemv(int m,
int n,
ComplexI alpha,
float[] A,
int begA,
int incAi,
int incAj,
float[] x,
int begx,
int incx,
ComplexI beta,
float[] y,
int begy,
int incy)
Computes: y = alpha*A*x + beta*y. |
void |
cgerc(int m,
int n,
ComplexI alpha,
float[] x,
int begx,
int incx,
float[] y,
int begy,
int incy,
float[] A,
int begA,
int incAi,
int incAj)
Computes: A = alpha*x*y' + A. |
void |
cgeru(int m,
int n,
ComplexI alpha,
float[] x,
int begx,
int incx,
float[] y,
int begy,
int incy,
float[] A,
int begA,
int incAi,
int incAj)
Computes: A = alpha*x*y' + A. |
void |
dgemv(int m,
int n,
double alpha,
double[] A,
int begA,
int incAi,
int incAj,
double[] x,
int begx,
int incx,
double beta,
double[] y,
int begy,
int incy)
Computes: y = alpha*A*x + beta*y. |
void |
dger(int m,
int n,
double alpha,
double[] x,
int begx,
int incx,
double[] y,
int begy,
int incy,
double[] A,
int begA,
int incAi,
int incAj)
Computes: A = alpha*x*y' + A. |
Smp |
getSmp()
Get the underlying Smp object. |
void |
setSmp(Smp smp)
Set the underlying Smp object. |
void |
sgemv(int m,
int n,
float alpha,
float[] A,
int begA,
int incAi,
int incAj,
float[] x,
int begx,
int incx,
float beta,
float[] y,
int begy,
int incy)
Computes: y = alpha*A*x + beta*y. |
void |
sger(int m,
int n,
float alpha,
float[] x,
int begx,
int incx,
float[] y,
int begy,
int incy,
float[] A,
int begA,
int incAi,
int incAj)
Computes: A = alpha*x*y' + A. |
void |
zgemv(int m,
int n,
ComplexI alpha,
double[] A,
int begA,
int incAi,
int incAj,
double[] x,
int begx,
int incx,
ComplexI beta,
double[] y,
int begy,
int incy)
Computes: y = alpha*A*x + beta*y. |
void |
zgerc(int m,
int n,
ComplexI alpha,
double[] x,
int begx,
int incx,
double[] y,
int begy,
int incy,
double[] A,
int begA,
int incAi,
int incAj)
Computes: A = alpha*x*y' + A. |
void |
zgeru(int m,
int n,
ComplexI alpha,
double[] x,
int begx,
int incx,
double[] y,
int begy,
int incy,
double[] A,
int begA,
int incAi,
int incAj)
Computes: A = alpha*x*y' + A. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public SmpBLAS2()
public SmpBLAS2(BLAS2I blas2)
Method Detail |
public Smp getSmp()
public void setSmp(Smp smp)
public void dgemv(int m, int n, double alpha, double[] A, int begA, int incAi, int incAj, double[] x, int begx, int incx, double beta, double[] y, int begy, int incy) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'x
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsbeta
- constant scalery
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementspublic void dger(int m, int n, double alpha, double[] x, int begx, int incx, double[] y, int begy, int incy, double[] A, int begA, int incAi, int incAj) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerx
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsy
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementsA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'public void sgemv(int m, int n, float alpha, float[] A, int begA, int incAi, int incAj, float[] x, int begx, int incx, float beta, float[] y, int begy, int incy) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'x
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsbeta
- constant scalery
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementspublic void sger(int m, int n, float alpha, float[] x, int begx, int incx, float[] y, int begy, int incy, float[] A, int begA, int incAi, int incAj) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerx
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsy
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementsA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'public void zgemv(int m, int n, ComplexI alpha, double[] A, int begA, int incAi, int incAj, double[] x, int begx, int incx, ComplexI beta, double[] y, int begy, int incy) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'x
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsbeta
- constant scalery
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementspublic void zgerc(int m, int n, ComplexI alpha, double[] x, int begx, int incx, double[] y, int begy, int incy, double[] A, int begA, int incAi, int incAj) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerx
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsy
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementsA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'public void zgeru(int m, int n, ComplexI alpha, double[] x, int begx, int incx, double[] y, int begy, int incy, double[] A, int begA, int incAi, int incAj) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerx
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsy
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementsA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'public void cgemv(int m, int n, ComplexI alpha, float[] A, int begA, int incAi, int incAj, float[] x, int begx, int incx, ComplexI beta, float[] y, int begy, int incy) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'x
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsbeta
- constant scalery
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementspublic void cgerc(int m, int n, ComplexI alpha, float[] x, int begx, int incx, float[] y, int begy, int incy, float[] A, int begA, int incAi, int incAj) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerx
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsy
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementsA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'public void cgeru(int m, int n, ComplexI alpha, float[] x, int begx, int incx, float[] y, int begy, int incy, float[] A, int begA, int incAi, int incAj) throws BlasException
m
- number of rows in 'A'n
- number of columns in 'A'alpha
- constant scalerx
- array containing the 'x' vector elementsbegx
- offset of the first 'x' vector elementincx
- the distance between 'x' vector elementsy
- array containing the 'y' vector elementsbegy
- offset of the first 'y' vector elementincy
- the distance between 'y' vector elementsA
- the matrix 'A' in contiguous formatbegA
- offset of the first element of 'A'incAi
- row increment for matrix 'A'incAj
- column increment for matrix 'A'
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |