Functions | |
| std::vector< std::size_t > | projected_solutions_basis (const subspace::Dimensions &dims, const std::vector< std::size_t > &remove_qspace) |
| Returns subspace indices of the vectors u_k that the columns of a projected solutions matrix refer to: the Q vectors moved into Q_{delete}, followed by the current D vectors. | |
| template<typename value_type > | |
| auto | construct_projected_solution (const subspace::Matrix< value_type > &solutions, const subspace::Dimensions &dims, const std::vector< std::size_t > &remove_qspace, Logger &logger) |
| Projects solution from the full subspace on to Q_{delete} and current D space. | |
| template<typename value_type > | |
| auto | projected_solutions_overlap (const subspace::Matrix< value_type > &solutions_proj, const subspace::Matrix< value_type > &overlap, const std::vector< std::size_t > &basis, const std::vector< std::size_t > &indices) |
| Constructs overlaps of projected solutions with subspace vectors. | |
| template<typename value_type > | |
| auto | projected_solutions_overlap (const subspace::Matrix< value_type > &solutions_proj, const subspace::Matrix< value_type > &overlap, const std::vector< std::size_t > &basis) |
| Constructs the overlap matrix of projected solutions among themselves. | |
| template<typename value_type > | |
| auto | construct_projected_solutions_overlap (const subspace::Matrix< value_type > &solutions_proj, const subspace::Matrix< value_type > &overlap, const subspace::Dimensions &dims, const std::vector< std::size_t > &remove_qspace, Logger &logger) |
| Constructs overlap matrix for projected solutions. | |
| template<typename value_type , typename value_type_abs > | |
| void | remove_null_norm_and_normalise (subspace::Matrix< value_type > ¶meters, subspace::Matrix< value_type > &overlap, const value_type_abs norm_thresh, Logger &logger) |
| Removes parameters with norm less than threshold and normalises the rest. | |
| template<typename value_type , typename value_type_abs > | |
| auto | remove_null_projected_solutions (const subspace::Matrix< value_type > &solutions_proj, const subspace::Matrix< value_type > &overlap_proj, const value_type_abs svd_thresh, Logger &logger) |
| Transforms to a stable subspace of projected solutions via SVD. | |
| template<typename value_type , typename value_type_abs > | |
| auto | stable_projected_solutions (const subspace::Matrix< value_type > &solutions, const subspace::Matrix< value_type > &overlap, const subspace::Dimensions &dims, const std::vector< std::size_t > &remove_qspace, const value_type_abs norm_thresh, const value_type_abs svd_thresh, Logger &logger) |
| Projects solutions onto Q_{delete} and the current D space, and transforms them to a normalised set without null space. | |
| template<typename value_type > | |
| auto | construct_full_subspace_overlap (const subspace::Matrix< value_type > &solutions_proj, const subspace::Dimensions &dims, const std::vector< std::size_t > &remove_qspace, const subspace::Matrix< value_type > &overlap, const size_t nR) |
| Constructs overlap matrix of P+Q+R+(projected solutions) subspaces, where Q is without removed parameters. | |
| auto molpro::linalg::itsolv::detail::dspace::construct_full_subspace_overlap | ( | const subspace::Matrix< value_type > & | solutions_proj, |
| const subspace::Dimensions & | dims, | ||
| const std::vector< std::size_t > & | remove_qspace, | ||
| const subspace::Matrix< value_type > & | overlap, | ||
| const size_t | nR | ||
| ) |
Constructs overlap matrix of P+Q+R+(projected solutions) subspaces, where Q is without removed parameters.
| solutions_proj | solutions matrix with Q deleted + current D space as columns |
| dims | dimensions of the current subspace |
| remove_qspace | indices of Q parameters to be removed |
| overlap | overlap of current subspace P+Q+D+R, including all of the current Q space |
| nR | number of new parameters |
| auto molpro::linalg::itsolv::detail::dspace::construct_projected_solution | ( | const subspace::Matrix< value_type > & | solutions, |
| const subspace::Dimensions & | dims, | ||
| const std::vector< std::size_t > & | remove_qspace, | ||
| Logger & | logger | ||
| ) |
Projects solution from the full subspace on to Q_{delete} and current D space.
| solutions | solution matrix in the full subspace |
| dims | dimensions for partitioning of subspace |
| remove_qspace | indices to remove from current Q space and move into Q_{delete} |
| norm_thresh | vectors with norm less than this threshold are considered null |
| auto molpro::linalg::itsolv::detail::dspace::construct_projected_solutions_overlap | ( | const subspace::Matrix< value_type > & | solutions_proj, |
| const subspace::Matrix< value_type > & | overlap, | ||
| const subspace::Dimensions & | dims, | ||
| const std::vector< std::size_t > & | remove_qspace, | ||
| Logger & | logger | ||
| ) |
Constructs overlap matrix for projected solutions.
| solutions_proj | solutions matrix projected onto Qd+D space |
| overlap | overlap matrix of the current subspace |
| dims | dimensions for partitioning of subspace |
| remove_qspace | indices to remove from current Q space and move into Q_{delete} |
| logger | logger |
|
inline |
Returns subspace indices of the vectors u_k that the columns of a projected solutions matrix refer to: the Q vectors moved into Q_{delete}, followed by the current D vectors.
| dims | dimensions for partitioning of subspace |
| remove_qspace | indices to remove from current Q space and move into Q_{delete} |
| auto molpro::linalg::itsolv::detail::dspace::projected_solutions_overlap | ( | const subspace::Matrix< value_type > & | solutions_proj, |
| const subspace::Matrix< value_type > & | overlap, | ||
| const std::vector< std::size_t > & | basis | ||
| ) |
Constructs the overlap matrix of projected solutions among themselves.
x_i = \sum_k C_ik u_k <x_i, x_j> = \sum_kl conj(C_ik) C_jl <u_k, u_l>
| solutions_proj | projected solutions C, with columns referring to the subspace vectors basis |
| overlap | overlap matrix of the current subspace |
| basis | subspace indices of the vectors u_k |
| auto molpro::linalg::itsolv::detail::dspace::projected_solutions_overlap | ( | const subspace::Matrix< value_type > & | solutions_proj, |
| const subspace::Matrix< value_type > & | overlap, | ||
| const std::vector< std::size_t > & | basis, | ||
| const std::vector< std::size_t > & | indices | ||
| ) |
Constructs overlaps of projected solutions with subspace vectors.
x_i = \sum_k C_ik u_k <x_i, v_m> = \sum_k conj(C_ik) <u_k, v_m>
| solutions_proj | projected solutions C, with columns referring to the subspace vectors basis |
| overlap | overlap matrix of the current subspace, S(k, l) = <v_k, v_l> |
| basis | subspace indices of the vectors u_k |
| indices | subspace indices of the vectors v_m |
| void molpro::linalg::itsolv::detail::dspace::remove_null_norm_and_normalise | ( | subspace::Matrix< value_type > & | parameters, |
| subspace::Matrix< value_type > & | overlap, | ||
| const value_type_abs | norm_thresh, | ||
| Logger & | logger | ||
| ) |
Removes parameters with norm less than threshold and normalises the rest.
| parameters | row major matrix of parameters |
| overlap | overlap matrix of parameters |
| norm_thresh | norm threhsold |
| logger | logger |
| auto molpro::linalg::itsolv::detail::dspace::remove_null_projected_solutions | ( | const subspace::Matrix< value_type > & | solutions_proj, |
| const subspace::Matrix< value_type > & | overlap_proj, | ||
| const value_type_abs | svd_thresh, | ||
| Logger & | logger | ||
| ) |
Transforms to a stable subspace of projected solutions via SVD.
Performs SVD and transforms to right-singular vectors with singular values greater than threshold.
| solutions_proj | solutions projected onto Qd+D space |
| solutions | solutions in the current subspace |
| overlap_proj | overlap matrix of projected solutions |
| norm_thresh | |
| logger |
| auto molpro::linalg::itsolv::detail::dspace::stable_projected_solutions | ( | const subspace::Matrix< value_type > & | solutions, |
| const subspace::Matrix< value_type > & | overlap, | ||
| const subspace::Dimensions & | dims, | ||
| const std::vector< std::size_t > & | remove_qspace, | ||
| const value_type_abs | norm_thresh, | ||
| const value_type_abs | svd_thresh, | ||
| Logger & | logger | ||
| ) |
Projects solutions onto Q_{delete} and the current D space, and transforms them to a normalised set without null space.
| solutions | solution matrix in the full subspace |
| overlap | overlap matrix of the current subspace |
| dims | dimensions for partitioning of subspace |
| remove_qspace | indices to remove from current Q space and move into Q_{delete} |
| norm_thresh | projected solutions with norm less than this threshold are considered null |
| svd_thresh | singular value threshold for marking the null space of projected solutions |
| logger | logger |