Skip to content

Commit e970772

Browse files
Takahiro MisawaTakahiro Misawa
authored andcommitted
delete unnecessary normalizaiton of bra vector
1 parent 64e98d1 commit e970772

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

src/CalcSpectrum.c

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,9 @@ int CalcSpectrum(
220220
X->Bind.Def.ParaPairExcitationOperator = tmpPara;
221221
X->Bind.Def.NPairExcitationOperator = tmpN;
222222

223+
// Note: Normalization of v0_Bra is not needed here.
224+
// In CalcSpectrumByBiCG, the unnormalized vector is used directly.
223225
dnorm_Bra = NormMPI_dc(X->Bind.Check.idim_max, v0_Bra);
224-
if (fabs(dnorm_Bra) > pow(10.0, -15)) {
225-
for (i = 1; i <= X->Bind.Check.idim_max; i++) {
226-
v0_Bra[i] = v0_Bra[i] / dnorm_Bra;
227-
}
228-
}
229226
fprintf(stdoutMPI, " Bra side excited state created. Norm = %.10lf\n", dnorm_Bra);
230227
}
231228
else if (X->Bind.Def.NSingleExcitationOperatorBra > 0) {
@@ -249,12 +246,9 @@ int CalcSpectrum(
249246
X->Bind.Def.ParaSingleExcitationOperator = tmpPara;
250247
X->Bind.Def.NSingleExcitationOperator = tmpN;
251248

249+
// Note: Normalization of v0_Bra is not needed here.
250+
// In CalcSpectrumByBiCG, the unnormalized vector is used directly.
252251
dnorm_Bra = NormMPI_dc(X->Bind.Check.idim_max, v0_Bra);
253-
if (fabs(dnorm_Bra) > pow(10.0, -15)) {
254-
for (i = 1; i <= X->Bind.Check.idim_max; i++) {
255-
v0_Bra[i] = v0_Bra[i] / dnorm_Bra;
256-
}
257-
}
258252
fprintf(stdoutMPI, " Bra side excited state created. Norm = %.10lf\n", dnorm_Bra);
259253
}
260254

@@ -275,7 +269,10 @@ int CalcSpectrum(
275269
}
276270
return TRUE;
277271
}
278-
//normalize vector
272+
// Note: The following normalization of v1 is actually not used in CalcSpectrumByBiCG.
273+
// In CalcSpectrumByBiCG, v1 is passed as a workspace (v2) and immediately overwritten
274+
// by the unnormalized vector v0 (vrhs). This code is kept for compatibility with
275+
// other spectrum calculation methods (e.g., Lanczos).
279276
#pragma omp parallel for default(none) private(i) shared(v1, v0) firstprivate(i_max, dnorm, X)
280277
for (i = 1; i <= X->Bind.Check.idim_max; i++) {
281278
v1[i] = v0[i] / dnorm;

0 commit comments

Comments
 (0)