We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 9f9ca8b commit a1cbd1fCopy full SHA for a1cbd1f
1 file changed
forte/helpers/math_structures.h
@@ -284,11 +284,16 @@ class VectorSpace {
284
/// @brief Calculate the dot product of two vectors
285
F dot(const Derived& other) const {
286
F result{0};
287
+ bool self_smaller = size() < other.size();
288
const auto& smaller = size() < other.size() ? elements() : other.elements();
289
const auto& larger = size() < other.size() ? other.elements() : elements();
290
for (const auto& [e, c] : smaller) {
291
if (const auto it = larger.find(e); it != larger.end()) {
- result += conjugate(c) * it->second;
292
+ if (self_smaller) {
293
+ result += conjugate(c) * it->second;
294
+ } else {
295
+ result += c * conjugate(it->second);
296
+ }
297
}
298
299
return result;
0 commit comments