Фортран Матрикс Дивизион

Я пытаюсь разделить матрицы в Фортране (f90). X=R/Z => X[6x1], R[6x6] и Z[6x1] - матрицы.

Обычно в Matlab Вы можете написать это уравнение и просто, но в Фортране немного по-другому, потому что Фортран не имеет каких-либо свойств деления, поэтому мне нужно взять обратную матрицу 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

0 ответов

Другие вопросы по тегам