24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 513  |  回复: 0

chaoszero253

新虫 (初入文坛)

[求助] 关于Jacobi法矩阵对角化

想用fortran语言通过Jacobi方法对角化一个对称矩阵,但是求出来的结果和matlab内置的对角化程序员结果不一样。请问我的对角化程序是哪里出问题了。

subroutine SOLVE(A,N,tezheng,tol)
      !jacobi法对角化
      implicit real*8(a-z)
      integer::N
      real*8::A(N,N),tezheng(N)
      real*8::A1(N,N),R(N,N),RT(N,N),U(N,N),thi(N,N)
      integer::i,j,k,m,c,b,z,t
      integer::p,q,x,y
      real*8 sum
      do i=1,N
          do j=1,N
              A1(i,j)=A(i,j)
          end do
      end do
      k=0
      p=0
      m=1
      do while(m==1)
          m=0
          do i=1,N-1
              do j=i+1,N
                  R=0
                  do q=1,N
                      R(q,q)=1
                  end do
                  if(abs(A1(i,j))>tol) then
                      m=1
!         判断非对角矩阵元是否大于给出的阈值,如果是则建立旋转矩阵R来归零矩阵元
                      if(A1(i,i)==A1(j,j))then
                          R(i,i)=1/1.41421356
                          R(j,j)=1/1.41421356
                          R(i,j)=1/1.41421356
                          R(j,i)=-1/1.41421356
                      else
                          thi(i,j)=0.5*atan(2*A1(i,j)/(A1(i,i)-A1(j,j)))
                          R(i,i)=cos(thi(i,j))
                          R(j,j)=cos(thi(i,j))
                          R(i,j)=-sin(thi(i,j))
                          R(j,i)=sin(thi(i,j))
                      end if
                      do x=1,N
                          do y=1,N
                              RT(x,y)=R(y,x)
                          end do
                      end do
                      U=matmul(RT,A1)
                      A1=matmul(U,R)
                  end if
              end do
          end do
          p=p+1
          print *,p
          if (p==100) exit
      end do
      do i=1,N
          tezheng(i)=A1(i,i)
      end do
    end subroutine SOLVE
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chaoszero253 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿武理车辆专硕总分 281 求调剂 +3 上岸研究生. 2026-04-02 3/150 2026-04-06 16:46 by 小月儿呀呀
[考研] 288环境专硕,求调材料方向 +16 lllllos 2026-04-04 18/900 2026-04-06 16:41 by 蓝云思雨
[考研] 288求调剂 +8 没有答案_ 2026-04-05 8/400 2026-04-06 14:11 by lqwchd
[考研] 求调剂,一志愿厦门大学,生物与医药,总分272,本科211 +4 Electron1cc 2026-04-01 5/250 2026-04-06 10:45 by barlinike
[考研] 一志愿南京航空航天大学 材料与化工329分求调剂 +8 Mr. Z 2026-04-05 8/400 2026-04-06 09:24 by dongzh2009
[考研] 338求调剂 +3 我想上岸ii 2026-04-05 3/150 2026-04-05 19:59 by nepu_uu
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +10 大火山小火山 2026-04-05 10/500 2026-04-05 19:58 by 小蜗牛小蜗牛
[考研] 一志愿西北农林畜牧专硕336分求调剂 +3 5ourr 2026-04-03 3/150 2026-04-05 10:40 by JOKER0401
[考研] 316求调剂 +9 墨辰_Orion926 2026-04-04 9/450 2026-04-04 21:35 by lbsjt
[考研] 272求调剂 +4 松柏常青5 2026-04-03 4/200 2026-04-04 17:03 by babysonlkd
[考研] 考研调剂 +3 15615482637 2026-04-03 3/150 2026-04-03 22:50 by ms629
[考研] 一志愿中国石油大学化学工程323分求调剂 +4 化工专硕323分 2026-04-03 6/300 2026-04-03 22:12 by dongzh2009
[考研] 288求调剂 一志愿哈工大 材料与化工 +39 洛神哥哥 2026-03-31 41/2050 2026-04-03 21:51 by qlm5820
[考研] 315求调剂 +6 顺理成张 2026-04-03 8/400 2026-04-03 14:04 by 百灵童888
[考研] 282求调剂 +5 呼吸都是减肥 2026-03-31 5/250 2026-04-03 12:03 by 1753564080
[考研] 319求调剂 +18 太容易1018 2026-04-01 18/900 2026-04-03 11:18 by linyelide
[考研] 一志愿安徽大学0817化学工程与技术,求调剂 +14 我不是只因 2026-04-02 15/750 2026-04-03 09:49 by 蓝云思雨
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-04-02 3/150 2026-04-02 15:06 by cal0306
[考研] 学硕化学工程与技术,一志愿中国海洋大学320+求调剂 +8 披星河 2026-04-02 8/400 2026-04-02 14:12 by oooqiao
[考研] 261求B区调剂 +5 明仔· 2026-04-01 7/350 2026-04-02 11:17 by 邹尉尉
信息提示
请填处理意见