Skip to content

feat: add blas/base/ssbmv #2399

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
docs: update descriptions
  • Loading branch information
aman-095 committed Jun 24, 2024
commit 62ae20f74af45f4b2b69c0a6d4158b0f6bb5dc2e
36 changes: 21 additions & 15 deletions lib/node_modules/@stdlib/blas/base/ssbmv/docs/repl.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

{{alias}}( ord, uplo, N, k, α, A, lda, x, sx, β, y, sy )
Perform one of the matrix-vector operations `y = α*A*x + β*y`
where α and β are scalars, x and y are n element vectors and A is
an n by n symmetric matrix, with k super-diagonals.
where `α` and `β` are scalars, `x` and `y` are `N` element vectors, and A is
an `N` by `N` symmetric matrix, with `k` super-diagonals.

The stride parameters determine how operations are performed.

Expand All @@ -17,13 +17,15 @@
Parameters
----------
ord: string
Row-major (C-style) or column-major (Fortran-style) order.
Row-major (C-style) or column-major (Fortran-style) order. Must be
either 'row-major' or 'column-major'.

uplo: string
Specifies whether `A` is upper or lower triangular matrix.
Specifies whether to reference the upper or lower triangular part of
`A`. Must be either 'upper' or 'lower'.

N: integer
Specifies the order of the matrix `A`.
Number of elements along each dimension of `A`.

k: integer
Specifies the number of super-diagonals.
Expand All @@ -35,7 +37,8 @@
Matrix.

lda: integer
Leading dimension.
Stride of the first dimension of `A` (a.k.a., leading dimension of the
matrix `A`).

x: Float32Array
Input vector `x`.
Expand All @@ -47,7 +50,7 @@
Scalar constant.

y: Float32Array
Input/output vector `y`.
Output vector `y`.

sy: integer
Index increment for `y`.
Expand Down Expand Up @@ -86,8 +89,8 @@

{{alias}}.ndarray( ord, uplo, N, k, α, A, lda, x, sx, ox, β, y, sy, oy )
Perform one of the matrix-vector operations `y = α*A*x + β*y`
where α and β are scalars, x and y are n element vectors and A is
an n by n symmetric matrix, with k super-diagonals using alternative
where `α` and `β` are scalars, x and y are `N` element vectors, and `A` is
an `N` by `N` symmetric matrix, with `k` super-diagonals using alternative
indexing semantics.

While typed array views mandate a view offset based on the underlying
Expand All @@ -97,25 +100,28 @@
Parameters
----------
ord: string
Row-major (C-style) or column-major (Fortran-style) order.
Row-major (C-style) or column-major (Fortran-style) order. Must be
either 'row-major' or 'column-major'.

uplo: string
Specifies whether `A` is upper or lower triangular matrix.
Specifies whether to reference the upper or lower triangular part of
`A`. Must be either 'upper' or 'lower'.

N: integer
Specifies the order of the matrix `A`.
Number of elements along each dimension of `A`.

k: integer
Specifies the number of super-diagonals.

α: number
Scalar.
Scalar constant.

A: Float32Array
Matrix.

lda: integer
Leading dimension.
Stride of the first dimension of `A` (a.k.a., leading dimension of the
matrix `A`).

x: Float32Array
Input vector `x`.
Expand All @@ -130,7 +136,7 @@
Scalar.

y: Float32Array
Input/output vector `y`.
Output vector `y`.

sy: integer
Index increment for `y`.
Expand Down
36 changes: 15 additions & 21 deletions lib/node_modules/@stdlib/blas/base/ssbmv/docs/types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,9 @@

// TypeScript Version: 4.1

/**
* Storage layouts.
*/
type Order = 'row-major' | 'column-major';
/// <reference types="@stdlib/types"/>

/**
* Upper or lower triangular indicator.
*/
type UPLO = 'upper' | 'lower';
import { Layout, MatrixTriangle } from '@stdlib/types/blas';

/**
* Interface describing `ssbmv`.
Expand All @@ -37,15 +31,15 @@ interface Routine {
*
* @param order - storage layout
* @param uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is being supplied
* @param N - number of columns in the matrix `A`
* @param N - number of elements along each dimension in the matrix `A`
* @param k - number of super-diagonals
* @param alpha - scalar constant
* @param A - matrix of coefficients
* @param LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
* @param x - an `M` element vector
* @param x - first input array
* @param strideX - `x` stride length
* @param beta - scalar constant
* @param y - an `N` element vector
* @param y - second input array
* @param strideY - `y` stride length
* @returns output array `y`
*
Expand All @@ -59,25 +53,25 @@ interface Routine {
* ssbmv( 'row-major, 'lower', 3, 1, 1.0, A, 3, x, 1, 0.0, y, 1 );
* // y => <Float32Array>[ ~0.2, ~1.7, ~0.9 ]
*/
( order: Order, uplo: UPLO, N: number, k: number, alpha: number, A: Float32Array, LDA: number, x: Float32Array, strideX: number, beta: number, y: Float32Array, strideY: number ): Float32Array;
( order: Layout, uplo: MatrixTriangle, N: number, k: number, alpha: number, A: Float32Array, LDA: number, x: Float32Array, strideX: number, beta: number, y: Float32Array, strideY: number ): Float32Array;

/**
* Performs one of the matrix-vector operations `y = alpha*A*x + beta*y` where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix, with k super-diagonals using alternative indexing semantics.
*
* @param order - storage layout
* @param uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is being supplied
* @param N - number of columns in the matrix `A`
* @param N - number of elements along each dimension in the matrix `A`
* @param k - number of super-diagonals
* @param alpha - scalar constant
* @param A - matrix of coefficients
* @param LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
* @param x - an `M` element vector
* @param x - first input array
* @param strideX - `x` stride length
* @param offsetX - `x` index offset
* @param offsetX - starting `x` index
* @param beta - scalar constant
* @param y - an `N` element vector
* @param y - second input array
* @param strideY - `y` stride length
* @param offsetY - `y` index offset
* @param offsetY - starting `y` index
* @returns output array `y`
*
* @example
Expand All @@ -90,23 +84,23 @@ interface Routine {
* ssbmv.ndarray( 'row-major', 'lower', 3, 1, 1.0, A, 3, x, 1, 0, 0.0, y, 1, 0 );
* // y => <Float32Array>[ ~0.2, ~1.7, ~0.9 ]
*/
ndarray( order: Order, uplo: UPLO, N: number, k: number, alpha: number, A: Float32Array, LDA: number, x: Float32Array, strideX: number, offsetX: number, beta: number, y: Float32Array, strideY: number, offsetY: number ): Float32Array;
ndarray( order: Layout, uplo: MatrixTriangle, N: number, k: number, alpha: number, A: Float32Array, LDA: number, x: Float32Array, strideX: number, offsetX: number, beta: number, y: Float32Array, strideY: number, offsetY: number ): Float32Array;
}

/**
* Performs one of the matrix-vector operations `y = alpha*A*x + beta*y` where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix, with k super-diagonals.
*
* @param order - storage layout
* @param uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is being supplied
* @param N - number of columns in the matrix `A`
* @param N - number of elements along each dimension in the matrix `A`
* @param k - number of super-diagonals
* @param alpha - scalar constant
* @param A - matrix of coefficients
* @param LDA - stride of the first dimension of `A` (a.k.a., leading dimension of the matrix `A`)
* @param x - an `M` element vector
* @param x - first input array
* @param strideX - `x` stride length
* @param beta - scalar constant
* @param y - an `N` element vector
* @param y - second input array
* @param strideY - `y` stride length
* @returns output array `y`
*
Expand Down