Lines Matching refs:rotmat_cst

71 …HELPER void CalcRot(const CeedScalar *A, CeedInt N, CeedInt i, CeedInt j, CeedScalar *rotmat_cst) {  in CalcRot()  argument
72 rotmat_cst[2] = 1.0; // = tan(θ) in CalcRot()
77 rotmat_cst[2] = 0.0; in CalcRot()
83 rotmat_cst[2] = 1.0 / (sqrt(1 + kappa * kappa) + fabs(kappa)); in CalcRot()
84 if (kappa < 0.0) rotmat_cst[2] = -rotmat_cst[2]; in CalcRot()
87 rotmat_cst[0] = 1.0 / sqrt(1 + rotmat_cst[2] * rotmat_cst[2]); in CalcRot()
88 rotmat_cst[1] = rotmat_cst[0] * rotmat_cst[2]; in CalcRot()
159 …Rot(CeedScalar *A, CeedInt N, CeedInt i, CeedInt j, CeedInt *max_idx_row, CeedScalar *rotmat_cst) { in ApplyRot() argument
161 A[i * N + i] -= rotmat_cst[2] * A[i * N + j]; in ApplyRot()
162 A[j * N + j] += rotmat_cst[2] * A[i * N + j]; in ApplyRot()
174 …A[w * N + i] = rotmat_cst[0] * A[w * N + i] - rotmat_cst[1] * A[w * N + j]; // A[w][i], A[w][j] f… in ApplyRot()
180 …A[i * N + w] = rotmat_cst[0] * A[i * N + w] - rotmat_cst[1] * A[w * N + j]; // A[i][w], A[w][j] f… in ApplyRot()
184 …A[i * N + w] = rotmat_cst[0] * A[i * N + w] - rotmat_cst[1] * A[j * N + w]; // A[i][w], A[j][w] f… in ApplyRot()
192 …A[w * N + j] = rotmat_cst[1] * A[i * N + w] + rotmat_cst[0] * A[w * N + j]; // A[i][w], A[w][j] f… in ApplyRot()
197 …A[w * N + j] = rotmat_cst[1] * A[w * N + i] + rotmat_cst[0] * A[w * N + j]; // A[w][i], A[w][j] f… in ApplyRot()
202 …A[j * N + w] = rotmat_cst[1] * A[w * N + i] + rotmat_cst[0] * A[j * N + w]; // A[w][i], A[j][w] f… in ApplyRot()
218 …_HELPER void ApplyRotLeft(CeedScalar *A, CeedInt N, CeedInt i, CeedInt j, CeedScalar *rotmat_cst) { in ApplyRotLeft() argument
222 A[i * N + v] = rotmat_cst[0] * A[i * N + v] - rotmat_cst[1] * A[j * N + v]; in ApplyRotLeft()
223 A[j * N + v] = rotmat_cst[1] * Aiv + rotmat_cst[0] * A[j * N + v]; in ApplyRotLeft()
283 CeedScalar rotmat_cst[3] = {0.}; // cos(θ), sin(θ), and tan(θ), in Diagonalize() local
306 …CalcRot(A, N, i, j, rotmat_cst); // Calculate the parameters of the rotation matrix. in Diagonalize()
307 ApplyRot(A, N, i, j, max_idx_row, rotmat_cst); // Apply this rotation to the A matrix. in Diagonalize()
308 if (calc_evec) ApplyRotLeft(evec, N, i, j, rotmat_cst); in Diagonalize()