sub qrdec.for

来自「非线性回归问题SQP解法」· FOR 代码 · 共 40 行

FOR
40
字号
	SUBROUTINE QRDEC(N,M,NAMAX,R,Q,JRANK,ZERO)
	DOUBLE PRECISION R(NAMAX,N),Q(NAMAX,N),GAMMA,C,S,V,W,ZERO
	LOGICAL JZERO
	JN=MIN0(M,N-1)
	JRANK=0
	DO 2 I=1,N
		DO 1 J=1,N
			Q(I,J)=0.0
1		CONTINUE
		Q(I,I)=1.0D0
2	CONTINUE
	DO 6 I=1,JN
		JZERO=.TRUE.
		DO 5 J=I+1,N
			GAMMA=R(I,I)**2+R(J,I)**2
			IF (GAMMA.LT.ZERO)GOTO 5
			JZERO=.FALSE.
			GAMMA=DSQRT(GAMMA)
			C=R(I,I)/GAMMA
			S=R(J,I)/GAMMA
			DO 3 L=I,M
				V=R(I,L)
				W=R(J,L)
				R(I,L)=C*V+S*W
				R(J,L)=-S*V+C*W
3			CONTINUE
			DO 4 K=1,N
				V=Q(K,I)
				W=Q(K,J)
				Q(K,I)=C*V+S*W
				Q(K,J)=-S*V+C*W
4			CONTINUE
5		CONTINUE
		IF (JZERO)THEN
			JRANK=I
			RETURN
		ENDIF
6	CONTINUE
	RETURN
	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?