#include <PowerSeries.h>
Public Member Functions | |
PowerSeries (int size) | |
Constructs and initializes an intance of this class. | |
void | initialize (int size) |
Initializes this object. | |
Array1D< double > | getCoefficients () |
This gives us access to the coefficients that this polynomial uses. | |
void | operator= (PowerSeries rhs) |
Sets this polynomial equal to another one. | |
int | getNumberCoefficients () |
Gets the number of coefficients in the polynomial. | |
double | getCoefficient (int i) |
Gets the ith coefficient of the polynomial. | |
void | print (ostream &strm) |
Write out a string that represents the polynomial. | |
void | initialize (Array1D< double > &coeffs) |
Initializes this object. | |
void | evaluate (double x) |
Evaluates the function at . | |
double | getFunctionValue () |
Gets the function value at the last evaluated point. | |
double | getFunctionValue (double x) |
This call doesn't calculate derivatives, only the function. | |
double | getFirstDerivativeValue () |
Gets the function's first deriviate at the last evaluated point. | |
double | getSecondDerivativeValue () |
Gets the function's second deriviative at the last evaluated point. | |
double | getThirdDerivativeValue () |
double | get_p_a (int ai) |
double | get_p2_xa (int ai) |
double | get_p3_xxa (int ai) |
Array1D< Complex > | getRoots () |
Gets the roots of the polynomial. | |
double | Brent_fmin (double ax, double bx, double tol) |
double | function (double x) |
double | minimum (double left, double right) |
Private Member Functions | |
void | initialize () |
Initialize all of the member variables of this object. | |
void | evaluateAll (double x, Array1D< double > &coeffs) |
Evaluates a polynomial at defined by the entered coefficients. | |
Private Attributes | |
int | size |
This is just a Polynomial, except all the coefficients are 1.0.
Definition at line 15 of file PowerSeries.h.
PowerSeries::PowerSeries | ( | int | size | ) |
Constructs and initializes an intance of this class.
coeffs | set of polynomial coefficients to use for the polynomial. |
void PowerSeries::initialize | ( | int | size | ) |
Initializes this object.
coeffs | set of polynomial coefficients to use for the polynomial. |
Array1D<double> PowerSeries::getCoefficients | ( | ) |
void PowerSeries::operator= | ( | PowerSeries | rhs | ) |
Sets this polynomial equal to another one.
rhs | polynomial to set this one equal to |
int PowerSeries::getNumberCoefficients | ( | ) |
Gets the number of coefficients in the polynomial.
This is one larger than the order of the polynomial.
Reimplemented from Polynomial.
double PowerSeries::getCoefficient | ( | int | i | ) |
Gets the ith coefficient of the polynomial.
Where the polynomial is defined such that
where is the order of the polynomial and is the ith coefficient.
i | index of the coefficient to return. |
Reimplemented from Polynomial.
void PowerSeries::print | ( | ostream & | strm | ) |
void PowerSeries::initialize | ( | ) | [private] |
void PowerSeries::evaluateAll | ( | double | x, | |
Array1D< double > & | coeffs | |||
) | [private] |
Evaluates a polynomial at defined by the entered coefficients.
In addition, it evaluates the 1st two derivatives of that polynomial. It stores the results in f, df, and d2f from this class.
x | point to evaluate the polynomial at. | |
coeffs | coefficients describing the polynomial being evaluated. These are ordered from smallest to largest powers of . |
Reimplemented from Polynomial.
void Polynomial::initialize | ( | Array1D< double > & | coeffs | ) | [inherited] |
Initializes this object.
coeffs | set of polynomial coefficients to use for the polynomial. |
Definition at line 65 of file Polynomial.cpp.
References Array1D< T >::allocate(), Polynomial::coefficients, Array1D< T >::dim1(), Polynomial::firstDerivativeCoefficients, Polynomial::secondDerivativeCoefficients, and Polynomial::thirdDerivativeCoefficients.
Referenced by QMCElectronNucleusCuspParameters::calculateSigmaSq(), QMCElectronNucleusCusp::determineRc(), QMCElectronNucleusCuspParameters::fitReplacementOrbital(), PadeCorrelationFunction::initializeParameters(), JuliusCorrelationFunction::initializeParameters(), FixedCuspPadeCorrelationFunction::initializeParameters(), and Cambridge2CorrelationFunction::initializeParameters().
void Polynomial::evaluate | ( | double | x | ) | [virtual, inherited] |
Evaluates the function at .
x | point to evaluate the function. |
Implements FunctionR1toR1.
Definition at line 95 of file Polynomial.cpp.
References Polynomial::evaluatedD2F, Polynomial::evaluatedDF, and Polynomial::evaluatedF.
Referenced by QMCElectronNucleusCuspParameters::calculateLocalEnergy(), QMCElectronNucleusCusp::determineRc(), PadeCorrelationFunction::evaluate(), JuliusCorrelationFunction::evaluate(), FixedCuspPadeCorrelationFunction::evaluate(), Cambridge2CorrelationFunction::evaluate(), QMCElectronNucleusCuspParameters::evaluateReplacementOrbital(), QMCElectronNucleusCuspParameters::findMaxDeviation(), Polynomial::getFunctionValue(), Cambridge2CorrelationFunction::getFunctionValue(), Polynomial::getThirdDerivativeValue(), and QMCElectronNucleusCuspParameters::printParameters().
double Polynomial::getFunctionValue | ( | ) | [virtual, inherited] |
Gets the function value at the last evaluated point.
Implements FunctionR1toR1.
Definition at line 146 of file Polynomial.cpp.
References Polynomial::coefficients, Polynomial::evaluateAll(), Polynomial::evaluatedF, Polynomial::f, and Polynomial::x.
Referenced by QMCElectronNucleusCuspParameters::calculateLocalEnergy(), QMCElectronNucleusCusp::determineRc(), PadeCorrelationFunction::evaluate(), JuliusCorrelationFunction::evaluate(), FixedCuspPadeCorrelationFunction::evaluate(), Cambridge2CorrelationFunction::evaluate(), QMCElectronNucleusCuspParameters::evaluateReplacementOrbital(), QMCElectronNucleusCuspParameters::findMaxDeviation(), FixedCuspPadeCorrelationFunction::get_p2_xa(), FixedCuspPadeCorrelationFunction::get_p3_xxa(), FixedCuspPadeCorrelationFunction::get_p_a(), PadeCorrelationFunction::getFunctionValue(), JuliusCorrelationFunction::getFunctionValue(), FixedCuspPadeCorrelationFunction::getFunctionValue(), Cambridge2CorrelationFunction::getFunctionValue(), and QMCElectronNucleusCuspParameters::printParameters().
double Polynomial::getFunctionValue | ( | double | x | ) | [inherited] |
This call doesn't calculate derivatives, only the function.
It's supposed to be faster than calling evaluate, which does calculate the first 2 derivatives.
Definition at line 157 of file Polynomial.cpp.
References Polynomial::coefficients, and Polynomial::evaluate().
double Polynomial::getFirstDerivativeValue | ( | ) | [virtual, inherited] |
Gets the function's first deriviate at the last evaluated point.
Implements FunctionR1toR1.
Definition at line 167 of file Polynomial.cpp.
References Polynomial::coefficients, Polynomial::df, Polynomial::evaluateAll(), Polynomial::evaluatedDF, and Polynomial::x.
Referenced by QMCElectronNucleusCuspParameters::calculateLocalEnergy(), PadeCorrelationFunction::evaluate(), JuliusCorrelationFunction::evaluate(), FixedCuspPadeCorrelationFunction::evaluate(), Cambridge2CorrelationFunction::evaluate(), QMCElectronNucleusCuspParameters::evaluateReplacementOrbital(), FixedCuspPadeCorrelationFunction::get_p2_xa(), and FixedCuspPadeCorrelationFunction::get_p3_xxa().
double Polynomial::getSecondDerivativeValue | ( | ) | [virtual, inherited] |
Gets the function's second deriviative at the last evaluated point.
Implements FunctionR1toR1.
Definition at line 184 of file Polynomial.cpp.
References Polynomial::coefficients, Polynomial::d2f, Polynomial::evaluateAll(), Polynomial::evaluatedD2F, and Polynomial::x.
Referenced by QMCElectronNucleusCuspParameters::calculateLocalEnergy(), PadeCorrelationFunction::evaluate(), JuliusCorrelationFunction::evaluate(), FixedCuspPadeCorrelationFunction::evaluate(), Cambridge2CorrelationFunction::evaluate(), QMCElectronNucleusCuspParameters::evaluateReplacementOrbital(), and FixedCuspPadeCorrelationFunction::get_p3_xxa().
double Polynomial::getThirdDerivativeValue | ( | ) | [inherited] |
Definition at line 195 of file Polynomial.cpp.
References Polynomial::d3f, Polynomial::evaluate(), Polynomial::thirdDerivativeCoefficients, and Polynomial::x.
Referenced by Cambridge2CorrelationFunction::evaluate().
double Polynomial::get_p_a | ( | int | ai | ) | [inherited] |
Definition at line 162 of file Polynomial.cpp.
References Polynomial::x.
Referenced by FixedCuspPadeCorrelationFunction::get_p2_xa(), Cambridge2CorrelationFunction::get_p2_xa(), FixedCuspPadeCorrelationFunction::get_p3_xxa(), Cambridge2CorrelationFunction::get_p3_xxa(), FixedCuspPadeCorrelationFunction::get_p_a(), and Cambridge2CorrelationFunction::get_p_a().
double Polynomial::get_p2_xa | ( | int | ai | ) | [inherited] |
Definition at line 178 of file Polynomial.cpp.
References Polynomial::x.
Referenced by FixedCuspPadeCorrelationFunction::get_p2_xa(), Cambridge2CorrelationFunction::get_p2_xa(), FixedCuspPadeCorrelationFunction::get_p3_xxa(), and Cambridge2CorrelationFunction::get_p3_xxa().
double Polynomial::get_p3_xxa | ( | int | ai | ) | [inherited] |
Definition at line 202 of file Polynomial.cpp.
References Polynomial::x.
Referenced by FixedCuspPadeCorrelationFunction::get_p3_xxa(), and Cambridge2CorrelationFunction::get_p3_xxa().
Gets the roots of the polynomial.
Exception | if problems were encounted during the root calculation. |
If the highest order terms have 0 for a coefficient, then we have fewer roots.
Definition at line 243 of file Polynomial.cpp.
References Polynomial::coefficients, Array1D< T >::dim1(), and Polynomial::zroots().
Referenced by QMCElectronNucleusCuspParameters::calculateSigmaSq(), PadeCorrelationFunction::getPoles(), FixedCuspPadeCorrelationFunction::getPoles(), and QMCPolynomial::hasNonNegativeZeroes().
double FunctionR1toR1::Brent_fmin | ( | double | ax, | |
double | bx, | |||
double | tol | |||
) | [inherited] |
Definition at line 81 of file FunctionR1toR1.cpp.
References FunctionR1toR1::function().
Referenced by FunctionR1toR1::minimum().
double FunctionR1toR1::function | ( | double | x | ) | [inherited] |
Definition at line 209 of file FunctionR1toR1.cpp.
References FunctionR1toR1::evaluate(), and FunctionR1toR1::getFunctionValue().
Referenced by FunctionR1toR1::Brent_fmin(), and QMCEigenSearch::get_a_diag().
double FunctionR1toR1::minimum | ( | double | left, | |
double | right | |||
) | [inherited] |
Definition at line 215 of file FunctionR1toR1.cpp.
References FunctionR1toR1::Brent_fmin().
Referenced by QMCEigenSearch::get_a_diag().
int PowerSeries::size [private] |
Definition at line 18 of file PowerSeries.h.