public interface stdlib_matmul
Summary
compute the matrix multiplication of more than two matrices with a single function call.
(Specification)
Description
matrix multiply more than two matrices with a single function call
the multiplication with the optimal parenthesization for efficiency of computation is done automatically
Supported data types are real and complex.
Note: The matrices must be of compatible shapes to be multiplied
Functions
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
|
type(linalg_state_type),
|
intent(out) |
|
|
:: |
err |
|
Return Value
complex(kind=dp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
|
type(linalg_state_type),
|
intent(out) |
|
|
:: |
err |
|
Return Value
complex(kind=sp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
|
type(linalg_state_type),
|
intent(out) |
|
|
:: |
err |
|
Return Value
real(kind=dp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
complex(kind=dp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
Return Value
complex(kind=dp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
complex(kind=sp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
Return Value
complex(kind=sp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
real(kind=dp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
Return Value
real(kind=dp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
Return Value
real(kind=sp), allocatable, (:,:)
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
m1(:,:) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
m2(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
m3(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
m4(:,:) |
|
|
real(kind=sp),
|
intent(in), |
optional |
|
:: |
m5(:,:) |
|
|
type(linalg_state_type),
|
intent(out) |
|
|
:: |
err |
|
Return Value
real(kind=sp), allocatable, (:,:)