blas_interfaces Module

Double precision interfaces for the BLAS procedures used by hompack.


Uses

  • module~~blas_interfaces~~UsesGraph module~blas_interfaces blas_interfaces module~hompack_kinds hompack_kinds module~blas_interfaces->module~hompack_kinds iso_fortran_env iso_fortran_env module~hompack_kinds->iso_fortran_env

Interfaces

interface

  • public pure function ddot(n, x, incx, y, incy)

    Inner product of vectors.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx
    real(kind=dp), intent(in) :: y(*)
    integer, intent(in) :: incy

    Return Value real(kind=dp)

interface

  • public pure function dasum(n, x, incx)

    Sum of magnitudes of vector components.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx

    Return Value real(kind=dp)

interface

  • public pure function dnrm2(n, x, incx)

    Euclidean length (L2 Norm) of vector.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx

    Return Value real(kind=dp)

interface

  • public pure function idamax(n, x, incx)

    Find largest component of vector.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx

    Return Value integer

interface

  • public pure subroutine daxpy(n, a, x, incx, y, incy)

    Computation Y = A*X + Y.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: a
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx
    real(kind=dp), intent(inout) :: y(*)
    integer, intent(in) :: incy

interface

  • public pure subroutine dcopy(n, x, incx, y, incy)

    Vector copy Y = X.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx
    real(kind=dp), intent(inout) :: y(*)
    integer, intent(in) :: incy

interface

  • public pure subroutine dgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)

    Matrix-matrix operation C = alpha*op(A)*op(B) + beta*C.

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: transa
    character(len=1), intent(in) :: transb
    integer, intent(in) :: m
    integer, intent(in) :: n
    integer, intent(in) :: k
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in) :: a(lda,*)
    integer, intent(in) :: lda
    real(kind=dp), intent(in) :: b(ldb,*)
    integer, intent(in) :: ldb
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout) :: c(ldc,*)
    integer, intent(in) :: ldc

interface

  • public pure subroutine dgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)

    Matrix-vector operation y = alpha*A*x + beta*y.

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: trans
    integer, intent(in) :: m
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in) :: a(lda,*)
    integer, intent(in) :: lda
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx
    real(kind=dp), intent(in) :: beta
    real(kind=dp), intent(inout) :: y(*)
    integer, intent(in) :: incy

interface

  • public pure subroutine dger(m, n, alpha, x, incx, y, incy, a, lda)

    Rank-1 update A = alpha*x*y**T + A.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: m
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx
    real(kind=dp), intent(in) :: y(*)
    integer, intent(in) :: incy
    real(kind=dp), intent(inout) :: a(lda,*)
    integer, intent(in) :: lda

interface

  • public pure subroutine dscal(n, a, x, incx)

    Vector scale X = A*X.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: a
    real(kind=dp), intent(inout) :: x(*)
    integer, intent(in) :: incx

interface

  • public pure subroutine dswap(n, x, incx, y, incy)

    Interchange vectors.

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: x(*)
    integer, intent(in) :: incx
    real(kind=dp), intent(inout) :: y(*)
    integer, intent(in) :: incy

interface

  • public pure subroutine dtpmv(uplo, trans, diag, n, ap, x, incx)

    Triangular packed matrix-vector operation x = A*x or x = A**T*x.

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: uplo
    character(len=1), intent(in) :: trans
    character(len=1), intent(in) :: diag
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: ap(*)
    real(kind=dp), intent(inout) :: x(*)
    integer, intent(in) :: incx

interface

  • public pure subroutine dtpsv(uplo, trans, diag, n, ap, x, incx)

    Solve triangular packed system A*x = b or A**T*x = b.

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: uplo
    character(len=1), intent(in) :: trans
    character(len=1), intent(in) :: diag
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: ap(*)
    real(kind=dp), intent(inout) :: x(*)
    integer, intent(in) :: incx

interface

  • public pure subroutine dtrmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)

    Triangular matrix-matrix operation B = alpha*op(A)*B or B = alpha*B*op(A).

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: side
    character(len=1), intent(in) :: uplo
    character(len=1), intent(in) :: transa
    character(len=1), intent(in) :: diag
    integer, intent(in) :: m
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: alpha
    real(kind=dp), intent(in) :: a(lda,*)
    integer, intent(in) :: lda
    real(kind=dp), intent(inout) :: b(ldb,*)
    integer, intent(in) :: ldb

interface

  • public pure subroutine dtrsv(uplo, trans, diag, n, a, lda, x, incx)

    Solve triangular system A*x = b or A**T*x = b.

    Arguments

    Type IntentOptional Attributes Name
    character(len=1), intent(in) :: uplo
    character(len=1), intent(in) :: trans
    character(len=1), intent(in) :: diag
    integer, intent(in) :: n
    real(kind=dp), intent(in) :: a(lda,*)
    integer, intent(in) :: lda
    real(kind=dp), intent(inout) :: x(*)
    integer, intent(in) :: incx