File |
Line |
de/xypron/jcobyla/Cobyla.java |
817 |
de/xypron/jcobyla/Cobyla.java |
953 |
double sp = dotProduct(part(col(z, k), 1, n), part(col(a, kk), 1, n));
temp = Math.sqrt(sp * sp + zdota[kp] * zdota[kp]);
double alpha = zdota[kp] / temp;
double beta = sp / temp;
zdota[kp] = alpha * zdota[k];
zdota[k] = temp;
for (int i = 1; i <= n; ++i) {
temp = alpha * z[i][kp] + beta * z[i][k];
z[i][kp] = alpha * z[i][k] - beta * z[i][kp];
z[i][k] = temp;
}
iact[k] = kk; |
File |
Line |
de/xypron/jcobyla/Cobyla.java |
453 |
de/xypron/jcobyla/Cobyla.java |
580 |
sim[i][jdrop] = dx[i];
temp += simi[jdrop][i] * dx[i];
}
for (int k = 1; k <= n; ++k) {
simi[jdrop][k] /= temp;
}
for (int j = 1; j <= n; ++j) {
if (j != jdrop) {
temp = dotProduct(part(row(simi, j), 1, n), part(dx, 1, n));
for (int k = 1; k <= n; ++k) {
simi[j][k] -= temp * simi[jdrop][k];
}
} |