53 SUBROUTINE operatorj (Lm, Ld, Lb, L2, Lbar,Mm, M2, cm, cb, cd, &
54 dbm, dbb, dbd, dmm,dmb,dmd, ddm, ddb, ddd, &
55 am, ab, ad, a2, km, k2, gm, g2, vm, v2, a_eta, a_zeta, &
56 opj,
n, ninv,
r, rinv, q2, qm, w)
63 REAL*8 :: a_eta, a_zeta
65 REAL*8 :: gm, g2, km, k2, vm, v2
67 REAL*8,
DIMENSION(1:6,1:6) :: am, ab, ad, a2
68 REAL*8,
DIMENSION(1:6,1:6) :: lm, ld, lb, l2, lbar
69 REAL*8,
DIMENSION(1:6,1:6) :: mm, m2
70 REAL*8,
DIMENSION(1:6,1:6) :: dbm, dbb, dbd, dmm,dmb,dmd, ddm, ddb, ddd
73 REAL*8,
DIMENSION(1:6,1:6) :: opj ,
test
75 REAL*8,
DIMENSION(1:6,1:6) ::
n, ninv,
r, w, rinv
77 REAL*8,
DIMENSION(1:6,1:6) :: atmp, lr_lbarinv
78 REAL*8,
DIMENSION(1:6,1:6) :: bm, bb, bd
79 REAL*8,
DIMENSION(1:6,1:6) :: qm, qb, qd, q2
81 REAL*8,
DIMENSION(1:6,1:6) :: ident = reshape( &
82 (/1.d0, 0.d0, 0.d0, 0.d0, 0.d0, 0.d0, &
83 0.d0, 1.d0, 0.d0, 0.d0, 0.d0, 0.d0, &
84 0.d0, 0.d0, 1.d0, 0.d0, 0.d0, 0.d0, &
85 0.d0, 0.d0, 0.d0, 1.d0, 0.d0, 0.d0, &
86 0.d0, 0.d0, 0.d0, 0.d0, 1.d0, 0.d0, &
87 0.d0, 0.d0, 0.d0, 0.d0, 0.d0, 1.d0 /),(/6,6/) )
92 CALL
constant_w(gm, g2, k2, km, a_eta, a_zeta, vm, v2, w)
97 n = matmul(l2,ddd - ident) - matmul(w,matmul(lm,dmd))
103 r = matmul(w,matmul(lm,am)) - matmul(l2,a2)
111 CALL
invert2( atmp, lr_lbarinv, 6)
113 qm = matmul((ident - am),lr_lbarinv)
118 CALL
invert2( atmp, lr_lbarinv, 6)
120 q2 = matmul(ident - a2,lr_lbarinv)
143 bm = matmul(l2,q2) - matmul(w, matmul(lm,qm) )
151 bm = matmul(bm,transpose(a2))
164 bb = matmul(l2,q2) - matmul(w, matmul(lm,qm) )
172 bb = matmul(bb,transpose(a2))
184 bd = matmul(l2,q2) - matmul(w, matmul(lm,qm) )
188 bd = matmul(ddd - ident,bd)
192 bd = matmul(bd,transpose(a2))
205 opj = matmul( ( ddd - ident) - dbd, ninv)
207 opj = matmul( l2, opj)
209 opj = matmul( opj,
r)
212 opj = cm*matmul(lm,bm) + cb*matmul(l2,bb) + cd*matmul(l2,bd) + opj
subroutine constant_w(Gm, G2, K2, Km, a_eta, a_zeta, vm, v2, W)
subroutine operatorj(Lm, Ld, Lb, L2, Lbar, Mm, M2, cm, cb, cd, Dbm, Dbb, Dbd, Dmm, Dmb, Dmd, Ddm, Ddb, Ddd, Am, Ab, Ad, A2, Km, K2, Gm, G2, vm, v2, a_eta, a_zeta, OpJ, N, Ninv, R, Rinv, Q2, Qm, W)
subroutine invert2(Inv_in, a, nrow)