Я новичок в lapack и пытаюсь найти определитель матрицы NxN. Я использовал код из dualm.wordpress.com/2012/01/06/computing-determinant-in-fortran/Ошибка в fortran при использовании команды Lapack «zgetrf»
program lapackdet
implicit none
integer :: N
complex, allocatable, dimension(:,:) :: mat
complex :: det
integer :: i, info
integer, allocatable :: ipiv(:)
real :: sgn
N=2
allocate(ipiv(N))
allocate(mat(N,N))
mat=2
mat(1,2)=1
mat(2,1)=1
ipiv=0
call zgetrf(N, N, mat, N, ipiv, info)
do i=1, N
det = det*mat(i,i)
end do
do i=1, N
if(ipiv(i)/=i)then
sgn=-sgn
end if
end do
det=sgn*det
write(*,*) det
end program lapackdet
При использовании этого кода ошибки: "zgetrf", ссылки из: йе в cc8VZrbU.o л.д.: символ (ы) не найдено collect2: л.д. возвращается статус 1 выхода
Я не уверен, что это значит и как это исправить.
Спасибо
Ошибка сбщ означает, что линкер не находит подпрограмму 'zgetrf', что вы вызываете из исходного кода. Вы включаете библиотеку Lapack в свою ссылку? –
Обратите внимание, что 'det' не инициализируется 1. –