36 subroutine bmv(m, sy, wt, col, v, p)
39 double precision sy(m, m), wt(m, m), v(2*col), p(2*col)
55 double precision sum,one
58 if (col .eq. 0)
return
64 p(col + 1) = v(col + 1)
69 sum = sum + sy(i,k)*v(k)/sy(k,k)
74 call dtrsm(
'l',
'u',
't',
'n',col,1,one,wt,m,p(col+1),col)
78 p(i) = v(i)/sqrt(sy(i,i))
85 call dtrsm(
'l',
'u',
'n',
'n',col,1,one,wt,m,p(col+1),col)
90 p(i) = -p(i)/sqrt(sy(i,i))
95 sum = sum + sy(k,i)*p(col+k)/sy(i,i)
subroutine bmv(m, sy, wt, col, v, p)
This subroutine computes the product of the 2m x 2m middle matrix in the compact L-BFGS formula of B ...