主题:这样的do循环有影响 吗
t0=energy1-h0
t0=.i.t0
t0=t0.x.h2 !求t0
t1=transpose(t0) !t0转置
tt=t0
tt_=t1
do i=2,n
if (all(t0<eps).or. all(t1<eps)) exit
t3=energy1-t0.x.t1-t1.x.t0
t3=.i.t3
t0=t3.x.(t0**2) !ti
t2=t1.x.t0
tt=tt+t2
t1=t1.x.(transpose(t0)) !ti的转置乘积
end do
do i=2,n
if (all(t0<eps).or. all(t1<eps)) exit
t4=energy1-t0.x.t1-t1.x.t0
t4=.i.t4
t1=t4.x.(transpose(t0**2))
t2=t0.x.t1
tt_=tt_+t2
t0=t0.x.(transpose(t1))
end do
前面是赋初始值,后面两个do循环能都用这个初始值不?两个循环互不影响吧?不会发生第一个循环得到的值在第二个循环里用吧?
t0=.i.t0
t0=t0.x.h2 !求t0
t1=transpose(t0) !t0转置
tt=t0
tt_=t1
do i=2,n
if (all(t0<eps).or. all(t1<eps)) exit
t3=energy1-t0.x.t1-t1.x.t0
t3=.i.t3
t0=t3.x.(t0**2) !ti
t2=t1.x.t0
tt=tt+t2
t1=t1.x.(transpose(t0)) !ti的转置乘积
end do
do i=2,n
if (all(t0<eps).or. all(t1<eps)) exit
t4=energy1-t0.x.t1-t1.x.t0
t4=.i.t4
t1=t4.x.(transpose(t0**2))
t2=t0.x.t1
tt_=tt_+t2
t0=t0.x.(transpose(t1))
end do
前面是赋初始值,后面两个do循环能都用这个初始值不?两个循环互不影响吧?不会发生第一个循环得到的值在第二个循环里用吧?