openblas

package
v0.0.0-...-27647ab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2023 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Index

Constants

View Source
const (
	Sequential = 0
	Thread     = 1
	OpenMP     = 2
)

Variables

This section is empty.

Functions

func Bf16toD

func Bf16toD(n int, in []Bfloat16, incIn int, out []float64, incOut int)

Convert bfloat16 array to double array

func Bf16toS

func Bf16toS(n int, in []Bfloat16, incIn int, out []float32, incOut int)

Convert bfloat16 array to float array

func CTbsv

func CTbsv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []complex64, lda int, x []complex64, incX int)

Ctbsv solves a banded triangular system of equations with a general matrix.

func Caxpby

func Caxpby(n int, alpha complex64, x []complex64, incx int, beta complex64, y []complex64, incy int)

Caxpby computes y := alpha*x + beta*y for complex float arrays x and y.

func Caxpy

func Caxpy(n int, alpha complex64, x []complex64, incx int, y []complex64, incy int)

Caxpy adds a multiple of a complex single-precision vector to another complex single-precision vector.

func Ccopy

func Ccopy(n int, x []complex64, incx int, y []complex64, incy int)

Ccopy copies a complex single-precision vector x to a complex single-precision vector y.

func Cdotc

func Cdotc(n int, x []complex64, incX int, y []complex64, incY int) complex64

Cdotc returns the dot product of two complex single-precision vectors conjugating the first.

func CdotcSub

func CdotcSub(n int, x []complex64, incX int, y []complex64, incY int, ret *complex64)

CdotcSub returns the dot product of two complex single-precision vectors conjugating the first and stores the result in ret.

func Cdotu

func Cdotu(n int, x []complex64, incX int, y []complex64, incY int) complex64

Cdotu returns the dot product of two complex single-precision vectors.

func CdotuSub

func CdotuSub(n int, x []complex64, incX int, y []complex64, incY int, ret *complex64)

CdotuSub returns the dot product of two complex single-precision vectors and stores the result in ret.

func Cgbmv

func Cgbmv(order Order, transA Transpose, m int, n int, kl int, ku int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)

Cgbmv applies a general banded matrix to a vector (single precision).

func Cgeadd

func Cgeadd(order Order, rows, cols int, alpha complex64, a []complex64, lda int, beta complex64, c []complex64, ldc int)

Cgeadd adds a matrix A to a matrix C with complex scalar alpha and beta.

func Cgemm

func Cgemm(order Order, transA, transB Transpose, m, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)

Cgemm performs matrix-matrix multiplication with complex single-precision matrix A and matrix B and stores the result in matrix C.

func Cgemv

func Cgemv(order Order, trans Transpose, m, n int, alpha complex64, a []complex64, lda int, x []complex64, incx int, beta complex64, y []complex64, incy int)

Cgemv performs a matrix-vector operation with a general rectangular matrix, for complex single precision elements.

func Cgerc

func Cgerc(order Order, m, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int)

Cgerc performs a rank-1 update of matrix A. A = alpha * X * conj(Y)^T + A

func Cgeru

func Cgeru(order Order, m, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int)

Cgeru performs a rank-1 update of matrix A. A = alpha * X * Y^H + A

func Chbmv

func Chbmv(order Order, upLo UpLo, n, k int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)

CHbmv performs the matrix-vector operation: y = alpha*A*x + beta*y.

func Chemm

func Chemm(order Order, side Side, upLo UpLo, m int, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)

Multiply a Hermitian matrix with a general matrix. C = alpha * A * B + beta * C

func Chemv

func Chemv(order Order, upLo UpLo, n int, alpha complex64, a []complex64, lda int, x []complex64, incX int, beta complex64, y []complex64, incY int)

Chemv computes y := alpha*A*x + beta*y for complex Hermitian matrix A

func Cher

func Cher(order Order, upLo UpLo, n int, alpha float32, x []complex64, incX int, a []complex64, lda int)

Cher performs a hermitian rank-1 update of a complex hermitian matrix.

func Cher2

func Cher2(order Order, upLo UpLo, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, a []complex64, lda int)

Cher2 performs the Hermitian rank-2 update

func Cher2k

func Cher2k(order Order, upLo UpLo, trans Transpose, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb C.int, beta float32, c []complex64, ldc int)

Cher2k performs a Hermitian rank-2k update.

func Cherk

func Cherk(order Order, upLo UpLo, trans Transpose, n, k int, alpha float32, a []complex64, lda int, beta float32, c []complex64, ldc int)

Cherk performs a Hermitian rank-k update.

func Chpmv

func Chpmv(order Order, upLo UpLo, n int, alpha complex64, ap []complex64, x []complex64, incX int, beta complex64, y []complex64, incY int)

CHpmv performs the matrix-vector operation: y = alpha*A*x + beta*y.

func Chpr

func Chpr(order Order, upLo UpLo, n int, alpha float32, x []complex64, incX int, ap []complex64)

Chpr Perform a Hermitian rank-1 update of a Hermitian packed matrix with a complex Hermitian vector

func Chpr2

func Chpr2(order Order, upLo UpLo, n int, alpha complex64, x []complex64, incX int, y []complex64, incY int, ap []complex64)

Chpr2 performs the Hermitian rank 2 operation A := alpha*x*y**H + conjg(alpha)*y*x**H + A,

func CimatCopy

func CimatCopy(order Order, trans Transpose, rows, cols int, alpha complex64, a []complex64, lda int, ldb int)

CimatCopy performs scaling and in-place transposition/copying of matrices.

func ComatCopy

func ComatCopy(order Order, trans Transpose, rows, cols int, alpha complex64, a []complex64, lda int, b []complex64, ldb int)

ComatCopy performs scaling and out-place transposition/copying of matrices.

func Crotg

func Crotg(a *complex64, b *complex64, c *float32, s *complex64)

cblas_crotg computes the parameters for a Givens rotation matrix.

func Cscal

func Cscal(n int, alpha complex64, x []complex64, incX int)

Scalar multiplication of a complex single-precision float vector X by a complex scalar alpha.

func Csrot

func Csrot(n int, x []complex64, incX int, y []complex64, incY int, c float32, s float32)

Csrot applies a plane rotation to complex single-precision vectors x and y.

func Csscal

func Csscal(n int, alpha float32, x []complex64, incX int)

Scalar multiplication of a complex single-precision float vector X by a real scalar alpha.

func Cswap

func Cswap(n int, x []complex64, incx int, y []complex64, incy int)

Cswap interchanges two complex single-precision vectors.

func Csymm

func Csymm(order Order, side Side, upLo UpLo, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)

Csymm multiplies symmetric matrix A by matrix B and scales the result by beta, and accumulates the result into matrix C.

func Csyr2k

func Csyr2k(order Order, upLo UpLo, trans Transpose, n, k int, alpha complex64, a []complex64, lda int, b []complex64, ldb int, beta complex64, c []complex64, ldc int)

Csyr2k performs symmetric rank-2k update of a real symmetric matrix. C := alpha * A * B^T + alpha * B * A^T + beta * C

func Csyrk

func Csyrk(order Order, upLo UpLo, trans Transpose, n, k int, alpha complex64, a []complex64, lda int, beta complex64, c []complex64, ldc int)

Csyrk performs a symmetric rank-k operation on a complex float matrix.

func Ctbmv

func Ctbmv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []complex64, lda int, x []complex64, incX int)

Ctbmv multiplies a triangular banded matrix with a vector.

func Ctpmv

func Ctpmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []complex64, x []complex64, incX int)

Ctpmv Multiplies a packed triangular matrix by a vector.

func Ctpsv

func Ctpsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []complex64, x []complex64, incX int)

Ctpsv Multiplies a packed triangular matrix by a vector

func Ctrmm

func Ctrmm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int)

Ctrmm performs a matrix-matrix operation with a triangular matrix.

func Ctrmv

func Ctrmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []complex64, lda int, x []complex64, incX int)

Ctrmv performs one of the matrix-vector operations x = A*x or x = Aᵀ*x where A is a triangular matrix.

func Ctrsm

func Ctrsm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha complex64, a []complex64, lda int, b []complex64, ldb int)

Ctrsm solves a triangular system of equations with multiple values for the right side.

func Ctrsv

func Ctrsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []complex64, lda int, x []complex64, incX int)

Ctrsv solves a system of linear equations with a triangular matrix stored in packed format.

func DTbsv

func DTbsv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []float64, lda int, x []float64, incX int)

Dtbsv solves a banded triangular system of equations with a general matrix.

func Dasum

func Dasum(n int, x []float64, incX int) float64

Dasum returns the sum of the absolute values of a double-precision vector.

func Daxpby

func Daxpby(n int, alpha float64, x []float64, incx int, beta float64, y []float64, incy int)

Daxpby computes y := alpha*x + beta*y for double arrays x and y.

func Daxpy

func Daxpy(n int, alpha float64, x []float64, incx int, y []float64, incy int)

Daxpy adds a multiple of a double-precision vector to another double-precision vector.

func DbtoBf16

func DbtoBf16(n int, in []float64, incIn int, out []Bfloat16, incOut int)

Convert double array to bfloat16 array by rounding

func Dcopy

func Dcopy(n int, x []float64, incx int, y []float64, incy int)

Dcopy copies a double-precision vector x to a double-precision vector y.

func Ddot

func Ddot(n int, x []float64, incX int, y []float64, incY int) float64

Ddot returns the dot product of two double-precision vectors.

func Dgbmv

func Dgbmv(order Order, transA Transpose, m int, n int, kl int, ku int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)

Dgbmv applies a general banded matrix to a vector (double precision).

func Dgeadd

func Dgeadd(order Order, rows, cols int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int)

Dgeadd adds a matrix A to a matrix C with scalar alpha and beta.

func Dgemm

func Dgemm(order Order, transA, transB Transpose, m, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int)

Dgemm computes the matrix-matrix product where the matrices are

func Dgemv

func Dgemv(order Order, trans Transpose, m, n int, alpha float64, a []float64, lda int, x []float64, incx int, beta float64, y []float64, incy int)

Dgemv performs a matrix-vector operation with a general rectangular matrix, for real double precision elements.

func Dger

func Dger(order Order, m, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int)

Dger performs a rank-1 update of matrix A. A = alpha * X * Y^T + A

func DimatCopy

func DimatCopy(order Order, trans Transpose, rows, cols int, alpha float64, a []float64, lda int, ldb int)

DimatCopy performs scaling and in-place transposition/copying of matrices.

func Dnrm2

func Dnrm2(N int, X []float64, incX int) float64

Dnrm2 returns the Euclidean norm (2-norm) of a double-precision vector.

func DomatCopy

func DomatCopy(order Order, trans Transpose, rows, cols int, alpha float64, a []float64, lda int, b []float64, ldb int)

DomatCopy performs scaling and out-place transposition/copying of matrices.

func Drot

func Drot(n int, x []float64, incX int, y []float64, incY int, c float64, s float64)

Drot applies a plane rotation to vectors x and y.

func Drotg

func Drotg(a *float64, b *float64, c *float64, s *float64)

cblas_drotg computes the parameters for a Givens rotation matrix.

func Drotm

func Drotm(n int32, x []float64, incX int32, y []float64, incY int32, p []float64)

Rotates the points (X,Y) in the plane through the angle THETA.

func Drotmg

func Drotmg(d1, d2, b1 *float64, b2 float64, p []float64)

Given the scalars d1, d2, and b2, constructs the modified Givens transformation matrix H which zeros the second component of the 2-vector transpose(d1,d2)

func Dsbmv

func Dsbmv(order Order, upLo UpLo, n, k int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)

Dsbmv computes the matrix-vector product using a symmetric band matrix.

func Dscal

func Dscal(n int, alpha float64, x []float64, incX int)

Scalar multiplication of a double-precision float vector X by a scalar alpha.

func Dsdot

func Dsdot(n int, x []float32, incX int, y []float32, incY int) float64

Dsdot returns the dot product of two single-precision vectors.

func Dspmv

func Dspmv(order Order, upLo UpLo, n int, alpha float64, ap []float64, x []float64, incX int, beta float64, y []float64, incY int)

Dspmv performs a symmetric packed matrix-vector multiplication.

func Dspr

func Dspr(order Order, upLo UpLo, n int, alpha float64, x []float64, incX int, ap []float64)

Dspr Perform a symmetric rank-1 update of a symmetric packed matrix with a real symmetric vector

func Dspr2

func Dspr2(order Order, upLo UpLo, n int, alpha float64, x []float64, incX int, y []float64, incY int, ap []float64)

Dspr2 computes the symmetric rank 2 operation A := alpha*x*y**T + alpha*y*x**T + A,

func Dsum

func Dsum(n int, x []float64, incX int) float64

Dsum returns the sum of a double-precision vector.

func Dswap

func Dswap(n int, x []float64, incx int, y []float64, incy int)

Dswap interchanges two double-precision vectors.

func Dsymm

func Dsymm(order Order, side Side, upLo UpLo, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int)

Dsymm multiplies symmetric matrix A by matrix B and scales the result by beta, and accumulates the result into matrix C.

func Dsymv

func Dsymv(order Order, upLo UpLo, n int, alpha float64, a []float64, lda int, x []float64, incX int, beta float64, y []float64, incY int)

Dsymv computes y := alpha*A*x + beta*y for real symmetric matrix A

func Dsyr

func Dsyr(order Order, upLo UpLo, n int, alpha float64, x []float64, incX int, a []float64, lda int)

Dsyr performs a symmetric rank-1 update of a real symmetric matrix.

func Dsyr2

func Dsyr2(order Order, upLo UpLo, n int, alpha float64, x []float64, incX int, y []float64, incY int, a []float64, lda int)

Dsyr2 performs the symmetric rank 2 operation A := alpha*x*y^T + alpha*y*x^T + A, where alpha is a scalar, x and y are n element vectors, and A is an n by n symmetric matrix, supplied in packed form.

func Dsyr2k

func Dsyr2k(order Order, upLo UpLo, trans Transpose, n, k int, alpha float64, a []float64, lda int, b []float64, ldb int, beta float64, c []float64, ldc int)

Dsyr2k performs symmetric rank-2k update of a real symmetric matrix. C := alpha * A * B^T + alpha * B * A^T + beta * C

func Dsyrk

func Dsyrk(order Order, upLo UpLo, trans Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int)

Dsyrk performs a symmetric rank-k operation on a double matrix.

func Dtbmv

func Dtbmv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []float64, lda int, x []float64, incX int)

Dtbmv multiplies a triangular banded matrix with a vector.

func Dtpmv

func Dtpmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []float64, x []float64, incX int)

Dtpmv Multiplies a packed triangular matrix by a vector.

func Dtpsv

func Dtpsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []float64, x []float64, incX int)

Dtpsv Multiplies a packed triangular matrix by a vector

func Dtrmm

func Dtrmm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int)

Dtrmm performs a matrix-matrix operation with a triangular matrix.

func Dtrmv

func Dtrmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []float64, lda int, x []float64, incX int)

Dtrmv performs one of the matrix-vector operations x = A*x or x = Aᵀ*x where A is a triangular matrix.

func Dtrsm

func Dtrsm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha float64, a []float64, lda int, b []float64, ldb int)

Dtrsm solves a triangular system of equations with multiple values for the right side.

func Dtrsv

func Dtrsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []float64, lda int, x []float64, incX int)

Dtrsv solves a system of linear equations with a triangular matrix stored in packed format.

func Dzasum

func Dzasum(n int, x []complex128, incX int) float64

Dzasum returns the sum of the absolute values of the real and imaginary components of a complex double-precision vector.

func Dznrm2

func Dznrm2(N int, X []complex128, incX int) float64

Dznrm2 returns the Euclidean norm (2-norm) of a complex double-precision vector.

func Dzsum

func Dzsum(n int, x []complex128, incX int) float64

Dzsum returns the sum of the real and imaginary components of a complex double-precision vector.

func GetConfig

func GetConfig() string

func GetCorename

func GetCorename() string

func GetNumProcs

func GetNumProcs() int32

func GetNumThreads

func GetNumThreads() int32

func GetParallel

func GetParallel() int32

func GotoSetNumThreads

func GotoSetNumThreads(numThreads int32)

func Icamax

func Icamax(n int, x []complex64, incx int) int

Icamax returns the index of the element with the largest absolute value in a complex single-precision vector.

func Icamin

func Icamin(n int, x []complex64, incx int) int

Icamin returns the index of the element with the smallest absolute value in a complex single-precision vector.

func Icmax

func Icmax(n int, x []complex64, incx int) int

Icmax returns the index of the element with the largest absolute value in a complex single-precision vector.

func Icmin

func Icmin(n int, x []complex64, incx int) int

Icmin returns the index of the element with the smallest value in a complex single-precision vector.

func Idamax

func Idamax(n int, x []float64, incx int) int

Idamax returns the index of the element with the largest absolute value in a double-precision vector.

func Idamin

func Idamin(n int, x []float64, incx int) int

Idamin returns the index of the element with the smallest absolute value in a double-precision vector.

func Idmax

func Idmax(n int, x []float64, incx int) int

Idmax returns the index of the element with the largest absolute value in a double-precision vector.

func Idmin

func Idmin(n int, x []float64, incx int) int

Idmin returns the index of the element with the smallest value in a double-precision vector.

func Isamax

func Isamax(n int, x []float32, incx int) int

Isamax returns the index of the element with the largest absolute value in a single-precision vector.

func Isamin

func Isamin(n int, x []float32, incx int) int

Isamin returns the index of the element with the smallest absolute value in a single-precision vector.

func Ismax

func Ismax(n int, x []float32, incx int) int

Ismax returns the index of the element with the largest absolute value in a single-precision vector.

func Ismin

func Ismin(n int, x []float32, incx int) int

Ismin returns the index of the element with the smallest value in a single-precision vector.

func Izamax

func Izamax(n int, x []complex128, incx int) int

Izamax returns the index of the element with the largest absolute value in a complex double-precision vector.

func Izamin

func Izamin(n int, x []complex128, incx int) int

Izamin returns the index of the element with the smallest absolute value in a complex double-precision vector.

func Izmax

func Izmax(n int, x []complex128, incx int) int

Izmax returns the index of the element with the largest absolute value in a complex double-precision vector.

func Izmin

func Izmin(n int, x []complex128, incx int) int

Izmin returns the index of the element with the smallest value in a complex double-precision vector.

func Sasum

func Sasum(n int, x []float32, incX int) float32

Sasum returns the sum of the absolute values of a single-precision vector.

func Saxpby

func Saxpby(n int, alpha float32, x []float32, incx int, beta float32, y []float32, incy int)

Saxpby computes y := alpha*x + beta*y for float arrays x and y.

func Saxpy

func Saxpy(n int, alpha float32, x []float32, incx int, y []float32, incy int)

Saxpy adds a multiple of a single-precision vector to another single-precision vector.

func SbDot

func SbDot(n int, x []Bfloat16, incx int, y []Bfloat16, incy int) float32

Compute the dot product of two bfloat16 vectors

func SbGemM

func SbGemM(order Order, transA, transB Transpose, m, n, k int, alpha float32, a []Bfloat16, lda int, b []Bfloat16, ldb int, beta float32, c []float32, ldc int)

Performs a matrix-matrix multiplication with bfloat16 matrices and a float output matrix

func SbGemv

func SbGemv(order Order, trans Transpose, m, n int, alpha float32, a []Bfloat16, lda int, x []Bfloat16, incx int, beta float32, y []float32, incy int)

Performs a matrix-vector multiplication with a bfloat16 matrix and a float vector

func SbstoBf16

func SbstoBf16(n int, in []float32, incIn int, out []Bfloat16, incOut int)

Convert float array to bfloat16 array by rounding

func Scasum

func Scasum(n int, x []complex64, incX int) float32

Scasum returns the sum of the absolute values of the real and imaginary components of a complex single-precision vector.

func Scnrm2

func Scnrm2(N int, X []complex64, incX int) float32

Scnrm2 returns the Euclidean norm (2-norm) of a complex single-precision vector.

func Scopy

func Scopy(n int, x []float32, incx int, y []float32, incy int)

Scopy copies a single-precision vector x to a single-precision vector y.

func Scsum

func Scsum(n int, x []complex64, incX int) float32

Scsum returns the sum of the real and imaginary components of a complex single-precision vector.

func Sdot

func Sdot(n int, x []float32, incX int, y []float32, incY int) float32

Sdot returns the dot product of two single-precision vectors.

func Sdsdot

func Sdsdot(n int, alpha float32, x []float32, incX int, y []float32, incY int) float32

Sdsdot returns the dot product of two single-precision vectors with a correction term.

func SetNumThreads

func SetNumThreads(numThreads int32)

func Sgbmv

func Sgbmv(order Order, transA Transpose, m int, n int, kl int, ku int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)

Sgbmv applies a general banded matrix to a vector (single precision).

func Sgeadd

func Sgeadd(order Order, rows, cols int, alpha float32, a []float32, lda int, beta float32, c []float32, ldc int)

Sgeadd adds a matrix A to a matrix C with scalar alpha and beta.

func Sgemm

func Sgemm(order Order, transA, transB Transpose, m, n, k int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int)

Sgemm computes the matrix-matrix product where the matrices are

func Sgemv

func Sgemv(order Order, trans Transpose, m, n int, alpha float32, a []float32, lda int, x []float32, incx int, beta float32, y []float32, incy int)

Sgemv performs a matrix-vector operation with a general rectangular matrix, for real single precision elements.

func Sger

func Sger(order Order, m, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32, lda int)

Sger performs a rank-1 update of matrix A. A = alpha * X * Y^T + A

func SimatCopy

func SimatCopy(order Order, trans Transpose, rows, cols int, alpha float32, a []float32, lda int, ldb int)

SimatCopy performs scaling and in-place transposition/copying of matrices.

func Snrm2

func Snrm2(N int, X []float32, incX int) float32

Snrm2 returns the Euclidean norm (2-norm) of a single-precision vector.

func SomatCopy

func SomatCopy(order Order, trans Transpose, rows, cols int, alpha float32, a []float32, lda int, b []float32, ldb int)

SomatCopy performs scaling and out-place transposition/copying of matrices.

func Srot

func Srot(n int, x []float32, incX int, y []float32, incY int, c float32, s float32)

Srot applies a plane rotation to vectors x and y.

func Srotg

func Srotg(a *float32, b *float32, c *float32, s *float32)

cblas_srotg computes the parameters for a Givens rotation matrix.

func Srotm

func Srotm(n int32, x []float32, incX int32, y []float32, incY int32, p []float32)

Rotates the points (X,Y) in the plane through the angle THETA.

func Srotmg

func Srotmg(d1, d2, b1 *float32, b2 float32, p []float32)

Given the scalars d1, d2, and b2, constructs the modified Givens transformation matrix H which zeros the second component of the 2-vector transpose(d1,d2)

func Ssbmv

func Ssbmv(order Order, upLo UpLo, n, k int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)

Ssbmv computes the matrix-vector product using a symmetric band matrix.

func Sscal

func Sscal(n int, alpha float32, x []float32, incX int)

Scalar multiplication of a single-precision float vector X by a scalar alpha.

func Sspmv

func Sspmv(order Order, upLo UpLo, n int, alpha float32, ap []float32, x []float32, incX int, beta float32, y []float32, incY int)

Sspmv performs a symmetric packed matrix-vector multiplication.

func Sspr

func Sspr(order Order, upLo UpLo, n int, alpha float32, x []float32, incX int, ap []float32)

Sspr Perform a symmetric rank-1 update of a symmetric packed matrix with a real symmetric vector

func Sspr2

func Sspr2(order Order, upLo UpLo, n int, alpha float32, x []float32, incX int, y []float32, incY int, ap []float32)

Sspr2 computes the symmetric rank 2 operation A := alpha*x*y**T + alpha*y*x**T + A,

func Ssum

func Ssum(n int, x []float32, incX int) float32

Ssum returns the sum of a single-precision vector.

func Sswap

func Sswap(n int, x []float32, incx int, y []float32, incy int)

Sswap interchanges two single-precision vectors.

func Ssymm

func Ssymm(order Order, side Side, upLo UpLo, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int)

Ssymm multiplies symmetric matrix A by matrix B and scales the result by beta, and accumulates the result into matrix C.

func Ssymv

func Ssymv(order Order, upLo UpLo, n int, alpha float32, a []float32, lda int, x []float32, incX int, beta float32, y []float32, incY int)

Ssymv computes y := alpha*A*x + beta*y for real symmetric matrix A

func Ssyr

func Ssyr(order Order, upLo UpLo, n int, alpha float32, x []float32, incX int, a []float32, lda int)

Ssyr performs a symmetric rank-1 update of a real symmetric matrix.

func Ssyr2

func Ssyr2(order Order, upLo UpLo, n int, alpha float32, x []float32, incX int, y []float32, incY int, a []float32, lda int)

Ssyr2 performs the symmetric rank 2 operation A := alpha*x*y^T + alpha*y*x^T + A, where alpha is a scalar, x and y are n element vectors, and A is an n by n symmetric matrix, supplied in packed form.

func Ssyr2k

func Ssyr2k(order Order, upLo UpLo, trans Transpose, n, k int, alpha float32, a []float32, lda int, b []float32, ldb int, beta float32, c []float32, ldc int)

Ssyr2k performs symmetric rank-2k update of a real symmetric matrix. C := alpha * A * B^T + alpha * B * A^T + beta * C

func Ssyrk

func Ssyrk(order Order, upLo UpLo, trans Transpose, n, k int, alpha float32, a []float32, lda int, beta float32, c []float32, ldc int)

Ssyrk performs a symmetric rank-k operation on a float matrix.

func Stbmv

func Stbmv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []float32, lda int, x []float32, incX int)

Stbmv multiplies a triangular banded matrix with a vector.

func Stbsv

func Stbsv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []float32, lda int, x []float32, incX int)

Stbsv solves a banded triangular system of equations with a general matrix.

func Stpmv

func Stpmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []float32, x []float32, incX int)

Stpmv Multiplies a packed triangular matrix by a vector.

func Stpsv

func Stpsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []float32, x []float32, incX int)

Stpsv Multiplies a packed triangular matrix by a vector

func Strmm

func Strmm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int)

Strmm performs a matrix-matrix operation with a triangular matrix.

func Strmv

func Strmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []float32, lda int, x []float32, incX int)

Strmv performs one of the matrix-vector operations x = A*x or x = Aᵀ*x where A is a triangular matrix.

func Strsm

func Strsm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha float32, a []float32, lda int, b []float32, ldb int)

Strsm solves a triangular system of equations with multiple values for the right side.

func Strsv

func Strsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []float32, lda int, x []float32, incX int)

Strsv solves a system of linear equations with a triangular matrix stored in packed format.

func Zaxpby

func Zaxpby(n int, alpha complex128, x []complex128, incx int, beta complex128, y []complex128, incy int)

Zaxpby computes y := alpha*x + beta*y for complex double arrays x and y.

func Zaxpy

func Zaxpy(n int, alpha complex128, x []complex128, incx int, y []complex128, incy int)

Zaxpy adds a multiple of a complex double-precision vector to another complex double-precision vector.

func Zcopy

func Zcopy(n int, x []complex128, incx int, y []complex128, incy int)

Zcopy copies a complex double-precision vector x to a complex double-precision vector y.

func Zdotc

func Zdotc(n int, x []complex128, incX int, y []complex128, incY int) complex128

Zdotc returns the dot product of two complex double-precision vectors conjugating the first.

func ZdotcSub

func ZdotcSub(n int, x []complex128, incX int, y []complex128, incY int, ret *complex128)

ZdotcSub returns the dot product of two complex double-precision vectors conjugating the first and stores the result in ret.

func Zdotu

func Zdotu(n int, x []complex128, incX int, y []complex128, incY int) complex128

Zdotu returns the dot product of two complex double-precision vectors.

func ZdotuSub

func ZdotuSub(n int, x []complex128, incX int, y []complex128, incY int, ret *complex128)

ZdotuSub returns the dot product of two complex double-precision vectors and stores the result in ret.

func Zdrot

func Zdrot(n int, x []complex128, incX int, y []complex128, incY int, c float64, s float64)

Zdrot applies a plane rotation to complex double-precision vectors x and y.

func Zdscal

func Zdscal(n int, alpha float64, x []complex128, incX int)

Scalar multiplication of a complex double-precision float vector X by a real scalar alpha.

func Zgbmv

func Zgbmv(order Order, transA Transpose, m int, n int, kl int, ku int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)

Zgbmv applies a general banded matrix to a vector (double precision).

func Zgeadd

func Zgeadd(order Order, rows, cols int, alpha complex128, a []complex128, lda int, beta complex128, c []complex128, ldc int)

Zgeadd adds a matrix A to a matrix C with complex scalar alpha and beta.

func Zgemm

func Zgemm(order Order, transA, transB Transpose, m, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)

Zgemm performs matrix-matrix multiplication with complex double-precision matrix A and matrix B and stores the result in matrix C.

func Zgemv

func Zgemv(order Order, trans Transpose, m, n int, alpha complex128, a []complex128, lda int, x []complex128, incx int, beta complex128, y []complex128, incy int)

Zgemv performs a matrix-vector operation with a general rectangular matrix, for complex double precision elements.

func Zgerc

func Zgerc(order Order, m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int)

Zgerc performs a rank-1 update of matrix A. A = alpha * X * conj(Y)^T + A

func Zgeru

func Zgeru(order Order, m, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int)

Zgeru performs a rank-1 update of matrix A. A = alpha * X * Y^H + A

func Zhbmv

func Zhbmv(order Order, upLo UpLo, n, k int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)

ZHbmv performs the matrix-vector operation: y = alpha*A*x + beta*y.

func Zhemm

func Zhemm(order Order, side Side, upLo UpLo, m int, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)

Multiply a Hermitian matrix with a general matrix. C = alpha * A * B + beta * C

func Zhemv

func Zhemv(order Order, upLo UpLo, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int)

Zhemv computes y := alpha*A*x + beta*y for complex Hermitian matrix A

func Zher

func Zher(order Order, upLo UpLo, n int, alpha float64, x []complex128, incX int, a []complex128, lda int)

Zher performs a hermitian rank-1 update of a complex hermitian matrix.

func Zher2

func Zher2(order Order, upLo UpLo, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, a []complex128, lda int)

Zher2 performs the Hermitian rank-2 update

func Zher2k

func Zher2k(order Order, upLo UpLo, trans Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb C.int, beta float64, c []complex128, ldc int)

Zher2k performs a Hermitian rank-2k update.

func Zherk

func Zherk(order Order, upLo UpLo, trans Transpose, n, k int, alpha float64, a []complex128, lda int, beta float64, c []complex128, ldc int)

Zherk performs a Hermitian rank-k update.

func Zhpmv

func Zhpmv(order Order, upLo UpLo, n int, alpha complex128, ap []complex128, x []complex128, incX int, beta complex128, y []complex128, incY int)

ZHpmv performs the matrix-vector operation: y = alpha*A*x + beta*y.

func Zhpr

func Zhpr(order Order, upLo UpLo, n int, alpha float64, x []complex128, incX int, ap []complex128)

Zhpr Perform a Hermitian rank-1 update of a Hermitian packed matrix with a complex Hermitian vector

func Zhpr2

func Zhpr2(order Order, upLo UpLo, n int, alpha complex128, x []complex128, incX int, y []complex128, incY int, ap []complex128)

Zhpr2 performs the Hermitian rank 2 operation A := alpha*x*y**H + conjg(alpha)*y*x**H + A,

func ZimatCopy

func ZimatCopy(order Order, trans Transpose, rows, cols int, alpha complex128, a []complex128, lda int, ldb int)

ZimatCopy performs scaling and in-place transposition/copying of matrices.

func ZomatCopy

func ZomatCopy(order Order, trans Transpose, rows, cols int, alpha complex128, a []complex128, lda int, b []complex128, ldb int)

ZomatCopy performs scaling and out-place transposition/copying of matrices.

func Zrotg

func Zrotg(a *complex128, b *complex128, c *float64, s *complex128)

cblas_zrotg computes the parameters for a Givens rotation matrix.

func Zscal

func Zscal(n int, alpha complex128, x []complex128, incX int)

Scalar multiplication of a complex double-precision float vector X by a complex scalar alpha.

func Zswap

func Zswap(n int, x []complex128, incx int, y []complex128, incy int)

Zswap interchanges two complex double-precision vectors.

func Zsymm

func Zsymm(order Order, side Side, upLo UpLo, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)

Zsymm multiplies symmetric matrix A by matrix B and scales the result by beta, and accumulates the result into matrix C.

func Zsyr2k

func Zsyr2k(order Order, upLo UpLo, trans Transpose, n, k int, alpha complex128, a []complex128, lda int, b []complex128, ldb int, beta complex128, c []complex128, ldc int)

Zsyr2k performs symmetric rank-2k update of a real symmetric matrix. C := alpha * A * B^T + alpha * B * A^T + beta * C

func Zsyrk

func Zsyrk(order Order, upLo UpLo, trans Transpose, n, k int, alpha complex128, a []complex128, lda int, beta complex128, c []complex128, ldc int)

Zsyrk performs a symmetric rank-k operation on a complex double matrix.

func Ztbmv

func Ztbmv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []complex128, lda int, x []complex128, incX int)

Ztbmv multiplies a triangular banded matrix with a vector.

func Ztbsv

func Ztbsv(order Order, upLo UpLo, trans Transpose, diag Diag, n, k int, a []complex128, lda int, x []complex128, incX int)

Ztbsv solves a banded triangular system of equations with a general matrix.

func Ztpmv

func Ztpmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []complex128, x []complex128, incX int)

Ztpmv Multiplies a packed triangular matrix by a vector.

func Ztpsv

func Ztpsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, ap []complex128, x []complex128, incX int)

Ztpsv Multiplies a packed triangular matrix by a vector

func Ztrmm

func Ztrmm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int)

Ztrmm performs a matrix-matrix operation with a triangular matrix.

func Ztrmv

func Ztrmv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []complex128, lda int, x []complex128, incX int)

Ztrmv performs one of the matrix-vector operations x = A*x or x = Aᵀ*x where A is a triangular matrix.

func Ztrsm

func Ztrsm(order Order, side Side, upLo UpLo, transA Transpose, diag Diag, m, n int, alpha complex128, a []complex128, lda int, b []complex128, ldb int)

Ztrsm solves a triangular system of equations with multiple values for the right side.

func Ztrsv

func Ztrsv(order Order, upLo UpLo, trans Transpose, diag Diag, n int, a []complex128, lda int, x []complex128, incX int)

Ztrsv solves a system of linear equations with a triangular matrix stored in packed format.

Types

type Bfloat16

type Bfloat16 uint16

type Diag

type Diag int32
const (
	NonUnit Diag = C.CblasNonUnit
	Unit    Diag = C.CblasUnit
)

type Layout

type Layout int32

type Order

type Order int32
const (
	Rowmajor Order = C.CblasRowMajor
	Colmajor Order = C.CblasColMajor
)

type Side

type Side int32
const (
	Left  Side = C.CblasLeft
	Right Side = C.CblasRight
)

type Transpose

type Transpose int32
const (
	Notrans     Transpose = C.CblasNoTrans
	Trans       Transpose = C.CblasTrans
	Conjtrans   Transpose = C.CblasConjTrans
	Conjnotrans Transpose = C.CblasConjNoTrans
)

type UpLo

type UpLo int32
const (
	Upper UpLo = C.CblasUpper
	Lower UpLo = C.CblasLower
)

Directories

Path Synopsis
dev
foo

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL