MCPcopy Create free account
hub / github.com/SZAILAB/MaterialDFT-Demo / prepare_generalized_initial_subspace

Function prepare_generalized_initial_subspace

cpp_core/src/davidson.cpp:496–517  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

494}
495
496void prepare_generalized_initial_subspace(
497 const std::vector<Complex>& initial_subspace,
498 const std::vector<double>& kinetic_diag,
499 int n_pw,
500 int n_bands,
501 bool caller_supplies_s_orthonormal_subspace,
502 const HamiltonianOp& s_op,
503 std::vector<Complex>* states
504) {
505 if (has_complete_initial_subspace(initial_subspace, n_pw, n_bands)) {
506 states->assign(initial_subspace.begin(), initial_subspace.end());
507 if (!caller_supplies_s_orthonormal_subspace) {
508 require_s_orthonormal_initial_subspace(
509 states, n_pw, n_bands, s_op, "supplied");
510 }
511 return;
512 }
513
514 fill_kinetic_ordered_seed_subspace(kinetic_diag, n_pw, n_bands, states);
515 require_s_orthonormal_initial_subspace(
516 states, n_pw, n_bands, s_op, "generated");
517}
518
519struct LocalEigenvalueDeltaPolicy {
520 double absolute_break_ha = 2.5e-8 * EV_TO_HA;

Tested by

no test coverage detected