operator(.m.) Interface

public interface operator(.m.)

Operators for efficient matrix multiplication with LAPACK, but better readibility. (It is assumed that the dimensionality fits.)

multiply two real square matrices or a square matrix times a vector AB= A .m. B or Av= A .m. v


Module Procedures

private function mult_real_matrix_matrix(a, b) result(c)

Arguments

Type IntentOptional Attributes Name
real(kind=long), intent(in) :: a(:,:)
real(kind=long), intent(in) :: b(:,:)

Return Value real(kind=long), (size(a,dim=1),size(b,dim=2))

private function mult_real_matrix_vector(a, b) result(c)

Arguments

Type IntentOptional Attributes Name
real(kind=long), intent(in) :: a(:,:)
real(kind=long), intent(in) :: b(:)

Return Value real(kind=long), (size(a,dim=1))