EzLAPACK
Loading...
Searching...
No Matches
module_ezmatmul::ezmatmul Interface Reference

Wrapper for the BLAS ( part of LAPACK) *gemm routines that perform matrix-matrix multiplication. These subroutines compute the operation: C = alpha * op(A) * op(B) + beta * C where op(A) and op(B) can be the transpose or the original matrices A and B. It validates the dimensions of the input matrices and provides default values for the scaling factors alpha and beta, as well as the transformation indicators transa and transb, if they are not supplied. More...

Public Member Functions

subroutine ezsgemm (transa, transb, alpha, a, b, beta, c)
 Verifies that the dimensions of the matrices are correct, and calls sgemm with the appropriate arguments based on transa and transb.
 
subroutine ezdgemm (transa, transb, alpha, a, b, beta, c)
 Verifies that the dimensions of the matrices are correct, and calls dgemm with the appropriate arguments based on transa and transb.
 
subroutine ezcgemm (transa, transb, alpha, a, b, beta, c)
 Verifies that the dimensions of the matrices are correct, and calls cgemm with the appropriate arguments based on transa and transb.
 
subroutine ezzgemm (transa, transb, alpha, a, b, beta, c)
 Verifies that the dimensions of the matrices are correct, and calls zgemm with the appropriate arguments based on transa and transb.
 
subroutine ezsgemm_trans_alpha_beta (a, b, c)
 Calls the ezsgemm routines with default values for transa, transb, alpha, and beta ('N', 'N', 1e0 and 0e0, respectively).
 
subroutine ezdgemm_trans_alpha_beta (a, b, c)
 Calls the ezdgemm routines with default values for transa, transb, alpha, and beta ('N', 'N', 1d0 and 0d0, respectively).
 
subroutine ezcgemm_trans_alpha_beta (a, b, c)
 Calls the ezcgemm routines with default values for transa, transb, alpha, and beta ('N', 'N', (1e0,0e0) and (0e0,0e0), respectively).
 
subroutine ezzgemm_trans_alpha_beta (a, b, c)
 Calls the ezzgemm routines with default values for transa, transb, alpha, and beta ('N', 'N', (1d0,0d0) and (0d0,0d0), respectively).
 
subroutine ezsgemm_alpha_beta (transa, transb, a, b, c)
 Calls the ezsgemm routines with default values for alpha and beta (1e0 and 0e0, respectively).
 
subroutine ezdgemm_alpha_beta (transa, transb, a, b, c)
 Calls the ezdgemm routines with default values for alpha and beta (1d0 and 0d0, respectively).
 
subroutine ezcgemm_alpha_beta (transa, transb, a, b, c)
 Calls the ezcgemm routines with default values for alpha and beta ((1e0,0e0) and (0e0,0e0), respectively).
 
subroutine ezzgemm_alpha_beta (transa, transb, a, b, c)
 Calls the ezzgemm routines with default values for alpha and beta ((1d0,0d0) and (0d0,0d0), respectively).
 
subroutine ezsgemm_trans_beta (alpha, a, b, c)
 Calls the ezsgemm routines with default values for transa, transb, and beta ('N', 'N' and 0e0, respectively).
 
subroutine ezdgemm_trans_beta (alpha, a, b, c)
 Calls the ezdgemm routines with default values for transa, transb, and beta ('N', 'N' and 0d0, respectively).
 
subroutine ezcgemm_trans_beta (alpha, a, b, c)
 Calls the ezcgemm routines with default values for transa, transb, and beta ('N', 'N' and (0e0,0e0), respectively).
 
subroutine ezzgemm_trans_beta (alpha, a, b, c)
 Calls the ezzgemm routines with default values for transa, transb, and beta ('N', 'N' and (0d0,0d0), respectively).
 
subroutine ezsgemm_trans_alpha (a, b, beta, c)
 Calls the ezsgemm routines with default values for transa, transb, and alpha ('N', 'N' and 1e0, respectively).
 
subroutine ezdgemm_trans_alpha (a, b, beta, c)
 Calls the ezdgemm routines with default values for transa, transb, and alpha ('N', 'N' and 1d0, respectively).
 
subroutine ezcgemm_trans_alpha (a, b, beta, c)
 Calls the ezcgemm routines with default values for transa, transb, and alpha ('N', 'N' and (1e0,0e0), respectively).
 
subroutine ezzgemm_trans_alpha (a, b, beta, c)
 Calls the ezzgemm routines with default values for transa, transb, and alpha ('N', 'N' and (1d0,0d0), respectively).
 
subroutine ezsgemm_alpha (transa, transb, a, b, beta, c)
 Calls the ezsgemm routines with default values for alpha (1e0).
 
subroutine ezdgemm_alpha (transa, transb, a, b, beta, c)
 Calls the ezdgemm routines with default values for alpha (1d0).
 
subroutine ezcgemm_alpha (transa, transb, a, b, beta, c)
 Calls the ezcgemm routines with default values for alpha ((1e0,0e0)).
 
subroutine ezzgemm_alpha (transa, transb, a, b, beta, c)
 Calls the ezzgemm routines with default values for alpha ((1d0,0d0)).
 
subroutine ezsgemm_beta (transa, transb, alpha, a, b, c)
 Calls the ezsgemm routines with default values for beta (0e0).
 
subroutine ezdgemm_beta (transa, transb, alpha, a, b, c)
 Calls the ezdgemm routines with default values for beta (0d0).
 
subroutine ezcgemm_beta (transa, transb, alpha, a, b, c)
 Calls the ezcgemm routines with default values for beta ((0e0,0e0)).
 
subroutine ezzgemm_beta (transa, transb, alpha, a, b, c)
 Calls the ezzgemm routines with default values for beta ((0d0,0d0)).
 
subroutine ezsgemm_trans (alpha, a, b, beta, c)
 Calls the ezsgemm routines with default values for transa and transb ('N' and 'N', respectively).
 
subroutine ezdgemm_trans (alpha, a, b, beta, c)
 Calls the ezdgemm routines with default values for transa and transb ('N' and 'N', respectively).
 
subroutine ezcgemm_trans (alpha, a, b, beta, c)
 Calls the ezcgemm routines with default values for transa and transb ('N' and 'N', respectively).
 
subroutine ezzgemm_trans (alpha, a, b, beta, c)
 Calls the ezzgemm routines with default values for transa and transb ('N' and 'N', respectively).
 

Detailed Description

Wrapper for the BLAS ( part of LAPACK) *gemm routines that perform matrix-matrix multiplication. These subroutines compute the operation: C = alpha * op(A) * op(B) + beta * C where op(A) and op(B) can be the transpose or the original matrices A and B. It validates the dimensions of the input matrices and provides default values for the scaling factors alpha and beta, as well as the transformation indicators transa and transb, if they are not supplied.

Parameters
[in]transa(Optional, default = 'N') Specifies the operation applied to matrix A:
  • 'N': No transpose
  • 'T': Transpose
  • 'C': Conjugate transpose
[in]transb(Optional, default = 'N') Specifies the operation applied to matrix B:
  • 'N': No transpose
  • 'T': Transpose
  • 'C': Conjugate transpose
[in]alpha(Optional, default = 1) Scalar multiplier for op(A) * op(B).
[in]beta(Optional, default = 0) Scalar multiplier for C.
[in]AInput matrix A with dimensions matching the specified operation.
[in]BInput matrix B with dimensions matching the specified operation.
[in,out]CMatrix C. On input, the initial values of C. On output, the result of the matrix multiplication.
Note
If matrix dimensions are incompatible, an error message is printed, and the computation is skipped.

The documentation for this interface was generated from the following file: