ProteoWizard
Public Member Functions | Protected Member Functions
pwiz::frequency::DerivativeTest::VectorFunction< value_type > Class Template Reference

#include <DerivativeTest.hpp>

Inheritance diagram for pwiz::frequency::DerivativeTest::VectorFunction< value_type >:
pwiz::frequency::DerivativeTest::ParametrizedDerivativeSlice< value_type > pwiz::frequency::DerivativeTest::ParametrizedFunctionSlice< value_type >

List of all members.

Public Member Functions

virtual unsigned int argumentCount () const =0
virtual unsigned int valueCount () const =0
virtual ublas::vector< value_type > operator() (ublas::vector< double > x) const =0
ublas::matrix< value_type > differenceQuotient (ublas::vector< double > x, double delta) const
void printDifferenceQuotientSequence (ublas::vector< double > x, std::ostream &os) const

Protected Member Functions

virtual ~VectorFunction ()

Detailed Description

template<typename value_type>
class pwiz::frequency::DerivativeTest::VectorFunction< value_type >

Definition at line 49 of file DerivativeTest.hpp.


Constructor & Destructor Documentation

template<typename value_type>
virtual pwiz::frequency::DerivativeTest::VectorFunction< value_type >::~VectorFunction ( )
inlineprotectedvirtual

Definition at line 62 of file DerivativeTest.hpp.

{}

Member Function Documentation

template<typename value_type>
virtual unsigned int pwiz::frequency::DerivativeTest::VectorFunction< value_type >::argumentCount ( ) const
pure virtual
template<typename value_type>
virtual unsigned int pwiz::frequency::DerivativeTest::VectorFunction< value_type >::valueCount ( ) const
pure virtual
template<typename value_type>
virtual ublas::vector<value_type> pwiz::frequency::DerivativeTest::VectorFunction< value_type >::operator() ( ublas::vector< double >  x) const
pure virtual
template<typename value_type >
ublas::matrix< value_type > pwiz::frequency::DerivativeTest::VectorFunction< value_type >::differenceQuotient ( ublas::vector< double >  x,
double  delta 
) const

Definition at line 67 of file DerivativeTest.hpp.

References x.

Referenced by pwiz::frequency::DerivativeTest::testDerivatives().

{
ublas::matrix<value_type> result(argumentCount(), valueCount());
result.clear();
for (unsigned int i=0; i<argumentCount(); i++)
{
ublas::vector<double> x2(x);
x2(i) += delta;
row(result, i) = ((*this)(x2)-(*this)(x))/delta;
}
return result;
}
template<typename value_type >
void pwiz::frequency::DerivativeTest::VectorFunction< value_type >::printDifferenceQuotientSequence ( ublas::vector< double >  x,
std::ostream &  os 
) const

Definition at line 82 of file DerivativeTest.hpp.

References e().

Referenced by pwiz::frequency::DerivativeTest::testDerivatives().

{
using namespace std;
for (double delta=.1; delta>1e-9; delta/=10)
{
os << scientific << setprecision(1) << "[delta: " << delta << "] ";
os.unsetf(std::ios::scientific);
os << setprecision(8) << differenceQuotient(x, delta) << endl;
}
}

The documentation for this class was generated from the following file: