fortran-lapack
Loading...
Searching...
No Matches
la_blas_level3_gen Module Reference

BLAS level 3: general and Hermitian matrix-matrix operations. More...

Functions/Subroutines

pure subroutine, public la_sgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 SGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
 
pure subroutine, public la_dgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 DGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
 
pure subroutine, public la_qgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 QGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
 
pure subroutine, public la_cgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 CGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T or op( X ) = X**H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
 
pure subroutine, public la_zgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 ZGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T or op( X ) = X**H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
 
pure subroutine, public la_wgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 WGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T or op( X ) = X**H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
 
pure subroutine, public la_chemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
 CHEMM: performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.
 
pure subroutine, public la_zhemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
 ZHEMM: performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.
 
pure subroutine, public la_whemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
 WHEMM: performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.
 
pure subroutine, public la_cher2k (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 CHER2K: performs one of the hermitian rank 2k operations C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C, or C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.
 
pure subroutine, public la_zher2k (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 ZHER2K: performs one of the hermitian rank 2k operations C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C, or C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.
 
pure subroutine, public la_wher2k (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 WHER2K: performs one of the hermitian rank 2k operations C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C, or C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.
 
pure subroutine, public la_cherk (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
 CHERK: performs one of the hermitian rank k operations C := alpha*A*A**H + beta*C, or C := alpha*A**H*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.
 
pure subroutine, public la_zherk (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
 ZHERK: performs one of the hermitian rank k operations C := alpha*A*A**H + beta*C, or C := alpha*A**H*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.
 
pure subroutine, public la_wherk (uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
 WHERK: performs one of the hermitian rank k operations C := alpha*A*A**H + beta*C, or C := alpha*A**H*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.
 

Detailed Description

BLAS level 3: general and Hermitian matrix-matrix operations.

Function/Subroutine Documentation

◆ la_cgemm()

pure subroutine, public la_blas_level3_gen::la_cgemm ( character, intent(in) transa,
character, intent(in) transb,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
complex(sp), intent(in) alpha,
complex(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(sp), intent(in) beta,
complex(sp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

CGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T or op( X ) = X**H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Here is the call graph for this function:

◆ la_chemm()

pure subroutine, public la_blas_level3_gen::la_chemm ( character, intent(in) side,
character, intent(in) uplo,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
complex(sp), intent(in) alpha,
complex(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(sp), intent(in) beta,
complex(sp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

CHEMM: performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

Here is the call graph for this function:

◆ la_cher2k()

pure subroutine, public la_blas_level3_gen::la_cher2k ( character, intent(in) uplo,
character, intent(in) trans,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
complex(sp), intent(in) alpha,
complex(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(sp), intent(in) beta,
complex(sp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

CHER2K: performs one of the hermitian rank 2k operations C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C, or C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

Here is the call graph for this function:

◆ la_cherk()

pure subroutine, public la_blas_level3_gen::la_cherk ( character, intent(in) uplo,
character, intent(in) trans,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
real(sp), intent(in) alpha,
complex(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(sp), intent(in) beta,
complex(sp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

CHERK: performs one of the hermitian rank k operations C := alpha*A*A**H + beta*C, or C := alpha*A**H*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

Here is the call graph for this function:

◆ la_dgemm()

pure subroutine, public la_blas_level3_gen::la_dgemm ( character, intent(in) transa,
character, intent(in) transb,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
real(dp), intent(in) alpha,
real(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(dp), intent(in) beta,
real(dp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

DGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Here is the call graph for this function:

◆ la_qgemm()

pure subroutine, public la_blas_level3_gen::la_qgemm ( character, intent(in) transa,
character, intent(in) transb,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
real(qp), intent(in) alpha,
real(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(qp), intent(in) beta,
real(qp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

QGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Here is the call graph for this function:

◆ la_sgemm()

pure subroutine, public la_blas_level3_gen::la_sgemm ( character, intent(in) transa,
character, intent(in) transb,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
real(sp), intent(in) alpha,
real(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(sp), intent(in) beta,
real(sp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

SGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Here is the call graph for this function:

◆ la_wgemm()

pure subroutine, public la_blas_level3_gen::la_wgemm ( character, intent(in) transa,
character, intent(in) transb,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
complex(qp), intent(in) alpha,
complex(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(qp), intent(in) beta,
complex(qp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

WGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T or op( X ) = X**H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Here is the call graph for this function:

◆ la_whemm()

pure subroutine, public la_blas_level3_gen::la_whemm ( character, intent(in) side,
character, intent(in) uplo,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
complex(qp), intent(in) alpha,
complex(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(qp), intent(in) beta,
complex(qp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

WHEMM: performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

Here is the call graph for this function:

◆ la_wher2k()

pure subroutine, public la_blas_level3_gen::la_wher2k ( character, intent(in) uplo,
character, intent(in) trans,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
complex(qp), intent(in) alpha,
complex(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(qp), intent(in) beta,
complex(qp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

WHER2K: performs one of the hermitian rank 2k operations C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C, or C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

Here is the call graph for this function:

◆ la_wherk()

pure subroutine, public la_blas_level3_gen::la_wherk ( character, intent(in) uplo,
character, intent(in) trans,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
real(qp), intent(in) alpha,
complex(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(qp), intent(in) beta,
complex(qp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

WHERK: performs one of the hermitian rank k operations C := alpha*A*A**H + beta*C, or C := alpha*A**H*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

Here is the call graph for this function:

◆ la_zgemm()

pure subroutine, public la_blas_level3_gen::la_zgemm ( character, intent(in) transa,
character, intent(in) transb,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
complex(dp), intent(in) alpha,
complex(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(dp), intent(in) beta,
complex(dp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

ZGEMM: performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X**T or op( X ) = X**H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Here is the call graph for this function:

◆ la_zhemm()

pure subroutine, public la_blas_level3_gen::la_zhemm ( character, intent(in) side,
character, intent(in) uplo,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
complex(dp), intent(in) alpha,
complex(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(dp), intent(in) beta,
complex(dp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

ZHEMM: performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

Here is the call graph for this function:

◆ la_zher2k()

pure subroutine, public la_blas_level3_gen::la_zher2k ( character, intent(in) uplo,
character, intent(in) trans,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
complex(dp), intent(in) alpha,
complex(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(dp), intent(in) beta,
complex(dp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

ZHER2K: performs one of the hermitian rank 2k operations C := alpha*A*B**H + conjg( alpha )*B*A**H + beta*C, or C := alpha*A**H*B + conjg( alpha )*B**H*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

Here is the call graph for this function:

◆ la_zherk()

pure subroutine, public la_blas_level3_gen::la_zherk ( character, intent(in) uplo,
character, intent(in) trans,
integer(ilp), intent(in) n,
integer(ilp), intent(in) k,
real(dp), intent(in) alpha,
complex(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(dp), intent(in) beta,
complex(dp), dimension(ldc,*), intent(inout) c,
integer(ilp), intent(in) ldc )

ZHERK: performs one of the hermitian rank k operations C := alpha*A*A**H + beta*C, or C := alpha*A**H*A + beta*C, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

Here is the call graph for this function: