23 SUBROUTINE cpoly (M, A, LDA, N, V, P, LDP, B)
27 INTEGER m, n, lda, ldp
28 COMPLEX a(lda*m), v(n), p(ldp*m), b(1)
29 INTEGER i, k, ns, nr, nqsr, mm, nrm, nwrk
30 COMPLEX cone /(1.,0.)/, czero /(0.,0.)/
34 INTEGER floor, ceiling
39 CALL cscal(mm, czero, p, 1)
49 ns = ceiling(dsqrt(q))
50 nr = floor(q / dfloat(ns))
51 nqsr = n - 1 - ns * nr
52 nrm = (nr + 1) * mm + 1
55 DO 15 i = mm + 1, nwrk
59 CALL
ccopym(m, m, a, lda, b, m)
62 DO 30 i = 1, mm, m + 1
63 b(mm * k + i) = v(ns * k + 1)
68 CALL
caxpym(m, m, v(i + 1), b, m, p, ldp)
71 CALL caxpy(mm, v(ns * k + i + 1), b, 1,
76 CALL caxpy(mm, v(ns * nr + i + 1), b, 1,
80 CALL ccopy(mm, b, 1, b(nrm), 1)
81 CALL cgemm(trans, trans, m, m, m, cone, b(nrm), m, a, lda,
85 CALL cgemm(trans, trans, m, m, m, cone, b(mm + 1), m,
89 IF (nr .GT. 1) CALL ccopy(mm, b, 1, b(nrm), 1)
92 CALL ccopy(mm, b, 1, b(mm + 1), 1)
93 CALL cgemm(trans, trans, m, m, m, cone, b(mm + 1), m,
94 1 b(nrm), m, czero, b, m)
95 CALL cgemm(trans, trans, m, m, m, cone, b(k * mm + 1), m,