#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <algorithm>
#include "matrix_utilities.h"
#include "output.h"
Classes | |
struct | CompareClass< RandomAccessIterator > |
Functions | |
mat::SizesAndBlocks | prepareMatrixSizesAndBlocks (int n_basis_functions, int sparse_block_size, int factor1, int factor2, int factor3) |
template<typename Treal , typename TIndexIterator > | |
void | sortCoord (std::vector< Treal > const &xpos, std::vector< Treal > const &ypos, std::vector< Treal > const &zpos, TIndexIterator first, TIndexIterator last) throw (std::exception) |
template<typename Treal > | |
void | permuteAndRecurse (std::vector< Treal > const &xpos, std::vector< Treal > const &ypos, std::vector< Treal > const &zpos, std::vector< int > &index, int const first, int const last, std::vector< int > const &blockSizes, int bSizeIndex) |
template<typename Treal > | |
void | getPermutation (std::vector< Treal > const &xpos, std::vector< Treal > const &ypos, std::vector< Treal > const &zpos, std::vector< int > &permutation, std::vector< int > const &blockSizes) |
void | getMatrixPermutation (const BasisInfoStruct &basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector< int > &permutation, std::vector< int > &inversePermutation) |
void | getMatrixPermutation (const BasisInfoStruct &basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector< int > &permutation) |
void | fill_matrix_with_random_numbers (int n, symmMatrix &M) |
static ergo_real | rand_minus1_to_1 () |
void | add_random_diag_perturbation (int n, symmMatrix &M, ergo_real eps) |
void | output_matrix (int n, const ergo_real *matrix, const char *matrixName) |
void add_random_diag_perturbation | ( | int | n, | |
symmMatrix & | M, | |||
ergo_real | eps | |||
) |
References mat::MatrixSymmetric< Treal, Tmatrix >::add_values(), and rand_minus1_to_1().
Referenced by getAllEigsInterval().
void fill_matrix_with_random_numbers | ( | int | n, | |
symmMatrix & | M | |||
) |
References mat::MatrixSymmetric< Treal, Tmatrix >::random().
void getMatrixPermutation | ( | const BasisInfoStruct & | basisInfo, | |
int | sparse_block_size, | |||
int | factor1, | |||
int | factor2, | |||
int | factor3, | |||
std::vector< int > & | permutation | |||
) |
References getMatrixPermutation().
void getMatrixPermutation | ( | const BasisInfoStruct & | basisInfo, | |
int | sparse_block_size, | |||
int | factor1, | |||
int | factor2, | |||
int | factor3, | |||
std::vector< int > & | permutation, | |||
std::vector< int > & | inversePermutation | |||
) |
References BasisInfoStruct::basisFuncList, BasisFuncStruct_::centerCoords, do_output(), getPermutation(), LOG_AREA_SCF, LOG_CAT_INFO, and BasisInfoStruct::noOfBasisFuncs.
Referenced by calculation_shared(), getMatrixPermutation(), load_density_and_project_sparse(), main(), SCF::MatOptions::prepare(), and preparePermutations().
void getPermutation | ( | std::vector< Treal > const & | xpos, | |
std::vector< Treal > const & | ypos, | |||
std::vector< Treal > const & | zpos, | |||
std::vector< int > & | permutation, | |||
std::vector< int > const & | blockSizes | |||
) | [inline] |
References permuteAndRecurse().
Referenced by getMatrixPermutation().
void output_matrix | ( | int | n, | |
const ergo_real * | matrix, | |||
const char * | matrixName | |||
) |
Referenced by dft_get_uxc(), and dft_get_xc().
void permuteAndRecurse | ( | std::vector< Treal > const & | xpos, | |
std::vector< Treal > const & | ypos, | |||
std::vector< Treal > const & | zpos, | |||
std::vector< int > & | index, | |||
int const | first, | |||
int const | last, | |||
std::vector< int > const & | blockSizes, | |||
int | bSizeIndex | |||
) | [inline] |
References sortCoord().
Referenced by getPermutation().
mat::SizesAndBlocks prepareMatrixSizesAndBlocks | ( | int | n_basis_functions, | |
int | sparse_block_size, | |||
int | factor1, | |||
int | factor2, | |||
int | factor3 | |||
) |
References do_output(), LOG_AREA_SCF, and LOG_CAT_INFO.
Referenced by calculation_shared(), load_density_and_project_sparse(), main(), SCF::MatOptions::prepare(), and preparePermutations().
static ergo_real rand_minus1_to_1 | ( | ) | [static] |
Referenced by add_random_diag_perturbation().
void sortCoord | ( | std::vector< Treal > const & | xpos, | |
std::vector< Treal > const & | ypos, | |||
std::vector< Treal > const & | zpos, | |||
TIndexIterator | first, | |||
TIndexIterator | last | |||
) | throw (std::exception) [inline] |
Referenced by permuteAndRecurse().