Skip to content

Commit

Permalink
Documentation for recently added BLAS methods.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmbates committed Aug 1, 2013
1 parent 9e57495 commit e31c323
Showing 1 changed file with 139 additions and 0 deletions.
139 changes: 139 additions & 0 deletions doc/stdlib/linalg.rst
Expand Up @@ -385,10 +385,23 @@ The following functions are defined within the ``Base.LinAlg.BLAS`` module.
2-norm of a vector consisting of ``n`` elements of array ``X`` with
stride ``incx``.

.. function:: asum(n, X, incx)

sum of the absolute values of the first ``n`` elements of array ``X`` with
stride ``incx``.

.. function:: axpy!(n, a, X, incx, Y, incy)

Overwrite ``Y`` with ``a*X + Y``. Returns ``Y``.

.. function:: scal!(n, a, X, incx)

Overwrite ``X`` with ``a*X``. Returns ``X``.

.. function:: scal(n, a, X, incx)

Returns ``a*X``.

.. function:: syrk!(uplo, trans, alpha, A, beta, C)

Rank-k update of the symmetric matrix ``C`` as ``alpha*A*A.' +
Expand Down Expand Up @@ -447,6 +460,12 @@ The following functions are defined within the ``Base.LinAlg.BLAS`` module.
order ``size(A,2)`` with ``k`` super-diagonals stored in the
argument ``A``.

.. function:: sbmv(uplo, k, A, x)

Returns ``A*x`` where ``A`` is a symmetric band matrix of
order ``size(A,2)`` with ``k`` super-diagonals stored in the
argument ``A``.

.. function:: gemm!(tA, tB, alpha, A, B, beta, C)

Update ``C`` as ``alpha*A*B + beta*C`` or the other three variants
Expand All @@ -458,6 +477,126 @@ The following functions are defined within the ``Base.LinAlg.BLAS`` module.
Returns ``alpha*A*B`` or the other three variants
according to ``tA`` (transpose ``A``) and ``tB``.

.. function:: gemm(tA, tB, alpha, A, B)

Returns ``alpha*A*B`` or the other three variants
according to ``tA`` (transpose ``A``) and ``tB``.

.. function:: gemv!(tA, alpha, A, x, beta, y)

Update the vector ``y`` as ``alpha*A*x + beta*x`` or
``alpha*A'x + beta*x`` according to ``tA`` (transpose ``A``).
Returns the updated ``y``.

.. function:: gemv(tA, alpha, A, x)

Returns ``alpha*A*x`` or ``alpha*A'x`` according to ``tA``
(transpose ``A``).

.. function:: gemv(tA, alpha, A, x)

Returns ``A*x`` or ``A'x`` according to ``tA`` (transpose ``A``).

.. function:: symm!(side, ul, alpha, A, B, beta, C)

Update ``C`` as ``alpha*A*B + beta*C`` or ``alpha*B*A + beta*C``
according to ``side``. ``A`` is assumed to be symmetric. Only the
``ul`` triangle of ``A`` is used. Returns the updated ``C``.

.. function:: symm(side, ul, alpha, A, B)

Returns ``alpha*A*B`` or ``alpha*B*A`` according to ``side``.
``A`` is assumed to be symmetric. Only the ``ul`` triangle of
``A`` is used.

.. function:: symm(side, ul, A, B)

Returns ``A*B`` or ``B*A`` according to ``side``. ``A`` is assumed
to be symmetric. Only the ``ul`` triangle of ``A`` is used.

.. function:: symm(tA, tB, alpha, A, B)

Returns ``alpha*A*B`` or the other three variants
according to ``tA`` (transpose ``A``) and ``tB``.

.. function:: symv!(ul, alpha, A, x, beta, y)

Update the vector ``y`` as ``alpha*A*y + beta*y``. ``A`` is assumed
to be symmetric. Only the ``ul`` triangle of ``A`` is used.
Returns the updated ``y``.

.. function:: symv(ul, alpha, A, x)

Returns ``alpha*A*x``. ``A`` is assumed to be symmetric. Only the
``ul`` triangle of ``A`` is used.

.. function:: symv(ul, A, x)

Returns ``A*x``. ``A`` is assumed to be symmetric. Only the
``ul`` triangle of ``A`` is used.

.. function:: trmm!(side, ul, tA, dA, alpha, A, B)

Update ``B`` as ``alpha*A*B`` or one of the other three variants
determined by ``side`` (A on left or right) and ``tA`` (transpose A).
Only the ``ul`` triangle of ``A`` is used. ``dA`` indicates if
``A`` is unit-triangular (the diagonal is assumed to be all ones).
Returns the updated ``B``.

.. function:: trmm(side, ul, tA, dA, alpha, A, B)

Returns ``alpha*A*B`` or one of the other three variants
determined by ``side`` (A on left or right) and ``tA`` (transpose A).
Only the ``ul`` triangle of ``A`` is used. ``dA`` indicates if
``A`` is unit-triangular (the diagonal is assumed to be all ones).

.. function:: trsm!(side, ul, tA, dA, alpha, A, B)

Overwrite ``B`` with the solution to ``A*X = alpha*B`` or one of
the other three variants determined by ``side`` (A on left or
right of ``X``) and ``tA`` (transpose A). Only the ``ul`` triangle
of ``A`` is used. ``dA`` indicates if ``A`` is unit-triangular
(the diagonal is assumed to be all ones). Returns the updated ``B``.

.. function:: trsm(side, ul, tA, dA, alpha, A, B)

Returns the solution to ``A*X = alpha*B`` or one of
the other three variants determined by ``side`` (A on left or
right of ``X``) and ``tA`` (transpose A). Only the ``ul`` triangle
of ``A`` is used. ``dA`` indicates if ``A`` is unit-triangular
(the diagonal is assumed to be all ones).

.. function:: trmv!(side, ul, tA, dA, alpha, A, b)

Update ``b`` as ``alpha*A*b`` or one of the other three variants
determined by ``side`` (A on left or right) and ``tA`` (transpose A).
Only the ``ul`` triangle of ``A`` is used. ``dA`` indicates if
``A`` is unit-triangular (the diagonal is assumed to be all ones).
Returns the updated ``b``.

.. function:: trmv(side, ul, tA, dA, alpha, A, b)

Returns ``alpha*A*b`` or one of the other three variants
determined by ``side`` (A on left or right) and ``tA`` (transpose A).
Only the ``ul`` triangle of ``A`` is used. ``dA`` indicates if
``A`` is unit-triangular (the diagonal is assumed to be all ones).

.. function:: trsv!(side, ul, tA, dA, alpha, A, b)

Overwrite ``b`` with the solution to ``A*X = alpha*b`` or one of
the other three variants determined by ``side`` (A on left or
right of ``X``) and ``tA`` (transpose A). Only the ``ul`` triangle
of ``A`` is used. ``dA`` indicates if ``A`` is unit-triangular
(the diagonal is assumed to be all ones). Returns the updated ``b``.

.. function:: trsv(side, ul, tA, dA, alpha, A, b)

Returns the solution to ``A*X = alpha*b`` or one of
the other three variants determined by ``side`` (A on left or
right of ``X``) and ``tA`` (transpose A). Only the ``ul`` triangle
of ``A`` is used. ``dA`` indicates if ``A`` is unit-triangular
(the diagonal is assumed to be all ones).

.. function:: blas_set_num_threads(n)

Set the number of threads the BLAS library should use.

0 comments on commit e31c323

Please sign in to comment.