3 #include "gmx_lapack.h"
7 F77_FUNC(dlabrd,DLABRD)(int *m,
21 int a_dim1, a_offset, x_dim1, x_offset, y_dim1, y_offset;
24 double minusone = -1.0;
30 a_offset = 1 + a_dim1;
37 x_offset = 1 + x_dim1;
40 y_offset = 1 + y_dim1;
43 if (*m <= 0 || *n <= 0) {
50 for (i__ = 1; i__ <= i__1; ++i__) {
54 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &a[i__ + a_dim1], lda,
55 &y[i__ + y_dim1], ldy, &one, &a[i__ + i__ * a_dim1], &c__1);
58 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &x[i__ + x_dim1], ldx,
59 &a[i__*a_dim1+1],&c__1,&one,&a[i__+i__*a_dim1],&c__1);
65 F77_FUNC(dlarfg,DLARFG)(&i__2, &a[i__ + i__ * a_dim1], &a[i__3 + i__ * a_dim1],
67 d__[i__] = a[i__ + i__ * a_dim1];
69 a[i__ + i__ * a_dim1] = 1.;
73 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &one, &a[i__ + (i__ + 1) *
74 a_dim1], lda, &a[i__ + i__ * a_dim1], &c__1, &zero, &
75 y[i__ + 1 + i__ * y_dim1], &c__1);
78 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &one, &a[i__ + a_dim1],
79 lda, &a[i__ + i__ * a_dim1], &c__1, &zero, &y[i__ *
83 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &y[i__ + 1 +
84 y_dim1], ldy, &y[i__ * y_dim1 + 1], &c__1, &one, &y[
85 i__ + 1 + i__ * y_dim1], &c__1);
88 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &one, &x[i__ + x_dim1],
89 ldx, &a[i__ + i__ * a_dim1], &c__1, &zero, &y[i__ *
93 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &minusone, &a[(i__ + 1) *
94 a_dim1 + 1], lda, &y[i__ * y_dim1 + 1], &c__1, &one,
95 &y[i__ + 1 + i__ * y_dim1], &c__1);
97 F77_FUNC(dscal,DSCAL)(&i__2, &tauq[i__], &y[i__ + 1 + i__ * y_dim1], &c__1);
100 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__, &minusone, &y[i__ + 1 +
101 y_dim1], ldy, &a[i__ + a_dim1], lda, &one, &a[i__ + (
102 i__ + 1) * a_dim1], lda);
105 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &minusone, &a[(i__ + 1) *
106 a_dim1 + 1], lda, &x[i__ + x_dim1], ldx, &one, &a[
107 i__ + (i__ + 1) * a_dim1], lda);
113 F77_FUNC(dlarfg,DLARFG)(&i__2, &a[i__ + (i__ + 1) * a_dim1],
114 &a[i__ + i__3 * a_dim1], lda, &taup[i__]);
115 e[i__] = a[i__ + (i__ + 1) * a_dim1];
116 a[i__ + (i__ + 1) * a_dim1] = 1.;
120 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &one, &a[i__ + 1 + (i__
121 + 1) * a_dim1], lda, &a[i__ + (i__ + 1) * a_dim1],
122 lda, &zero, &x[i__ + 1 + i__ * x_dim1], &c__1);
124 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__, &one, &y[i__ + 1 + y_dim1],
125 ldy, &a[i__ + (i__ + 1) * a_dim1], lda, &zero, &x[
126 i__ * x_dim1 + 1], &c__1);
128 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__, &minusone, &a[i__ + 1 +
129 a_dim1], lda, &x[i__ * x_dim1 + 1], &c__1, &one, &x[
130 i__ + 1 + i__ * x_dim1], &c__1);
133 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &one, &a[(i__ + 1) *
134 a_dim1 + 1], lda, &a[i__ + (i__ + 1) * a_dim1], lda, &
135 zero, &x[i__ * x_dim1 + 1], &c__1);
138 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &x[i__ + 1 +
139 x_dim1], ldx, &x[i__ * x_dim1 + 1], &c__1, &one, &x[
140 i__ + 1 + i__ * x_dim1], &c__1);
142 F77_FUNC(dscal,DSCAL)(&i__2, &taup[i__], &x[i__ + 1 + i__ * x_dim1], &c__1);
148 for (i__ = 1; i__ <= i__1; ++i__) {
152 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &y[i__ + y_dim1], ldy,
153 &a[i__ + a_dim1], lda, &one, &a[i__ + i__ * a_dim1],lda);
156 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &minusone, &a[i__ * a_dim1 + 1],
157 lda, &x[i__ + x_dim1], ldx, &one,&a[i__+i__*a_dim1],lda);
163 F77_FUNC(dlarfg,DLARFG)(&i__2, &a[i__ + i__ * a_dim1],
164 &a[i__ + i__3 * a_dim1], lda, &taup[i__]);
165 d__[i__] = a[i__ + i__ * a_dim1];
167 a[i__ + i__ * a_dim1] = 1.;
171 F77_FUNC(dgemv,DGEMV)("No transpose",&i__2,&i__3,&one,&a[i__+1+i__*a_dim1],
172 lda, &a[i__ + i__ * a_dim1], lda, &zero,
173 &x[i__ + 1 + i__ * x_dim1], &c__1);
176 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &one, &y[i__ + y_dim1],
177 ldy, &a[i__ + i__ * a_dim1], lda, &zero, &x[i__ *
181 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &a[i__ + 1 +
182 a_dim1], lda, &x[i__ * x_dim1 + 1], &c__1, &one, &x[
183 i__ + 1 + i__ * x_dim1], &c__1);
186 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &one, &a[i__ * a_dim1 +
187 1], lda, &a[i__ + i__ * a_dim1], lda, &zero, &x[i__ *
191 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &x[i__ + 1 +
192 x_dim1], ldx, &x[i__ * x_dim1 + 1], &c__1, &one, &x[
193 i__ + 1 + i__ * x_dim1], &c__1);
195 F77_FUNC(dscal,DSCAL)(&i__2, &taup[i__], &x[i__ + 1 + i__ * x_dim1], &c__1);
199 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &a[i__ + 1 +
200 a_dim1], lda, &y[i__ + y_dim1], ldy, &one, &a[i__ +
201 1 + i__ * a_dim1], &c__1);
203 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__, &minusone, &x[i__ + 1 +
204 x_dim1], ldx, &a[i__ * a_dim1 + 1], &c__1, &one, &a[
205 i__ + 1 + i__ * a_dim1], &c__1);
211 F77_FUNC(dlarfg,DLARFG)(&i__2, &a[i__ + 1 + i__ * a_dim1],
212 &a[i__3 + i__ * a_dim1], &c__1, &tauq[i__]);
213 e[i__] = a[i__ + 1 + i__ * a_dim1];
214 a[i__ + 1 + i__ * a_dim1] = 1.;
218 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &one, &a[i__ + 1 + (i__ +
219 1) * a_dim1], lda, &a[i__ + 1 + i__ * a_dim1], &c__1,
220 &zero, &y[i__ + 1 + i__ * y_dim1], &c__1);
223 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__3, &one, &a[i__ + 1 + a_dim1],
224 lda, &a[i__ + 1 + i__ * a_dim1], &c__1, &zero, &y[
225 i__ * y_dim1 + 1], &c__1);
228 F77_FUNC(dgemv,DGEMV)("No transpose", &i__2, &i__3, &minusone, &y[i__ + 1 +
229 y_dim1], ldy, &y[i__ * y_dim1 + 1], &c__1, &one, &y[
230 i__ + 1 + i__ * y_dim1], &c__1);
232 F77_FUNC(dgemv,DGEMV)("Transpose", &i__2, &i__, &one, &x[i__ + 1 + x_dim1],
233 ldx, &a[i__ + 1 + i__ * a_dim1], &c__1, &zero, &y[
234 i__ * y_dim1 + 1], &c__1);
236 F77_FUNC(dgemv,DGEMV)("Transpose", &i__, &i__2, &minusone, &a[(i__ + 1) * a_dim1
237 + 1], lda, &y[i__ * y_dim1 + 1], &c__1, &one, &y[i__
238 + 1 + i__ * y_dim1], &c__1);
240 F77_FUNC(dscal,DSCAL)(&i__2, &tauq[i__], &y[i__ + 1 + i__ * y_dim1], &c__1);