我试图在Fortran(f90)中划分矩阵。 X = R / Z => X [6x1],R [6x6]和Z [6x1]是矩阵。
通常在Matlab中,你可以编写那个方程式并且容易但在Fortran中有点不同,因为Fortran没有任何除法属性,所以我需要取Z矩阵的逆(X = R * Z ^ -1)。
问题是矩阵形状,因为这里Z矩阵(6x1)而不是正方形,所以我不能反过来。是否有任何准备好的除法功能以及如果矩阵的逆矩阵不是正方形,如何处理?
program main
implicit none
real, dimension(6,1) :: X
real, dimension(6,6) :: R
real, dimension(6,1) :: Z
real, dimension(6,1) :: Z_inv
!X=R/Z
call mat_inverse(Z) ! Please ignore inverse part
Z_inv=Z ! Mat_inverse function is already defined in math
! Kernel Library but I just call that mat_inverse
! Because I call mat_inverse subroutine
! X=R*Z^-1
X=Matmul(R,Z_inv)
end program main