BLAS interface types

Basic Linear Algebra Subroutines (BLAS) interface

Basic Linear Algebra Subroutines (BLAS) interface

Next: | BLAS interface vector operations |

BLAS vectors come in single- and double-precision, real and complex flavors:

These vector types all follow the sequence protocol. In addition, there are corresponding types for matrix data:

There are BOA constructors for all vector and matrix types, which provide the most flexibility in specifying memory layout:

For the simple case of creating a dense, zero-filled vector or matrix, simple empty object constructors are provided:

BLAS vectors and matrices can also be constructed from other Factor sequences:

float-blas-vector

double-blas-vector

complex-float-blas-vector

complex-double-blas-vector

These vector types all follow the sequence protocol. In addition, there are corresponding types for matrix data:

float-blas-matrix

double-blas-matrix

complex-float-blas-matrix

complex-double-blas-matrix

There are BOA constructors for all vector and matrix types, which provide the most flexibility in specifying memory layout:

<float-blas-vector> ( underlying length inc -- vector )

<double-blas-vector> ( underlying length inc -- vector )

<complex-float-blas-vector> ( underlying length inc -- vector )

<complex-double-blas-vector> ( underlying length inc -- vector )

<float-blas-matrix> ( underlying ld rows cols transpose -- matrix )

<double-blas-matrix> ( underlying ld rows cols transpose -- matrix )

<complex-float-blas-matrix> ( underlying ld rows cols transpose -- matrix )

<complex-double-blas-matrix> ( underlying ld rows cols transpose -- matrix )

For the simple case of creating a dense, zero-filled vector or matrix, simple empty object constructors are provided:

<empty-vector> ( length exemplar -- vector )

<empty-matrix> ( rows cols exemplar -- matrix )

BLAS vectors and matrices can also be constructed from other Factor sequences:

>float-blas-vector ( seq -- v )

>double-blas-vector ( seq -- v )

>complex-float-blas-vector ( seq -- v )

>complex-double-blas-vector ( seq -- v )

>float-blas-matrix ( arrays -- matrix )

>double-blas-matrix ( arrays -- matrix )

>complex-float-blas-matrix ( arrays -- matrix )

>complex-double-blas-matrix ( arrays -- matrix )