[Fortran] 纯文本查看 复制代码
!***********************************************************************************
complex(8),allocatable :: A (:,:),tau(:) ,work(:)
integer mm,nn,lwork, lda, info ,i,j
mm=4
nn=3
lda=4
lwork=4
allocate(A(lda,nn), tau(min(mm,nn)),work(lwork))
do i=1,mm
do j=1,nn
A(i,j)=i+j
end do
end do
call zgeqrf(mm,nn,A,lda,tau,work,lwork,info)!*****上述代码运行完只能从A矩阵中找到R矩阵的结果,但是不知道Q如何获取
[Fortran] 纯文本查看 复制代码
complex(8),allocatable::r(:,:)
allocate(r(nn,nn))
r=0.d0
do i=1,nn
r(i,i:nn)=A(i,i:nn)
end do
[Fortran] 纯文本查看 复制代码
call zungqr(mm,nn,nn,a,lda,tau,work,lwork,info)