Function

cblas_dgemv(_:_:_:_:_:_:_:_:_:_:_:_:)

Multiplies a matrix by a vector (double precision).

Declaration

func cblas_dgemv(_ __Order: CBLAS_ORDER, _ __TransA: CBLAS_TRANSPOSE, _ __M: Int32, _ __N: Int32, _ __alpha: Double, _ __A: UnsafePointer<Double>!, _ __lda: Int32, _ __X: UnsafePointer<Double>!, _ __incX: Int32, _ __beta: Double, _ __Y: UnsafeMutablePointer<Double>!, _ __incY: Int32)

Parameters

Order

Specifies row-major (C) or column-major (Fortran) data ordering.

TransA

Specifies whether to transpose matrix A.

M

Number of rows in matrix A.

N

Number of columns in matrix A.

alpha

Scaling factor for the product of matrix A and vector X.

A

Matrix A.

lda

The size of the first dimention of matrix A; if you are passing a matrix A[m][n], the value should be m.

X

Vector X.

incX

Stride within X. For example, if incX is 7, every 7th element is used.

beta

Scaling factor for vector Y.

Y

Vector Y

incY

Stride within Y. For example, if incY is 7, every 7th element is used.

Discussion

This function multiplies A * X (after transposing A, if needed) and multiplies the resulting matrix by alpha. It then multiplies vector Y by beta. It stores the sum of these two products in vector Y.

Thus, it calculates either

Y←αAX + βY

with optional use of the transposed form of A.

See Also

Double-Precision Float Matrix Functions

func cblas_dasum(Int32, UnsafePointer<Double>!, Int32) -> Double

Computes the sum of the absolute values of elements in a vector (double-precision).

func cblas_daxpy(Int32, Double, UnsafePointer<Double>!, Int32, UnsafeMutablePointer<Double>!, Int32)

Computes a constant times a vector plus a vector (double-precision).

func cblas_dnrm2(Int32, UnsafePointer<Double>!, Int32) -> Double

Computes the L2 norm (Euclidian length) of a vector (double precision).

func cblas_dscal(Int32, Double, UnsafeMutablePointer<Double>!, Int32)

Multiplies each element of a vector by a constant (double-precision).

func cblas_dspmv(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafePointer<Double>!, UnsafePointer<Double>!, Int32, Double, UnsafeMutablePointer<Double>!, Int32)

Scales a packed symmetric matrix, then multiplies by a vector, then scales and adds another vector (double precision).

func cblas_dspr(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafePointer<Double>!, Int32, UnsafeMutablePointer<Double>!)

Rank one update: adds a packed symmetric matrix to the product of a scaling factor, a vector, and its transpose (double precision).

func cblas_dsyr(CBLAS_ORDER, CBLAS_UPLO, Int32, Double, UnsafePointer<Double>!, Int32, UnsafeMutablePointer<Double>!, Int32)

Rank one update: adds a symmetric matrix to the product of a scaling factor, a vector, and its transpose (double precision).

func cblas_dsyrk(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, Double, UnsafePointer<Double>!, Int32, Double, UnsafeMutablePointer<Double>!, Int32)

Rank-k update—multiplies a symmetric matrix by its transpose and adds a second matrix (double precision).