Rosetta Utilities  2014.35
Namespaces | Classes | Typedefs | Enumerations | Functions
numeric Namespace Reference

Unit headers. More...

Namespaces

 alignment
 
 constants
 
 conversions
 
 coordinate_fitting
 
 deriv
 
 expression_parser
 
 fourier
 
 geometry
 
 histograms
 
 interpolation
 
 kdtree
 
 kinematic_closure
 
 linear_algebra
 
 model_quality
 
 nls
 
 random
 
 statistics
 

Classes

class  BodyPosition
 Rigid body 3-D position/transform. More...
 
class  Calculator
 
class  CalculatorParser
 
class  ClusteringTreeNode
 
class  ColPointers
 
class  ColsPointer
 
class  ColVectors
 
class  EulerAngles
 Euler angles 3-D orientation representation. More...
 
struct  FastRemainderSelector
 Fast remainder function selector class for non-integer types. More...
 
struct  FastRemainderSelector< T, true >
 Fast remainder function selector class for integer types. More...
 
class  HomogeneousTransform
 
class  HomogeneousTransform_Double
 
class  IntervalSet
 
class  IntervalSet_Double
 
struct  IOTraits
 Numerics input/output type traits. More...
 
struct  IOTraits< double >
 Numerics input/output type traits double specialization. More...
 
struct  IOTraits< float >
 Numerics input/output type traits float Specialization. More...
 
struct  IOTraits< int >
 Numerics input/output type traits int specialization. More...
 
struct  IOTraits< long double >
 Numerics input/output type traits long double specialization. More...
 
struct  IOTraits< long int >
 : Numerics input/output type traits long int specialization More...
 
struct  IOTraits< short int >
 Numerics input/output type traits short int specialization. More...
 
struct  IOTraits< unsigned int >
 : Numerics input/output type traits unsigned int specialization More...
 
struct  IOTraits< unsigned long int >
 Numerics input/output type traits unsigned long int specialization. More...
 
struct  IOTraits< unsigned short int >
 : Numerics input/output type traits unsigned short int specialization More...
 
class  MathMatrix
 
class  MathTensor
 
class  MathVector
 
struct  ModSelector
 Mod function selector class for non-integer types. More...
 
struct  ModSelector< T, true >
 Mod function selector class for integer types. More...
 
struct  ModuloSelector
 Modulo function selector class for non-integer types. More...
 
struct  ModuloSelector< T, true >
 Modulo function selector class for integer types. More...
 
class  MultiDimensionalHistogram
 a class for accumulating a histogram of one or more numeric variables More...
 
struct  NearestSelector
 Nearest function selector class for R non-integer or T integer. More...
 
struct  NearestSelector< R, T, true >
 Nearest function selector class for R integer and T non-integer. More...
 
struct  NumericTraits
 NumericTraits: Numeric type traits. More...
 
struct  NumericTraits< double >
 NumericTraits: Numeric type traits double specialization. More...
 
struct  NumericTraits< float >
 NumericTraits: Numeric type traits float specialization. More...
 
struct  NumericTraits< long double >
 NumericTraits: Numeric type traits long double specialization. More...
 
class  Polynomial_1d
 
class  Py_xyzTransform_double
 
class  Quaternion
 Unit quaternion 3-D orientation representation. More...
 
struct  RemainderSelector
 Remainder function selector class for non-integer types. More...
 
struct  RemainderSelector< T, true >
 Remainder function selector class for integer types. More...
 
class  RocCurve
 
class  RocPoint
 
class  RowPointers
 
class  RowsPointer
 
class  RowVectors
 
class  sphericalVector
 sphericalVector: Fast spherical-coordinate numeric vector More...
 
struct  Xforms
 
class  xyzMatrix
 xyzMatrix: Fast 3x3 xyz matrix template More...
 
class  xyzTransform
 
class  xyzTriple
 Fast (x,y,z)-coordinate vector container. More...
 
class  xyzVector
 xyzVector: Fast (x,y,z)-coordinate numeric vector More...
 

Typedefs

typedef BodyPosition< floatBodyPosition_float
 
typedef BodyPosition< doubleBodyPosition_double
 
typedef BodyPosition< long doubleBodyPosition_longdouble
 
typedef
utility::pointer::owning_ptr
< Calculator
CalculatorOP
 
typedef
utility::pointer::owning_ptr
< ClusteringTreeNode
ClusteringTreeNodeOP
 
typedef xyzVector< RealVector
 
typedef Real Length
 
typedef
utility::pointer::owning_ptr
< Polynomial_1d
Polynomial_1dOP
 
typedef
utility::pointer::owning_ptr
< Polynomial_1d const > 
Polynomial_1dCOP
 
typedef Quaternion< floatQuaternion_float
 
typedef Quaternion< doubleQuaternion_double
 
typedef Quaternion< long doubleQuaternion_longdouble
 
typedef
utility::pointer::owning_ptr
< RocPoint
RocPointOP
 
typedef
utility::pointer::owning_ptr
< RocCurve
RocCurveOP
 
typedef double Real
 
typedef platform::Size Size
 
typedef platform::SSize SSize
 
typedef xyzMatrix< boolxyzMatrix_bool
 
typedef xyzMatrix< short intxyzMatrix_short
 
typedef xyzMatrix< intxyzMatrix_int
 
typedef xyzMatrix< long intxyzMatrix_long
 
typedef xyzMatrix< unsigned
short int
xyzMatrix_ushort
 
typedef xyzMatrix< unsigned intxyzMatrix_uint
 
typedef xyzMatrix< unsigned
long int
xyzMatrix_ulong
 
typedef xyzMatrix< platform::SizexyzMatrix_Size
 
typedef xyzMatrix< platform::SizexyzMatrix_size_t
 
typedef xyzMatrix< platform::SizexyzMatrix_size
 
typedef xyzMatrix< floatxyzMatrix_float
 
typedef xyzMatrix< doublexyzMatrix_double
 
typedef xyzMatrix< long doublexyzMatrix_longdouble
 
typedef xyzMatrix< char > xyzMatrix_char
 
typedef xyzMatrix< unsigned char > xyzMatrix_uchar
 
typedef xyzMatrix< signed char > xyzMatrix_schar
 
typedef xyzTransform< floatxyzTransform_float
 
typedef xyzTransform< doublexyzTransform_double
 
typedef xyzTriple< boolxyzTriple_bool
 
typedef xyzTriple< short intxyzTriple_short
 
typedef xyzTriple< intxyzTriple_int
 
typedef xyzTriple< long intxyzTriple_long
 
typedef xyzTriple< unsigned
short int
xyzTriple_ushort
 
typedef xyzTriple< unsigned intxyzTriple_uint
 
typedef xyzTriple< unsigned
long int
xyzTriple_ulong
 
typedef xyzTriple< std::size_t > xyzTriple_size_t
 
typedef xyzTriple< std::size_t > xyzTriple_size
 
typedef xyzTriple< floatxyzTriple_float
 
typedef xyzTriple< doublexyzTriple_double
 
typedef xyzTriple< long doublexyzTriple_longdouble
 
typedef xyzTriple< char > xyzTriple_char
 
typedef xyzTriple< unsigned char > xyzTriple_uchar
 
typedef xyzTriple< signed char > xyzTriple_schar
 
typedef xyzVector< boolxyzVector_bool
 
typedef xyzVector< short intxyzVector_short
 
typedef xyzVector< intxyzVector_int
 
typedef xyzVector< long intxyzVector_long
 
typedef xyzVector< unsigned
short int
xyzVector_ushort
 
typedef xyzVector< unsigned intxyzVector_uint
 
typedef xyzVector< unsigned
long int
xyzVector_ulong
 
typedef xyzVector< std::size_t > xyzVector_size_t
 
typedef xyzVector< std::size_t > xyzVector_size
 
typedef xyzVector< floatxyzVector_float
 
typedef xyzVector< doublexyzVector_double
 
typedef xyzVector< long doublexyzVector_longdouble
 
typedef xyzVector< char > xyzVector_char
 
typedef xyzVector< unsigned char > xyzVector_uchar
 
typedef xyzVector< signed char > xyzVector_schar
 

Enumerations

enum  RocStatus { true_positive, true_negative, false_positive, false_negative }
 

Functions

utility::vector1
< ClusteringTreeNodeOP
single_link_clustering (utility::vector1< utility::vector1< Real > > &distance_matrix, Size n_clusters)
 
utility::vector1
< ClusteringTreeNodeOP
average_link_clustering (utility::vector1< utility::vector1< Real > > &distance_matrix, Size n_clusters)
 
utility::vector1
< ClusteringTreeNodeOP
complete_link_clustering (utility::vector1< utility::vector1< Real > > &distance_matrix, Size n_clusters)
 
template<class T >
void get_cluster_data (utility::vector1< T > &data_in, ClusteringTreeNodeOP cluster, utility::vector1< T > &data_out)
 
template<typename T >
principal_angle (T const &angle)
 Principal value of angle in radians on ( -pi, pi ]. More...
 
template<typename T >
principal_angle_radians (T const &angle)
 Principal value of angle in radians on ( -pi, pi ]. More...
 
template<typename T >
principal_angle_degrees (T const &angle)
 Principal value of angle in degrees on ( -180, 180 ]. More...
 
template<typename T >
nonnegative_principal_angle (T const &angle)
 Positive principal value of angle in radians on [ 0, 2*pi ) More...
 
template<typename T >
nonnegative_principal_angle_radians (T const &angle)
 Positive principal value of angle in radians on [ 0, 2*pi ) More...
 
template<typename T >
nonnegative_principal_angle_degrees (T const &angle)
 Positive principal value of angle in degrees on [ 0, 360 ) More...
 
template<typename T >
nearest_angle (T const &angle, T const &base_angle)
 Nearest periodic value of angle to a base angle in radians. More...
 
template<typename T >
nearest_angle_radians (T const &angle, T const &base_angle)
 Nearest periodic value of angle to a base angle in radians. More...
 
template<typename T >
nearest_angle_degrees (T const &angle, T const &base_angle)
 Nearest periodic value of angle to a base angle in degrees. More...
 
template<typename T >
bool operator== (BodyPosition< T > const &p1, BodyPosition< T > const &p2)
 BodyPosition == BodyPosition. More...
 
template<typename T >
bool operator!= (BodyPosition< T > const &p1, BodyPosition< T > const &p2)
 BodyPosition != BodyPosition. More...
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, BodyPosition< T > const &p)
 stream << BodyPosition output operator More...
 
template<typename T >
std::istream & operator>> (std::istream &stream, BodyPosition< T > &p)
 stream >> BodyPosition input operator More...
 
template<typename T >
std::istream & read_row (std::istream &stream, T &x, T &y, T &z, T &t)
 Read an BodyPosition row from a stream. More...
 
void do_add_symbol (CalculatorParser &cp, std::string name, double value)
 
double do_abs (double a)
 
double do_pow (double a, double b)
 
double do_exp (double a)
 
double do_ln (double a)
 
double do_log10 (double a)
 
double do_log2 (double a)
 
double do_log (double a, double b)
 
double do_sqrt (double a)
 
double do_sin (double a)
 
double do_cos (double a)
 
double do_tan (double a)
 
double do_max (std::vector< double > a)
 
double do_min (std::vector< double > a)
 
double do_mean (std::vector< double > a)
 
double do_median (std::vector< double > a)
 
numeric::xyzVector
< platform::Real
rgb_to_hsv (platform::Real r, platform::Real b, platform::Real g)
 convert an RGB color to HSV More...
 
numeric::xyzVector
< platform::Real
rgb_to_hsv (numeric::xyzVector< platform::Real > rgb_triplet)
 convert and RGB color to HSV More...
 
numeric::xyzVector
< platform::Real
hsv_to_rgb (platform::Real h, platform::Real s, platform::Real v)
 convert an HSV color to RGB More...
 
numeric::xyzVector
< platform::Real
hsv_to_rgb (numeric::xyzVector< platform::Real > hsv_triplet)
 convert an HSV color to RGB More...
 
void ccd_angle (utility::vector1< xyzVector< Real > > const &F, utility::vector1< xyzVector< Real > > const &M, xyzVector< Real > const &axis_atom, xyzVector< Real > const &theta_hat, Real &alpha, Real &S)
 
void jacobi (double a[6][6], double d[], double v[6][6], int *nrot)
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, HomogeneousTransform< T > const &ht)
 
std::ostream & operator<< (std::ostream &stream, HomogeneousTransform< double > const &ht)
 
template<class Value >
double linear_interpolate (Value start, Value stop, unsigned curr_stage, unsigned num_stages)
 Linearly interpolates a quantity from start to stop over (num_stages + 1) stages. More...
 
template<typename T >
std::ostream & operator<< (std::ostream &output, const IntervalSet< T > &interval)
 
template<typename T >
MathMatrix< T > & operator+= (MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 add one matrix to another More...
 
template<typename T >
MathMatrix< T > & operator-= (MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract one matrix from another More...
 
template<typename T >
MathMatrix< T > & operator/= (MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &)
 divide one matrix by another More...
 
template<typename T >
MathMatrix< T > & operator+= (MathMatrix< T > &MATRIX_LHS, const T &VALUE)
 add scalar to matrix More...
 
template<typename T >
MathMatrix< T > & operator-= (MathMatrix< T > &MATRIX_LHS, const T &VALUE)
 subtract scalar from matrix More...
 
template<typename T >
MathMatrix< T > & operator*= (MathMatrix< T > &MATRIX_LHS, const T &SCALAR)
 multiply matrix with scalar More...
 
template<typename T >
MathMatrix< T > & operator/= (MathMatrix< T > &MATRIX_LHS, const T &SCALAR)
 divide matrix by scalar More...
 
template<typename T >
bool operator== (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 compare to matricess for equality More...
 
template<typename T >
bool operator!= (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 compare to matrices for inequality More...
 
template<typename T >
bool operator== (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 compare if all items in matrix are equal to a given VALUE More...
 
template<typename T >
bool operator== (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 compare if all items in matrix are equal to a given VALUE More...
 
template<typename T >
bool operator!= (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 compare if all items in matrix are not equal to a given VALUE More...
 
template<typename T >
bool operator!= (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 compare if all items in matrix are not equal to a given VALUE More...
 
template<typename T >
MathMatrix< T > operator+ (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 sum two matrixs of equal size More...
 
template<typename T >
MathMatrix< T > operator- (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract two matrixs of equal size More...
 
template<typename T >
MathMatrix< T > operator* (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 multiply two matrixs of equal size by building the inner product yielding the scalar product More...
 
template<typename T >
MathMatrix< T > operator+ (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 add value to matrix More...
 
template<typename T >
MathMatrix< T > operator+ (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 add matrix to value More...
 
template<typename T >
MathMatrix< T > operator- (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 subtract value from matrix More...
 
template<typename T >
MathMatrix< T > operator- (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract matrix from value More...
 
template<typename T >
MathMatrix< T > operator* (const T &SCALAR_LHS, const MathMatrix< T > &MATRIX_RHS)
 multiply scalar with matrix More...
 
template<typename T >
MathMatrix< T > operator* (const MathMatrix< T > &MATRIX_LHS, const T &SCALAR_RHS)
 multiply matrix with scalar More...
 
template<typename T >
MathVector< T > operator* (const MathMatrix< T > &MATRIX_LHS, const MathVector< T > &VECTOR_RHS)
 multiply matrix with vector More...
 
template<typename T >
MathMatrix< T > operator/ (const MathMatrix< T > &MATRIX_LHS, const T &SCALAR_RHS)
 divide matrix with scalar More...
 
template<typename T >
MathMatrix< T > operator/ (const T &SCALAR_LHS, const MathMatrix< T > &MATRIX_RHS)
 divide scalar by matrix More...
 
template<typename T >
distance (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B, MathVector< T > const &VECTOR_C, MathVector< T > const &VECTOR_D)
 
template<typename T >
proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B, MathVector< T > const &VECTOR_C)
 
template<typename T >
proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
scalar_product (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< T > MakeVector (T const &X)
 
template<typename T >
MathVector< T > MakeVector (T const &X, T const &Y)
 
template<typename T >
MathVector< T > MakeVector (T const &X, T const &Y, T const &Z)
 
template<typename T >
MathVector< T > operator- (MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< T > operator+ (MathVector< T > const &VECTOR)
 
template<typename T >
bool operator== (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
bool operator!= (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
bool operator== (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
bool operator!= (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
bool operator== (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
bool operator!= (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< T > operator+ (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< T > operator- (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< T > operator+ (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< T > operator- (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< T > operator+ (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< T > operator- (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
operator* (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< T > operator* (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< T > operator* (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< T > operator/ (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< T > operator/ (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< T > operator/ (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< T > operator^ (T const &X, MathVector< T > const &VECTOR)
 
std::ostream & operator<< (std::ostream &os, MultiDimensionalHistogram const &mdhist)
 
short int min (short int const a, short int const b)
 min( short int, short int ) More...
 
int min (int const a, int const b)
 min( int, int ) More...
 
long int min (long int const a, long int const b)
 min( long int, long int ) More...
 
unsigned short int min (unsigned short int const a, unsigned short int const b)
 min( unsigned short int, unsigned short int ) More...
 
unsigned int min (unsigned int const a, unsigned int const b)
 min( unsigned int, unsigned int ) More...
 
unsigned long int min (unsigned long int const a, unsigned long int const b)
 min( unsigned long int, unsigned long int ) More...
 
float min (float const a, float const b)
 min( float, float ) More...
 
double min (double const a, double const b)
 min( double, double ) More...
 
long double min (long double const a, long double const b)
 min( long double, long double ) More...
 
template<typename T >
T const & min (T const &a, T const &b, T const &c)
 min( a, b, c ) More...
 
template<typename T >
T const & min (T const &a, T const &b, T const &c, T const &d)
 min( a, b, c, d ) More...
 
template<typename T >
T const & min (T const &a, T const &b, T const &c, T const &d, T const &e)
 min( a, b, c, d, e ) More...
 
template<typename T >
T const & min (T const &a, T const &b, T const &c, T const &d, T const &e, T const &f)
 min( a, b, c, d, e, f ) More...
 
short int max (short int const a, short int const b)
 max( short int, short int ) More...
 
int max (int const a, int const b)
 max( int, int ) More...
 
long int max (long int const a, long int const b)
 max( long int, long int ) More...
 
unsigned short int max (unsigned short int const a, unsigned short int const b)
 max( unsigned short int, unsigned short int ) More...
 
unsigned int max (unsigned int const a, unsigned int const b)
 max( unsigned int, unsigned int ) More...
 
unsigned long int max (unsigned long int const a, unsigned long int const b)
 max( unsigned long int, unsigned long int ) More...
 
float max (float const a, float const b)
 max( float, float ) More...
 
double max (double const a, double const b)
 max( double, double ) More...
 
long double max (long double const a, long double const b)
 max( long double, long double ) More...
 
template<typename T >
T const & max (T const &a, T const &b, T const &c)
 max( a, b, c ) More...
 
template<typename T >
T const & max (T const &a, T const &b, T const &c, T const &d)
 max( a, b, c, d ) More...
 
template<typename T >
T const & max (T const &a, T const &b, T const &c, T const &d, T const &e)
 max( a, b, c, d, e ) More...
 
template<typename T >
T const & max (T const &a, T const &b, T const &c, T const &d, T const &e, T const &f)
 max( a, b, c, d, e, f ) More...
 
template<typename T >
square (T const &x)
 square( x ) == x^2 More...
 
template<typename T >
cube (T const &x)
 cube( x ) == x^3 More...
 
template<typename T >
int sign (T const &x)
 sign( x ) More...
 
template<typename S , typename T >
sign_transfered (S const &sigma, T const &x)
 Sign transfered value. More...
 
template<typename T >
abs_difference (T const &a, T const &b)
 Absolute difference. More...
 
template<typename R , typename T >
nearest (T const &x)
 nearest< R >( x ): Nearest R More...
 
template<typename T >
std::size_t nearest_size (T const &x)
 nearest_size( x ): Nearest std::size_t More...
 
template<typename T >
SSize nearest_ssize (T const &x)
 nearest_ssize( x ): Nearest SSize More...
 
template<typename T >
int nearest_int (T const &x)
 nearest_int( x ): Nearest int More...
 
template<typename T >
int nint (T const &x)
 nint( x ): Nearest int More...
 
template<typename T >
mod (T const &x, T const &y)
 x(mod y) computational modulo returning magnitude < | y | and sign of x More...
 
template<typename T >
modulo (T const &x, T const &y)
 x(mod y) mathematical modulo returning magnitude < | y | and sign of y More...
 
template<typename T >
remainder (T const &x, T const &y)
 Remainder of x with respect to division by y that is of smallest magnitude. More...
 
template<typename T >
fast_remainder (T const &x, T const &y)
 Remainder of x with respect to division by y that is of smallest magnitude. More...
 
template<typename T , typename S >
remainder_conversion (T const &t, S &s)
 Remainder and result of conversion to a different type. More...
 
template<typename T >
gcd (T const &m, T const &n)
 Greatest common divisor. More...
 
template<typename T >
bool eq_tol (T const &x, T const &y, T const &r_tol, T const &a_tol)
 Equal within specified relative and absolute tolerances? More...
 
template<typename T >
bool lt_tol (T const &x, T const &y, T const &r_tol, T const &a_tol)
 Less than within specified relative and absolute tolerances? More...
 
template<typename T >
bool le_tol (T const &x, T const &y, T const &r_tol, T const &a_tol)
 Less than or equal within specified relative and absolute tolerances? More...
 
template<typename T >
bool ge_tol (T const &x, T const &y, T const &r_tol, T const &a_tol)
 Greater than or equal within specified relative and absolute tolerances? More...
 
template<typename T >
bool gt_tol (T const &x, T const &y, T const &r_tol, T const &a_tol)
 Greater than within specified relative and absolute tolerances? More...
 
bool is_a_finitenumber (double s, double a, double b)
 
template<typename T >
xyzVector< T > first_principal_component (utility::vector1< xyzVector< T > > const &coords)
 return the first principal component of the given set of points More...
 
template<typename T >
xyzMatrix< T > principal_components (utility::vector1< xyzVector< T > > const &coords)
 return a matrix containing the first 3 principal components of the given set of points. Matrix columns are principal components, first column is first component, etc. More...
 
template<typename T >
xyzVector< T > principal_component_eigenvalues (utility::vector1< xyzVector< T > > const &coords)
 return a vector containing the eigenvalues corresponding to the first 3 principal components of the given set of points. More...
 
template<typename T >
std::pair< xyzMatrix< T >
, xyzVector< T > > 
principal_components_and_eigenvalues (utility::vector1< xyzVector< T > > const &coords)
 return a pair containing a matrix of the first 3 principal components and a vector of the corresponding eigenvalues of the given set of points. More...
 
std::pair< utility::vector1
< utility::vector1< Real >
>, utility::vector1< Real > > 
principal_components_and_eigenvalues_ndimensions (utility::vector1< utility::vector1< Real > > const &coords, bool const shift_center)
 Return a pair containing a matrix (vector of vectors) of all of the principal components and a vector of the corresponding eigenvalues of the given set of points in n-dimensional space. More...
 
ostream & operator<< (ostream &out, const Polynomial_1d &poly)
 
void read_probabilities_or_die (const std::string &filename, utility::vector1< double > *probs)
 Loads normalized, per-residue probabilities from filename, storing the result in probs. Assumes line i holds the probability of sampling residue i. There must be 1 line for each residue in the pose on which this data will be used. More...
 
void print_probabilities (const utility::vector1< double > &probs, std::ostream &out)
 Writes probs to the specified ostream. More...
 
template<class InputIterator >
double sum (InputIterator first, InputIterator last)
 Returns the sum of all elements on the range [first, last) More...
 
template<class InputIterator >
void normalize (InputIterator first, InputIterator last)
 Normalizes elements on the range [first, last) More...
 
template<class RandomAccessIterator >
void cumulative (RandomAccessIterator first, RandomAccessIterator last)
 Converts pdf to cdf. More...
 
template<class ForwardIterator >
void product (ForwardIterator probs1_first, ForwardIterator probs1_last, ForwardIterator probs2_first, ForwardIterator probs2_last)
 Multiplies two probability vectors with one another. Probability vectors are assumed to have equal lengths. More...
 
template<typename T >
Quaternion< T > operator* (Quaternion< T > const &q2, Quaternion< T > const &q1)
 Quaternion * Quaternion. More...
 
template<typename T >
Quaternion< T > product (Quaternion< T > const &q2, Quaternion< T > const &q1, bool const precise)
 Product: Quaternion * Quaternion. More...
 
template<typename T >
bool operator== (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Quaternion == Quaternion. More...
 
template<typename T >
bool operator!= (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Quaternion != Quaternion. More...
 
template<typename T >
dot (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Dot product. More...
 
template<typename T >
dot_product (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Dot product. More...
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, Quaternion< T > const &q)
 stream << Quaternion output operator More...
 
template<typename T >
std::istream & operator>> (std::istream &stream, Quaternion< T > &q)
 stream >> Quaternion input operator More...
 
template<typename T >
sec (T const &x)
 Secant. More...
 
template<typename T >
csc (T const &x)
 Cosecant. More...
 
template<typename T >
cot (T const &x)
 Cotangent. More...
 
template<typename T >
bool in_sin_cos_range (T const &x, T const &tol=T(.001))
 Is a sine or cosine value within a specified tolerance of the valid [-1,1] range? More...
 
template<typename T >
sin_cos_range (T const &x, T const &tol=T(.001))
 Adjust a sine or cosine value to the valid [-1,1] range if within a specified tolerance or exit with an error. More...
 
template<typename T >
arccos (T const x)
 like std::acos but with range checking More...
 
numeric::Real median (utility::vector1< numeric::Real > const &values)
 Returns the median from a vector1 of Real values. More...
 
numeric::Real mean (utility::vector1< numeric::Real > const &values)
 
template<typename Number >
Number clamp (Number value, Number lower_bound, Number upper_bound)
 Clamps to the closed interval [lower_bound, upper_bound]. Templated type must implement operator<. More...
 
double log (double x, double base)
 Computes log(x) in the given base. More...
 
template<typename T >
bool isnan (T value)
 portable check to see if a value is NaN. More...
 
template<typename T >
bool isinf (T value)
 
bool equal_by_epsilon (numeric::Real value1, numeric::Real value2, numeric::Real epsilon)
 are two Real values are equal up to some epsilon More...
 
template<typename T >
max (utility::vector1< T > const &values)
 
template<typename T >
min (utility::vector1< T > const &values)
 
Real boltzmann_accept_probability (Real const score_before, Real const score_after, Real const temperature)
 Calculates the acceptance probability of a given score-change at the given temperature, generally used in simulated annealing algorithms. Returns a value in the range (0-1). More...
 
template<typename T >
find_nearest_value (typename utility::vector1< T > const &input_list, T key, platform::Size min_index, platform::Size max_index)
 recursive binary search that finds the value closest to key. Call find_nearest_value(input_list,value) instead. It's the driver function for this function. This fails miserably (and silently!) on a non-sorted vector, so don't do that!. More...
 
template<typename T >
find_nearest_value (typename utility::vector1< T > const &input_list, T key)
 given a vector and an input value, return the value in the vector that is closest to the input This is a wrapper for find_nearest_value(input_list,key,min,max) and insures that you're sorted. More...
 
template<typename T >
wrap_2pi (T const &angle)
 Wrap the given angle in the range [0, 2 * pi). More...
 
template<typename T >
wrap_pi (T const &angle)
 Wrap the given angle in the range [-pi, pi). More...
 
template<typename T >
wrap_360 (T const &angle)
 Wrap the given angle in the range [0, 360). More...
 
template<typename T >
wrap_180 (T const &angle)
 Wrap the given angle in the range [-180, 180). More...
 
template<typename T >
xyzVector< T > operator* (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix * xyzVector More...
 
template<typename T >
xyzVector< T > product (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix * xyzVector product More...
 
template<typename T >
xyzVector< T > & inplace_product (xyzMatrix< T > const &m, xyzVector< T > &v)
 xyzMatrix * xyzVector in-place product More...
 
template<typename T >
xyzVector< T > transpose_product (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix^T * xyzVector product More...
 
template<typename T >
xyzVector< T > & inplace_transpose_product (xyzMatrix< T > const &m, xyzVector< T > &v)
 xyzMatrix^T * xyzVector in-place transpose product More...
 
template<typename T >
xyzMatrix< T > outer_product (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector xyzVector outer product More...
 
template<typename T >
xyzMatrix< T > inverse (xyzMatrix< T > const &a)
 
template<typename T >
xyzMatrix< T > projection_matrix (xyzVector< T > const &v)
 geometric center More...
 
template<typename T >
void dihedral_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4, T &angle)
 Dihedral (torsion) angle in radians: angle value passed. More...
 
template<typename T >
dihedral_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Dihedral (torsion) angle in radians: angle value returned. More...
 
template<typename T >
void dihedral_degrees (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4, T &angle)
 Dihedral (torsion) angle in degrees: angle value passed. More...
 
template<typename T >
dihedral_degrees (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Dihedral (torsion) angle in degrees: angle value returned. More...
 
template<typename T >
void dihedral (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4, T &angle)
 Dihedral (torsion) angle in degrees: angle value passed. More...
 
template<typename T >
dihedral (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Dihedral (torsion) angle in degrees: angle value returned. More...
 
template<typename T >
xyzMatrix< T > rotation_matrix (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in radians. More...
 
template<typename T >
xyzVector< T > rotation_axis (xyzMatrix< T > const &R, T &theta)
 Transformation from rotation matrix to helical axis of rotation. More...
 
template<typename T >
xyzVector< T > eigenvalue_jacobi (xyzMatrix< T > const &a, T const &tol)
 Classic Jacobi algorithm for the eigenvalues of a real symmetric matrix. More...
 
template<typename T >
xyzVector< T > eigenvector_jacobi (xyzMatrix< T > const &a, T const &tol, xyzMatrix< T > &J)
 Classic Jacobi algorithm for the eigenvalues and eigenvectors of a real symmetric matrix. More...
 
template<typename T >
void jacobi_rotation (xyzMatrix< T > const &m, int const i, int const j, xyzMatrix< T > &r)
 Jacobi rotation. More...
 
template<typename T >
sphericalVector< T > xyz_to_spherical (xyzVector< T > const &xyz)
 
template<typename T >
xyzVector< T > spherical_to_xyz (sphericalVector< T > const &spherical)
 
template<typename T >
xyzVector< T > closest_point_on_line (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &q)
 xyzMatrix * xyzVector More...
 
template<typename T >
xyzVector< T > center_of_mass (utility::vector1< xyzVector< T > > const &coords)
 calculate center of mass for coordinates More...
 
template<typename T >
void angle_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, T &angle)
 Plane angle in radians: angle value passed. More...
 
template<typename T >
angle_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3)
 Plane angle in radians: angle value returned. More...
 
double angle_radians_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3)
 
template<typename T >
angle_degrees (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3)
 Plane angle in degrees: angle value returned. More...
 
double angle_degrees_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3)
 
template<typename T >
angle_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Angle between two vectors in radians. More...
 
double angle_radians_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4)
 
template<typename T >
angle_degrees (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Angle between two vectors in radians. More...
 
double angle_degrees_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4)
 
void dihedral_radians_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4, double &angle)
 
double dihedral_radians_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4)
 
void dihedral_degrees_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4, double &angle)
 
double dihedral_degrees_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4)
 
void dihedral_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4, double &angle)
 
double dihedral_double (xyzVector< double > const &p1, xyzVector< double > const &p2, xyzVector< double > const &p3, xyzVector< double > const &p4)
 
template<typename T >
xyzMatrix< T > rotation_matrix (xyzVector< T > const &axis_angle)
 
template<typename T >
xyzMatrix< T > rotation_matrix_radians (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > rotation_matrix_degrees (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< T > x_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > x_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > x_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< T > y_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > y_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > y_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< T > z_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > z_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< T > z_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< T > alignVectorSets (xyzVector< T > A1, xyzVector< T > B1, xyzVector< T > A2, xyzVector< T > B2)
 Helper function to find the rotation to optimally transform the vectors A1-B1 to vectors A2-B2. More...
 
template<typename T >
rotation_angle (xyzMatrix< T > const &R)
 Transformation from rotation matrix to magnitude of helical rotation. More...
 
template<typename T >
xyzVector< T > rotation_axis_angle (xyzMatrix< T > const &R)
 Transformation from rotation matrix to compact axis-angle representation. More...
 
template<typename T >
xyzVector< T > comma_seperated_string_to_xyz (std::string triplet)
 convert a string of comma separated values "0.2,0.4,0.3" to an xyzVector More...
 
template<typename T >
ObjexxFCL::FArray2D< T > vector_of_xyzvectors_to_FArray (utility::vector1< xyzVector< T > > const &input)
 convert a vector1 of xyzVectors to an FArray2D More...
 
template<typename T >
utility::vector1< xyzVector< T > > FArray_to_vector_of_xyzvectors (ObjexxFCL::FArray2D< T > const &input)
 convert an FArray2D to a vector of xyzVectors More...
 
template<typename T >
numeric::xyzMatrix< T > FArray_to_xyzmatrix (ObjexxFCL::FArray2D< T > const &input)
 convert a 3x3 FArray 2D to an xyzMatrix More...
 
template<typename T >
ObjexxFCL::FArray2D< T > xyzmatrix_to_FArray (numeric::xyzMatrix< T > const &input)
 convert an xyzMatrix to a 3x3 FArray 2D More...
 
template<typename T >
utility::json_spirit::Value serialize (xyzVector< T > coords)
 Convert vector to a json_spirit Value. More...
 
template<typename T >
xyzVector< T > deserialize (utility::json_spirit::mArray data)
 
template<typename T >
xyzMatrix< T > operator+ (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix + xyzMatrix More...
 
template<typename T >
xyzMatrix< T > operator+ (xyzMatrix< T > const &m, T const &t)
 xyzMatrix + T More...
 
template<typename T >
xyzMatrix< T > operator+ (T const &t, xyzMatrix< T > const &m)
 T + xyzMatrix. More...
 
template<typename T >
xyzMatrix< T > operator- (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix - xyzMatrix More...
 
template<typename T >
xyzMatrix< T > operator- (xyzMatrix< T > const &m, T const &t)
 xyzMatrix - T More...
 
template<typename T >
xyzMatrix< T > operator- (T const &t, xyzMatrix< T > const &m)
 T - xyzMatrix. More...
 
template<typename T >
xyzMatrix< T > operator* (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix * xyzMatrix More...
 
template<typename T >
xyzMatrix< T > operator* (xyzMatrix< T > const &m, T const &t)
 xyzMatrix * T More...
 
template<typename T >
xyzMatrix< T > operator* (T const &t, xyzMatrix< T > const &m)
 T * xyzMatrix. More...
 
template<typename T >
xyzMatrix< T > operator/ (xyzMatrix< T > const &m, T const &t)
 xyzMatrix / T More...
 
template<typename T >
bool operator== (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix == xyzMatrix More...
 
template<typename T >
bool operator!= (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix != xyzMatrix More...
 
template<typename T >
bool operator< (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix < xyzMatrix More...
 
template<typename T >
bool operator<= (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix <= xyzMatrix More...
 
template<typename T >
bool operator>= (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix >= xyzMatrix More...
 
template<typename T >
bool operator> (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix > xyzMatrix More...
 
template<typename T >
bool operator== (xyzMatrix< T > const &m, T const &t)
 xyzMatrix == T More...
 
template<typename T >
bool operator!= (xyzMatrix< T > const &m, T const &t)
 xyzMatrix != T More...
 
template<typename T >
bool operator< (xyzMatrix< T > const &m, T const &t)
 xyzMatrix < T More...
 
template<typename T >
bool operator<= (xyzMatrix< T > const &m, T const &t)
 xyzMatrix <= T More...
 
template<typename T >
bool operator>= (xyzMatrix< T > const &m, T const &t)
 xyzMatrix >= T More...
 
template<typename T >
bool operator> (xyzMatrix< T > const &m, T const &t)
 xyzMatrix > T More...
 
template<typename T >
bool operator== (T const &t, xyzMatrix< T > const &m)
 T == xyzMatrix. More...
 
template<typename T >
bool operator!= (T const &t, xyzMatrix< T > const &m)
 T != xyzMatrix. More...
 
template<typename T >
bool operator< (T const &t, xyzMatrix< T > const &m)
 T < xyzMatrix. More...
 
template<typename T >
bool operator<= (T const &t, xyzMatrix< T > const &m)
 T <= xyzMatrix. More...
 
template<typename T >
bool operator>= (T const &t, xyzMatrix< T > const &m)
 T >= xyzMatrix. More...
 
template<typename T >
bool operator> (T const &t, xyzMatrix< T > const &m)
 T > xyzMatrix. More...
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzMatrix< T > const &m)
 stream << xyzMatrix output operator More...
 
template<typename T >
std::istream & read_row (std::istream &stream, T &x, T &y, T &z)
 Read an xyzMatrix row from a stream. More...
 
template<typename T >
std::istream & operator>> (std::istream &stream, xyzMatrix< T > &m)
 stream >> xyzMatrix input operator More...
 
template<typename T , class OutputIterator >
void expand_xforms (OutputIterator container, xyzTransform< T > const &G1, xyzTransform< T > const &G2, xyzTransform< T > const &, int N=5, Real r=9e9, xyzVector< T > const test_point=xyzVector< T >(Real(1.0), Real(3.0), Real(10.0)))
 
template<typename T , class OutputIterator >
void expand_xforms (OutputIterator container, xyzTransform< T > const &G1, xyzTransform< T > const &G2, int N=5, Real r=9e9, xyzVector< T > const test_point=xyzVector< T >(Real(1.0), Real(3.0), Real(10.0)))
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzTransform< T > const &m)
 stream << xyzTransform output operator More...
 
template<typename T >
std::istream & operator>> (std::istream &stream, xyzTransform< T > &m)
 stream >> xyzTransform input operator More...
 
template<typename T >
xyzTriple< T > operator+ (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple + xyzTriple More...
 
template<typename T >
xyzTriple< T > operator+ (xyzTriple< T > const &v, T const &t)
 xyzTriple + T More...
 
template<typename T >
xyzTriple< T > operator+ (T const &t, xyzTriple< T > const &v)
 T + xyzTriple. More...
 
template<typename T >
xyzTriple< T > operator- (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple - xyzTriple More...
 
template<typename T >
xyzTriple< T > operator- (xyzTriple< T > const &v, T const &t)
 xyzTriple - T More...
 
template<typename T >
xyzTriple< T > operator- (T const &t, xyzTriple< T > const &v)
 T - xyzTriple. More...
 
template<typename T >
xyzTriple< T > operator* (xyzTriple< T > const &v, T const &t)
 xyzTriple * T More...
 
template<typename T >
xyzTriple< T > operator* (T const &t, xyzTriple< T > const &v)
 T * xyzTriple. More...
 
template<typename T >
xyzTriple< T > operator/ (xyzTriple< T > const &v, T const &t)
 xyzTriple / T More...
 
template<typename T >
void add (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &r)
 Add: xyzTriple + xyzTriple. More...
 
template<typename T >
void add (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Add: xyzTriple + T. More...
 
template<typename T >
void add (T const &t, xyzTriple< T > const &v, xyzTriple< T > &r)
 Add: T + xyzTriple. More...
 
template<typename T >
void subtract (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &r)
 Subtract: xyzTriple - xyzTriple. More...
 
template<typename T >
void subtract (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Subtract: xyzTriple - T. More...
 
template<typename T >
void subtract (T const &t, xyzTriple< T > const &v, xyzTriple< T > &r)
 Subtract: T - xyzTriple. More...
 
template<typename T >
void multiply (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Multiply: xyzTriple * T. More...
 
template<typename T >
void multiply (T const &t, xyzTriple< T > const &v, xyzTriple< T > &r)
 Multiply: T * xyzTriple. More...
 
template<typename T >
void divide (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Divide: xyzTriple / T. More...
 
template<typename T >
xyzTriple< T > min (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple with min coordinates of two xyzTriples More...
 
template<typename T >
xyzTriple< T > max (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple with max coordinates of two xyzTriples More...
 
template<typename T >
distance (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Distance. More...
 
template<typename T >
distance_squared (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Distance squared. More...
 
template<typename T >
dot (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Dot product. More...
 
template<typename T >
dot_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Dot product. More...
 
template<typename T >
inner_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Inner product ( == dot product ) More...
 
template<typename T >
xyzTriple< T > cross (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cross product. More...
 
template<typename T >
xyzTriple< T > cross_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cross product. More...
 
template<typename T >
void cross (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename T >
void cross_product (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename T >
xyzTriple< T > midpoint (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Midpoint of 2 xyzTriples. More...
 
template<typename T >
void midpoint (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &m)
 Midpoint of 2 xyzTriples: Return via argument (slightly faster) More...
 
template<typename T >
xyzTriple< T > center (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Center of 2 xyzTriples. More...
 
template<typename T >
void center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &m)
 Center of 2 xyzTriples: Return via argument (slightly faster) More...
 
template<typename T >
xyzTriple< T > center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Center of 3 xyzTriples. More...
 
template<typename T >
void center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c, xyzTriple< T > &m)
 Center of 3 xyzTriples: Return via argument (slightly faster) More...
 
template<typename T >
xyzTriple< T > center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c, xyzTriple< T > const &d)
 Center of 4 xyzTriples. More...
 
template<typename T >
void center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c, xyzTriple< T > const &d, xyzTriple< T > &m)
 Center of 4 xyzTriples: Return via argument (slightly faster) More...
 
template<typename T >
angle_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename T >
angle_of (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ]) More...
 
template<typename T >
cos_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cosine of angle between two vectors. More...
 
template<typename T >
cos_of (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Cosine of angle formed by three consecutive points. More...
 
template<typename T >
sin_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Sine of angle between two vectors. More...
 
template<typename T >
sin_of (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Sine of angle formed by three consecutive points. More...
 
template<typename T >
bool operator== (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple == xyzTriple More...
 
template<typename T >
bool operator!= (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple != xyzTriple More...
 
template<typename T >
bool operator< (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple < xyzTriple More...
 
template<typename T >
bool operator<= (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple <= xyzTriple More...
 
template<typename T >
bool operator>= (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple >= xyzTriple More...
 
template<typename T >
bool operator> (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple > xyzTriple More...
 
template<typename T >
bool operator== (xyzTriple< T > const &v, T const &t)
 xyzTriple == T More...
 
template<typename T >
bool operator!= (xyzTriple< T > const &v, T const &t)
 xyzTriple != T More...
 
template<typename T >
bool operator< (xyzTriple< T > const &v, T const &t)
 xyzTriple < T More...
 
template<typename T >
bool operator<= (xyzTriple< T > const &v, T const &t)
 xyzTriple <= T More...
 
template<typename T >
bool operator>= (xyzTriple< T > const &v, T const &t)
 xyzTriple >= T More...
 
template<typename T >
bool operator> (xyzTriple< T > const &v, T const &t)
 xyzTriple > T More...
 
template<typename T >
bool operator== (T const &t, xyzTriple< T > const &v)
 T == xyzTriple. More...
 
template<typename T >
bool operator!= (T const &t, xyzTriple< T > const &v)
 T != xyzTriple. More...
 
template<typename T >
bool operator< (T const &t, xyzTriple< T > const &v)
 T < xyzTriple. More...
 
template<typename T >
bool operator<= (T const &t, xyzTriple< T > const &v)
 T <= xyzTriple. More...
 
template<typename T >
bool operator>= (T const &t, xyzTriple< T > const &v)
 T >= xyzTriple. More...
 
template<typename T >
bool operator> (T const &t, xyzTriple< T > const &v)
 T > xyzTriple. More...
 
template<typename T >
bool equal_length (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Equal length? More...
 
template<typename T >
bool not_equal_length (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Not equal length? More...
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzTriple< T > const &v)
 stream << xyzTriple output operator More...
 
template<typename T >
std::istream & operator>> (std::istream &stream, xyzTriple< T > &v)
 stream >> xyzTriple input operator More...
 
template<typename T >
platform::Size hash_value (xyzVector< T > const &v)
 
template<typename T >
xyzVector< T > operator+ (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector + xyzVector More...
 
template<typename T >
xyzVector< T > operator+ (xyzVector< T > const &v, T const &t)
 xyzVector + T More...
 
template<typename T >
xyzVector< T > operator+ (T const &t, xyzVector< T > const &v)
 T + xyzVector. More...
 
template<typename T >
xyzVector< T > operator- (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector - xyzVector More...
 
template<typename T >
xyzVector< T > operator- (xyzVector< T > const &v, T const &t)
 xyzVector - T More...
 
template<typename T >
xyzVector< T > operator- (T const &t, xyzVector< T > const &v)
 T - xyzVector. More...
 
template<typename T >
xyzVector< T > operator* (xyzVector< T > const &v, T const &t)
 xyzVector * T More...
 
template<typename T >
xyzVector< T > operator* (T const &t, xyzVector< T > const &v)
 T * xyzVector. More...
 
template<typename T >
xyzVector< T > operator/ (xyzVector< T > const &v, T const &t)
 xyzVector / T More...
 
template<typename T >
void add (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &r)
 Add: xyzVector + xyzVector. More...
 
template<typename T >
void add (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Add: xyzVector + T. More...
 
template<typename T >
void add (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Add: T + xyzVector. More...
 
template<typename T >
void subtract (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &r)
 Subtract: xyzVector - xyzVector. More...
 
template<typename T >
void subtract (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Subtract: xyzVector - T. More...
 
template<typename T >
void subtract (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Subtract: T - xyzVector. More...
 
template<typename T >
void multiply (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Multiply: xyzVector * T. More...
 
template<typename T >
void multiply (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Multiply: T * xyzVector. More...
 
template<typename T >
void divide (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Divide: xyzVector / T. More...
 
template<typename T >
xyzVector< T > min (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with min coordinates of two xyzVectors More...
 
template<typename T >
xyzVector< T > max (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with max coordinates of two xyzVectors More...
 
template<typename T >
dot (xyzVector< T > const &a, xyzVector< T > const &b)
 Distance. More...
 
template<typename T >
dot_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Dot product. More...
 
template<typename T >
inner_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Inner product ( == dot product ) More...
 
template<typename T >
xyzVector< T > cross (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product. More...
 
template<typename T >
xyzVector< T > cross_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product. More...
 
template<typename T >
void cross (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename T >
void cross_product (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename T >
xyzVector< T > midpoint (xyzVector< T > const &a, xyzVector< T > const &b)
 Midpoint of 2 xyzVectors. More...
 
template<typename T >
void midpoint (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &m)
 Midpoint of 2 xyzVectors: Return via argument (slightly faster) More...
 
template<typename T >
xyzVector< T > center (xyzVector< T > const &a, xyzVector< T > const &b)
 Center of 2 xyzVectors. More...
 
template<typename T >
void center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &m)
 Center of 2 xyzVectors: Return via argument (slightly faster) More...
 
template<typename T >
xyzVector< T > center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Center of 3 xyzVectors. More...
 
template<typename T >
void center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > &m)
 Center of 3 xyzVectors: Return via argument (slightly faster) More...
 
template<typename T >
xyzVector< T > center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > const &d)
 Center of 4 xyzVectors. More...
 
template<typename T >
void center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > const &d, xyzVector< T > &m)
 Center of 4 xyzVectors: Return via argument (slightly faster) More...
 
template<typename T >
angle_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename T >
angle_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ]) More...
 
template<typename T >
cos_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Cosine of angle between two vectors. More...
 
template<typename T >
cos_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Cosine of angle formed by three consecutive points. More...
 
template<typename T >
sin_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Sine of angle between two vectors. More...
 
template<typename T >
sin_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Sine of angle formed by three consecutive points. More...
 
template<typename T >
bool operator== (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector == xyzVector More...
 
template<typename T >
bool operator!= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector != xyzVector More...
 
template<typename T >
bool operator< (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector < xyzVector More...
 
template<typename T >
bool operator<= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector <= xyzVector More...
 
template<typename T >
bool operator>= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector >= xyzVector More...
 
template<typename T >
bool operator> (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector > xyzVector More...
 
template<typename T >
bool operator== (xyzVector< T > const &v, T const &t)
 xyzVector == T More...
 
template<typename T >
bool operator!= (xyzVector< T > const &v, T const &t)
 xyzVector != T More...
 
template<typename T >
bool operator< (xyzVector< T > const &v, T const &t)
 xyzVector < T More...
 
template<typename T >
bool operator<= (xyzVector< T > const &v, T const &t)
 xyzVector <= T More...
 
template<typename T >
bool operator>= (xyzVector< T > const &v, T const &t)
 xyzVector >= T More...
 
template<typename T >
bool operator> (xyzVector< T > const &v, T const &t)
 xyzVector > T More...
 
template<typename T >
bool operator== (T const &t, xyzVector< T > const &v)
 T == xyzVector. More...
 
template<typename T >
bool operator!= (T const &t, xyzVector< T > const &v)
 T != xyzVector. More...
 
template<typename T >
bool operator< (T const &t, xyzVector< T > const &v)
 T < xyzVector. More...
 
template<typename T >
bool operator<= (T const &t, xyzVector< T > const &v)
 T <= xyzVector. More...
 
template<typename T >
bool operator>= (T const &t, xyzVector< T > const &v)
 T >= xyzVector. More...
 
template<typename T >
bool operator> (T const &t, xyzVector< T > const &v)
 T > xyzVector. More...
 
template<typename T >
bool equal_length (xyzVector< T > const &a, xyzVector< T > const &b)
 Equal length? More...
 
template<typename T >
bool not_equal_length (xyzVector< T > const &a, xyzVector< T > const &b)
 Not equal length? More...
 
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzVector< T > const &v)
 stream << xyzVector output operator More...
 
template<typename T >
std::istream & operator>> (std::istream &stream, xyzVector< T > &v)
 stream >> xyzVector input operator More...
 
template<typename T >
std::string truncate_and_serialize_xyz_vector (xyzVector< T > vector, Real precision)
 

Detailed Description

Unit headers.

A collection of functions for working with probabilities.

Vector0's that can perform mathmatical functions.

construction/destructor of 3-D Matrix's with some functions

Mathmatical functions for the MathMatrix class.

construction/destructor of Matrix's with some functions

Tricubic spline for smoothly interpolating a function in 3 dimensions.

Cubic spline for all your evil desires.

Bicubic spline for all your hearts desires.

read the header file!

A 2D histogram based upon a map structure.

A 1D histogram based upon a map structure.

Boost headers.

Utility headers.

Core headers Utility headers C++ headers

Numeric headers Utility headers C++ headers

C++ headers

OneDHistogram

Detailed:
Very simple class for histograms based upon maps. You provide the key, which is templated, meaning that the key can be a string, real, size, enum. It will return a count, if you want it
Authors
Steven Combs
Last Modified: November 18 2010

TwoDHistogram

Detailed:
Very simple class for histograms based upon maps. You provide the key, which is templated, meaning that the two keys can be strings, reals, sizes. It will return a count, if you want it
Authors
Steven Combs
Last Modified: November 18 2010

Bicubic_spline

References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Authors
Steven Combs, Ralf Mueller, Jens Meiler
Last Modified: August 20 2010

Bicubic_spline

Detailed:
This is an implementation of an algorithm from Numerical Recipes. It relies heavily on the implementation of the cubic spline (from Numerical Recipes), the MathMatrix, and the MathVector. You MUST USE the MathVector and MathMatrix implementations to use this function. The spline is very customizable and allows you to define the border behaviors (start/end of spline values). If you use the e_Natural (enum) BorderFlag, the start/end (border) of the spline will be linear. This may not be ideal for scoring functions as you want the a smoothing effect at the start/end (border) values. Instead, you probably want to use the e_FirstDeriv (enum) BorderFlag with the first derivate (private member value firstbe_) set to 0. This will cause a smoothing out of the start/end (border) of spline. If you want the splie to be continuous, you should use the e_Periodic (enum) BorderFlag.

To "train" the spline, use must provide the spline with a MathMatrix (numeric::MathMatrix). Lets look at an example. x values y 1__2__ 3 .1 | 1 2 3 | v .3 | 4 5 6 | a .5 | 7 8 9 | l |__________| u e s

Given the above Matrix (MathMatrix) You would want your start (START[2] private member value start_) values to be START[] = {1,.1}. You would then want to assign the delta (DELTA[2], private member value delta_) values to DELTA[] = {1,.2}. These delta values is the change between your x values and your y values. For example, the change between x1 and x2 is 1. Therefore, the delta for the x-values will be 1. For y values, you have y.1, y.3 which is a change of .2, therefore the delta will be .2. You do not have to specify an end because the algorithm will stop when it reaches the last value in the matrix.

Finally, the LinCont determins that if the argument x or y is outside the range decide if the spline should be continued linearly.

References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Authors
Steven Combs, Ralf Mueller, Jens Meiler
Last Modified: August 20 2010

Cubic_spline

References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Authors
Steven Combs, Ralf Mueller, Jens Meiler
Last Modified: August 20 2010

Cubic_spline

Detailed:
The below comments are for the Bicubic spline but apply for the cubic spline. This is an implementation of an algorithm from Numerical Recipes. It relies heavily on the implementation of the cubic spline (from Numerical Recipes), the MathMatrix, and the MathVector. You MUST USE the MathVector and MathMatrix implementations to use this function. The spline is very customizable and allows you to define the border behaviors (start/end of spline values). If you use the e_Natural (enum) BorderFlag, the start/end (border) of the spline will be linear. This may not be ideal for scoring functions as you want the a smoothing effect at the start/end (border) values. Instead, you probably want to use the e_FirstDeriv (enum) BorderFlag with the first derivate (private member value firstbe_) set to 0. This will cause a smoothing out of the start/end (border) of spline. If you want the splie to be continuous, you should use the e_Periodic (enum) BorderFlag.

To "train" the spline, use must provide the spline with a MathMatrix (numeric::MathMatrix). Lets look at an example. x values y 1__2__ 3 .1 | 1 2 3 | v .3 | 4 5 6 | a .5 | 7 8 9 | l |__________| u e s

Given the above Matrix (MathMatrix) You would want your start (START[2] private member value start_) values to be START[] = {1,.1}. You would then want to assign the delta (DELTA[2], private member value delta_) values to DELTA[] = {1,.2}. These delta values is the change between your x values and your y values. For example, the change between x1 and x2 is 1. Therefore, the delta for the x-values will be 1. For y values, you have y.1, y.3 which is a change of .2, therefore the delta will be .2. You do not have to specify an end because the algorithm will stop when it reaches the last value in the matrix.

Finally, the LinCont determins that if the argument x or y is outside the range decide if the spline should be continued linearly.

References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Authors
Steven Combs, Ralf Mueller, Jens Meiler
Last Modified: August 20 2010

Bicubic_spline

References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Authors
Steven Combs, Ralf Mueller, Jens Meiler ported to Rosetta by Andrew Leaver-Fay
Last Modified: August 20 2010

Bicubic_spline

Detailed:
References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Authors
Steven Combs, Ralf Mueller, Jens Meiler ported to Rosetta by Andrew Leaver-Fay
Last Modified: March 28 2012

MathMatrix

Detailed:
This is an implementation of an algorithm that was taken from BCL (Jens Meiler) The Matrix is constructed out of arrays and places values into rows/columns based on however many columns/rows you specify. Actual operations of the MathMatrix are implemented in numeric/MathMatrix_operations.hh. To access specific values (elements), you must use the operator (). For example: to access row 5, column 3 of a matrix, you would use matrix(5,3). *****NOTE**** The MathMatrix class is indexed at 0!!!!
References:
Nils Woetzl Jens Meiler
Authors
Steven Combs, Nils Woetzl, Jens Meiler
Last Modified: August 19 2010

MathMatrix_operations

Detailed:
This is an implementation of an algorithm that was taken from BCL (Jens Meiler) The Matrix is construction is found in numeric/MathMatrix.hh. These are mathematical functions that can be used by the MathMatrix class. ***Note that these are outside of class, but having the operators take two arguments ensures that no one will use the functions unknowningly
References:
Nils Woetzl Jens Meiler
Authors
Steven Combs, Nils Woetzl, Jens Meiler
Last Modified: August 19 2010

MathTensor

Detailed:
This is an implementation of an algorithm that was taken from BCL (Jens Meiler) *****NOTE**** The MathTensor class is indexed at 0!!!!
References:
Nils Woetzl Jens Meiler
Authors
Steven Combs, Nils Woetzl, Jens Meiler
ported to Rosetta by Andrew Leaver-Fay (aleav.nosp@m.erfa.nosp@m.y@gma.nosp@m.il.c.nosp@m.om)
Last Modified: March 28 2012

MathVector

Detailed:
This is an implementation of an algorithm that was taken from BCL (Jens Meiler) The MathVector is constructed just like utility::vector0, however this class does not inherit from utility::vector0. It is implemented this way to avoid confusion. Most functions from the std::vector / utility::vector0 ARE NOT included. This is a vector that performs mathematical functions, not a "storage" vector. Actual mathematical functions found in numeric/MathVector_operations. To access specific values you must use the operator (). For example: vector(5), will give you the value at index 5. This is done to distinguish from utility::vector!
References:
Nils Woetzl Jens Meiler
Authors
Steven Combs, Nils Woetzl, Jens Meiler
Last Modified: August 19 2010

MathMatrix_operations

Detailed:
This is an implementation of an algorithm that was taken from BCL (Jens Meiler) The Matrix is construction is found in numeric/MathVector.hh. These are mathematical functions that can be used by the MathVector class. ***Note that these are outside of class, but having the operators take two arguments ensures that no one will use the functions unknowningly
References:
Nils Woetzl Jens Meiler
Authors
Steven Combs, Nils Woetzl, Jens Meiler
Last Modified: August 19 2010
Author
James Thompson

Currently supported RG types: standard - build in C++ random generator ran3 - old generator from previos version of rosetta

Typedef Documentation

Enumeration Type Documentation

Enumerator
true_positive 
true_negative 
false_positive 
false_negative 

Function Documentation

template<typename T >
T numeric::abs_difference ( T const &  a,
T const &  b 
)
inline

Absolute difference.

References max(), and min().

template<typename T >
void numeric::add ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > &  r 
)
template<typename T >
void numeric::add ( xyzTriple< T > const &  v,
T const &  t,
xyzTriple< T > &  r 
)

Add: xyzTriple + T.

template<typename T >
void numeric::add ( T const &  t,
xyzTriple< T > const &  v,
xyzTriple< T > &  r 
)

Add: T + xyzTriple.

template<typename T >
void numeric::add ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > &  r 
)
template<typename T >
void numeric::add ( xyzVector< T > const &  v,
T const &  t,
xyzVector< T > &  r 
)

Add: xyzVector + T.

template<typename T >
void numeric::add ( T const &  t,
xyzVector< T > const &  v,
xyzVector< T > &  r 
)

Add: T + xyzVector.

template<typename T >
xyzMatrix< T > numeric::alignVectorSets ( xyzVector< T >  A1,
xyzVector< T >  B1,
xyzVector< T >  A2,
xyzVector< T >  B2 
)
inline
template<typename T >
T numeric::angle_degrees ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3 
)
inline

Plane angle in degrees: angle value returned.

Note
Given three positions in a chain ( p1, p2, p3 ), calculates the plane angle in degrees between the vectors p2->p1 and p2->p3
Angle returned is on [ 0, 180 ]

References basic::options::OptionKeys::hotspot::angle, angle_radians(), numeric::conversions::degrees(), and basic::T().

Referenced by angle_degrees_double().

template<typename T >
T numeric::angle_degrees ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4 
)
inline

Angle between two vectors in radians.

Note
Given two vectors (p1->p2 & p3->p4), calculate the angle between them
Angle returned is on [ 0, pi ]

References basic::options::OptionKeys::hotspot::angle, angle_radians(), numeric::conversions::degrees(), and basic::T().

double numeric::angle_degrees_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3 
)
inline

References angle_degrees().

double numeric::angle_degrees_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4 
)
inline

References angle_degrees().

template<typename T >
T numeric::angle_of ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Angle between two vectors (in radians on [ 0, pi ])

template<typename T >
T numeric::angle_of ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > const &  c 
)

Angle formed by three consecutive points (in radians on [ 0, pi ])

template<typename T >
T numeric::angle_of ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Angle between two vectors (in radians on [ 0, pi ])

template<typename T >
T numeric::angle_of ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c 
)

Angle formed by three consecutive points (in radians on [ 0, pi ])

template<typename T >
void numeric::angle_radians ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
T &  angle 
)
inline

Plane angle in radians: angle value passed.

Note
Given thre positions in a chain ( p1, p2, p3 ), calculates the plane angle in radians between the vectors p2->p1 and p2->p3
Angle returned is on [ 0, pi ]

References dot(), and sin_cos_range().

Referenced by angle_degrees(), angle_radians(), and angle_radians_double().

template<typename T >
T numeric::angle_radians ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3 
)
inline

Plane angle in radians: angle value returned.

Note
Given three positions in a chain ( p1, p2, p3 ), calculates the plane angle in radians between the vectors p2->p1 and p2->p3
Angle returned is on [ 0, pi ]

References basic::options::OptionKeys::hotspot::angle, angle_radians(), and basic::T().

template<typename T >
T numeric::angle_radians ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4 
)
inline

Angle between two vectors in radians.

Note
Given two vectors (p1->p2 & p3->p4), calculate the angle between them
Angle returned is on [ 0, pi ]

References basic::options::OptionKeys::hotspot::angle, dot(), sin_cos_range(), and basic::T().

double numeric::angle_radians_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3 
)
inline

References angle_radians().

double numeric::angle_radians_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4 
)
inline

References angle_radians().

template<typename T >
T numeric::arccos ( T const  x)
inline
utility::vector1< ClusteringTreeNodeOP > numeric::average_link_clustering ( utility::vector1< utility::vector1< Real > > &  distance_matrix,
Size  n_clusters 
)
Real numeric::boltzmann_accept_probability ( Real const  score_before,
Real const  score_after,
Real const  temperature 
)
inline

Calculates the acceptance probability of a given score-change at the given temperature, generally used in simulated annealing algorithms. Returns a value in the range (0-1).

References max(), and min().

void numeric::ccd_angle ( utility::vector1< xyzVector< Real > > const &  F,
utility::vector1< xyzVector< Real > > const &  M,
xyzVector< Real > const &  axis_atom,
xyzVector< Real > const &  theta_hat,
Real &  alpha,
Real &  S 
)
Parameters
<F>the coordinates of the fixed target atoms
<M>the coordinates of the moving positions to be overlapped with the target atoms
<theta_hat>axis vector of the torsion angle
<alpha>empty angle to be calculated
<S>empty deviation to be calculated

The objective of an individual cyclic coordinate descent (CCD) move is to minimize the deviation between a set of points that should perfectly superimpose. The deviation squared (S) can be expressed as:

S = Sum(r^2 + f^2) - 2 Sum[r(f_vector dot r_hat)] cos theta - 2 Sum[r(f_vector dot s_hat)] sin theta

The derivative of S with respect to theta (the angle about the rotation axis):

dS/dtheta = 2 Sum[r(f_vector dot r_hat)] sin theta - 2 Sum[r(f_vector dot s_hat)] cos theta

Setting dS/dtheta to zero gives the minimal value of theta, which we call alpha:

tan alpha = Sum[r(f_vector dot s_hat] / Sum[r(f_vector dot r_hat]

If we define... a = Sum(r^2 + f^2) b = 2 Sum[r(f_vector dot r_hat)] c = 2 Sum[r(f_vector dot s_hat)] then S can be rewritten: S = a - b cos alpha - c sin alpha and we can express alpha as tan alpha = c / b

References cross(), numeric::conversions::degrees(), dot(), numeric::xyzVector< typename >::is_unit(), numeric::xyzVector< typename >::length(), min(), and numeric::xyzVector< typename >::normalized().

template<typename T >
xyzTriple< T > numeric::center ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
void numeric::center ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > &  m 
)

Center of 2 xyzTriples: Return via argument (slightly faster)

template<typename T >
xyzTriple< T > numeric::center ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > const &  c 
)

Center of 3 xyzTriples.

template<typename T >
void numeric::center ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > const &  c,
xyzTriple< T > &  m 
)

Center of 3 xyzTriples: Return via argument (slightly faster)

template<typename T >
xyzTriple< T > numeric::center ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > const &  c,
xyzTriple< T > const &  d 
)

Center of 4 xyzTriples.

template<typename T >
void numeric::center ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > const &  c,
xyzTriple< T > const &  d,
xyzTriple< T > &  m 
)

Center of 4 xyzTriples: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::center ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Center of 2 xyzVectors.

template<typename T >
void numeric::center ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > &  m 
)

Center of 2 xyzVectors: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::center ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c 
)

Center of 3 xyzVectors.

template<typename T >
void numeric::center ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c,
xyzVector< T > &  m 
)

Center of 3 xyzVectors: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::center ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c,
xyzVector< T > const &  d 
)

Center of 4 xyzVectors.

template<typename T >
void numeric::center ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c,
xyzVector< T > const &  d,
xyzVector< T > &  m 
)

Center of 4 xyzVectors: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::center_of_mass ( utility::vector1< xyzVector< T > > const &  coords)
inline

calculate center of mass for coordinates

Referenced by numeric::model_quality::center_atoms_at_origin().

template<typename Number >
Number numeric::clamp ( Number  value,
Number  lower_bound,
Number  upper_bound 
)

Clamps to the closed interval [lower_bound, upper_bound]. Templated type must implement operator<.

References value.

template<typename T >
xyzVector< T > numeric::closest_point_on_line ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  q 
)
inline

xyzMatrix * xyzVector

Note
Same as product( xyzMatrix, xyzVector ) return the point closest to point p3 that lies on the line defined by p1 and p2

References dot_product(), and numeric::xyzVector< typename >::magnitude_squared().

template<typename T >
xyzVector<T> numeric::comma_seperated_string_to_xyz ( std::string  triplet)
inline

convert a string of comma separated values "0.2,0.4,0.3" to an xyzVector

References utility::from_string(), runtime_assert, utility::string_split(), basic::T(), and basic::options::OptionKeys::in::file::xyz.

utility::vector1< ClusteringTreeNodeOP > numeric::complete_link_clustering ( utility::vector1< utility::vector1< Real > > &  distance_matrix,
Size  n_clusters 
)
template<typename T >
T numeric::cos_of ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Cosine of angle between two vectors.

template<typename T >
T numeric::cos_of ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > const &  c 
)

Cosine of angle formed by three consecutive points.

template<typename T >
T numeric::cos_of ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Cosine of angle between two vectors.

template<typename T >
T numeric::cos_of ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c 
)

Cosine of angle formed by three consecutive points.

template<typename T >
T numeric::cot ( T const &  x)
inline

Cotangent.

References basic::T().

template<typename T >
xyzTriple< T > numeric::cross ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
void numeric::cross ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > &  c 
)

Cross product: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::cross ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Cross product.

template<typename T >
void numeric::cross ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > &  c 
)

Cross product: Return via argument (slightly faster)

template<typename T >
xyzTriple< T > numeric::cross_product ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Cross product.

template<typename T >
void numeric::cross_product ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > &  c 
)

Cross product: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::cross_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Cross product.

template<typename T >
void numeric::cross_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > &  c 
)

Cross product: Return via argument (slightly faster)

template<typename T >
T numeric::csc ( T const &  x)
inline

Cosecant.

References basic::T().

Referenced by numeric::BodyPosition< typename >::BodyPosition().

template<typename T >
T numeric::cube ( T const &  x)
inline

cube( x ) == x^3

template<class RandomAccessIterator >
void numeric::cumulative ( RandomAccessIterator  first,
RandomAccessIterator  last 
)

Converts pdf to cdf.

References normalize().

template<typename T >
xyzVector<T> numeric::deserialize ( utility::json_spirit::mArray  data)
inline
template<typename T >
void numeric::dihedral ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4,
T &  angle 
)
inline

Dihedral (torsion) angle in degrees: angle value passed.

Note
This is a Rosetta++ compatibility version that operates in degrees

References dihedral_radians(), and numeric::conversions::to_degrees().

Referenced by dihedral_double().

template<typename T >
T numeric::dihedral ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4 
)
inline

Dihedral (torsion) angle in degrees: angle value returned.

Note
This is a Rosetta++ compatibility version that operates in degrees

References numeric::conversions::degrees(), and dihedral_radians().

template<typename T >
void numeric::dihedral_degrees ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4,
T &  angle 
)
inline

Dihedral (torsion) angle in degrees: angle value passed.

References dihedral_radians(), and numeric::conversions::to_degrees().

Referenced by dihedral_degrees_double().

template<typename T >
T numeric::dihedral_degrees ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4 
)
inline

Dihedral (torsion) angle in degrees: angle value returned.

References numeric::conversions::degrees(), and dihedral_radians().

void numeric::dihedral_degrees_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4,
double angle 
)
inline

References dihedral_degrees().

double numeric::dihedral_degrees_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4 
)
inline

References dihedral_degrees().

void numeric::dihedral_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4,
double angle 
)
inline

References dihedral().

double numeric::dihedral_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4 
)
inline

References dihedral().

template<typename T >
void numeric::dihedral_radians ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4,
T &  angle 
)
inline

Dihedral (torsion) angle in radians: angle value passed.

Note
Given four positions in a chain ( p1, p2, p3, p4 ), calculates the dihedral (torsion) angle in radians between the vectors p2->p1 and p3->p4 while sighting along the axis defined by the vector p2->p3 (positive indicates right handed twist)
Angle returned is on [ -pi, pi ]
Degenerate cases are handled and assigned a zero angle but assumed rare (wrt performance tuning)
For a reference on the determination of the dihedral angle formula see: http://www.math.fsu.edu/~quine/IntroMathBio_04/torsion_pdb/torsion_pdb.pdf

References cross(), dot(), and basic::T().

Referenced by dihedral(), dihedral_degrees(), numeric::deriv::dihedral_deriv_second(), dihedral_radians(), and dihedral_radians_double().

template<typename T >
T numeric::dihedral_radians ( xyzVector< T > const &  p1,
xyzVector< T > const &  p2,
xyzVector< T > const &  p3,
xyzVector< T > const &  p4 
)
inline

Dihedral (torsion) angle in radians: angle value returned.

Note
Given four positions in a chain ( p1, p2, p3, p4 ), calculates the dihedral (torsion) angle in radians between the vectors p2->p1 and p3->p4 while sighting along the axis defined by the vector p2->p3 (positive indicates right handed twist)
Angle returned is on [ -pi, pi ]
Degenerate cases are handled and assigned a zero angle but assumed rare (wrt performance tuning)
For a reference on the determination of the dihedral angle formula see: http://www.math.fsu.edu/~quine/IntroMathBio_04/torsion_pdb/torsion_pdb.pdf

References basic::options::OptionKeys::hotspot::angle, dihedral_radians(), and basic::T().

void numeric::dihedral_radians_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4,
double angle 
)
inline

References dihedral_radians().

double numeric::dihedral_radians_double ( xyzVector< double > const &  p1,
xyzVector< double > const &  p2,
xyzVector< double > const &  p3,
xyzVector< double > const &  p4 
)
inline

References dihedral_radians().

template<typename T >
T numeric::distance ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
template<typename T >
T numeric::distance ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Distance.

template<typename T >
T numeric::distance_squared ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Distance squared.

template<typename T >
void numeric::divide ( xyzTriple< T > const &  v,
T const &  t,
xyzTriple< T > &  r 
)

Divide: xyzTriple / T.

template<typename T >
void numeric::divide ( xyzVector< T > const &  v,
T const &  t,
xyzVector< T > &  r 
)

Divide: xyzVector / T.

double numeric::do_abs ( double  a)
void numeric::do_add_symbol ( CalculatorParser &  cp,
std::string  name,
double  value 
)
double numeric::do_cos ( double  a)
double numeric::do_exp ( double  a)
double numeric::do_ln ( double  a)
double numeric::do_log ( double  a,
double  b 
)
double numeric::do_log10 ( double  a)
double numeric::do_log2 ( double  a)
double numeric::do_max ( std::vector< double a)
double numeric::do_mean ( std::vector< double a)
double numeric::do_median ( std::vector< double a)
double numeric::do_min ( std::vector< double a)
double numeric::do_pow ( double  a,
double  b 
)
double numeric::do_sin ( double  a)
double numeric::do_sqrt ( double  a)
double numeric::do_tan ( double  a)
template<typename T >
T numeric::dot ( Quaternion< T > const &  q1,
Quaternion< T > const &  q2 
)
template<typename T >
T numeric::dot ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Dot product.

template<typename T >
T numeric::dot ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Distance.

Distance squared Dot product

template<typename T >
T numeric::dot_product ( Quaternion< T > const &  q1,
Quaternion< T > const &  q2 
)

Dot product.

Referenced by closest_point_on_line().

template<typename T >
T numeric::dot_product ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Dot product.

template<typename T >
T numeric::dot_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Dot product.

template<typename T >
xyzVector< T > numeric::eigenvalue_jacobi ( xyzMatrix< T > const &  a,
T const &  tol 
)
inline
template<typename T >
xyzVector< T > numeric::eigenvector_jacobi ( xyzMatrix< T > const &  a,
T const &  tol,
xyzMatrix< T > &  J 
)
inline
template<typename T >
bool numeric::eq_tol ( T const &  x,
T const &  y,
T const &  r_tol,
T const &  a_tol 
)
inline

Equal within specified relative and absolute tolerances?

References max(), min(), and basic::T().

Referenced by numeric::interpolation::bilinearly_interpolated(), and numeric::interpolation::Histogram< typename, typename >::set_params().

bool numeric::equal_by_epsilon ( numeric::Real  value1,
numeric::Real  value2,
numeric::Real  epsilon 
)
inline

are two Real values are equal up to some epsilon

implemented only for Reals, to prevent unsigned hassle (Barak 30/6/2009)

References basic::options::OptionKeys::pb_potential::epsilon.

template<typename T >
bool numeric::equal_length ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Equal length?

template<typename T >
bool numeric::equal_length ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Equal length?

template<typename T , class OutputIterator >
void numeric::expand_xforms ( OutputIterator  container,
xyzTransform< T > const &  G1,
xyzTransform< T > const &  G2,
xyzTransform< T > const &  ,
int  N = 5,
Real  r = 9e9,
xyzVector< T > const  test_point = xyzVector<T>(Real(1.0),Real(3.0),Real(10.0)) 
)

Referenced by expand_xforms().

template<typename T , class OutputIterator >
void numeric::expand_xforms ( OutputIterator  container,
xyzTransform< T > const &  G1,
xyzTransform< T > const &  G2,
int  N = 5,
Real  r = 9e9,
xyzVector< T > const  test_point = xyzVector<T>(Real(1.0),Real(3.0),Real(10.0)) 
)

References expand_xforms().

template<typename T >
utility::vector1< xyzVector<T> > numeric::FArray_to_vector_of_xyzvectors ( ObjexxFCL::FArray2D< T > const &  input)
inline

convert an FArray2D to a vector of xyzVectors

References basic::options::OptionKeys::cp::output.

Referenced by numeric::model_quality::findUU().

template<typename T >
numeric::xyzMatrix<T> numeric::FArray_to_xyzmatrix ( ObjexxFCL::FArray2D< T > const &  input)
inline

convert a 3x3 FArray 2D to an xyzMatrix

References numeric::xyzMatrix< typename >::rows().

Referenced by numeric::model_quality::findUU().

template<typename T >
T numeric::fast_remainder ( T const &  x,
T const &  y 
)
inline

Remainder of x with respect to division by y that is of smallest magnitude.

Note
Emulates the C99 remainder function except for rounding halfway values to even multiples
Returns zero if y is zero
Return value has magnitude <= | y / 2 |
template<typename T >
T numeric::find_nearest_value ( typename utility::vector1< T > const &  input_list,
key,
platform::Size  min_index,
platform::Size  max_index 
)

recursive binary search that finds the value closest to key. Call find_nearest_value(input_list,value) instead. It's the driver function for this function. This fails miserably (and silently!) on a non-sorted vector, so don't do that!.

References basic::options::OptionKeys::key, and basic::T().

template<typename T >
T numeric::find_nearest_value ( typename utility::vector1< T > const &  input_list,
key 
)

given a vector and an input value, return the value in the vector that is closest to the input This is a wrapper for find_nearest_value(input_list,key,min,max) and insures that you're sorted.

References basic::options::OptionKeys::key.

template<typename T >
xyzVector< T > numeric::first_principal_component ( utility::vector1< xyzVector< T > > const &  coords)
inline

return the first principal component of the given set of points

References numeric::xyzMatrix< typename >::col(), and principal_components().

template<typename T >
T numeric::gcd ( T const &  m,
T const &  n 
)
inline

Greatest common divisor.

References max(), min(), mod(), and basic::T().

template<typename T >
bool numeric::ge_tol ( T const &  x,
T const &  y,
T const &  r_tol,
T const &  a_tol 
)
inline

Greater than or equal within specified relative and absolute tolerances?

References max(), min(), and basic::T().

template<class T >
void numeric::get_cluster_data ( utility::vector1< T > &  data_in,
ClusteringTreeNodeOP  cluster,
utility::vector1< T > &  data_out 
)
template<typename T >
bool numeric::gt_tol ( T const &  x,
T const &  y,
T const &  r_tol,
T const &  a_tol 
)
inline

Greater than within specified relative and absolute tolerances?

References max(), min(), and basic::T().

template<typename T >
platform::Size numeric::hash_value ( xyzVector< T > const &  v)

convert an HSV color to RGB

numeric::xyzVector< platform::Real > numeric::hsv_to_rgb ( numeric::xyzVector< platform::Real hsv_triplet)
template<typename T >
bool numeric::in_sin_cos_range ( T const &  x,
T const &  tol = T( .001 ) 
)
inline

Is a sine or cosine value within a specified tolerance of the valid [-1,1] range?

References basic::T().

template<typename T >
T numeric::inner_product ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Inner product ( == dot product )

Referenced by numeric::MathVector< Real >::square_norm().

template<typename T >
T numeric::inner_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Inner product ( == dot product )

template<typename T >
xyzVector< T > & numeric::inplace_product ( xyzMatrix< T > const &  m,
xyzVector< T > &  v 
)
inline
template<typename T >
xyzVector< T > & numeric::inplace_transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > &  v 
)
inline
template<typename T >
xyzMatrix< T > numeric::inverse ( xyzMatrix< T > const &  a)
inline
bool numeric::is_a_finitenumber ( double  s,
double  a,
double  b 
)
inline
template<typename T >
bool numeric::isinf ( value)
inline
template<typename T >
bool numeric::isnan ( value)
inline

portable check to see if a value is NaN.

References value.

Referenced by utility::is_nan(), and utility::is_undefined().

void numeric::jacobi ( double  a[6][6],
double  d[],
double  v[6][6],
int nrot 
)
template<typename T >
void numeric::jacobi_rotation ( xyzMatrix< T > const &  m,
int const  i,
int const  j,
xyzMatrix< T > &  r 
)
inline

Jacobi rotation.

Note
Compute the orthogonal transformation used to zero out a pair of off-diagonal elements

References basic::options::OptionKeys::in::file::s, basic::options::OptionKeys::in::file::t, basic::T(), and numeric::xyzMatrix< typename >::to_identity().

Referenced by eigenvalue_jacobi(), and eigenvector_jacobi().

template<typename T >
bool numeric::le_tol ( T const &  x,
T const &  y,
T const &  r_tol,
T const &  a_tol 
)
inline

Less than or equal within specified relative and absolute tolerances?

References max(), min(), and basic::T().

template<class Value >
double numeric::linear_interpolate ( Value  start,
Value  stop,
unsigned  curr_stage,
unsigned  num_stages 
)

Linearly interpolates a quantity from start to stop over (num_stages + 1) stages.

References basic::options::OptionKeys::cutoutdomain::start.

double numeric::log ( double  x,
double  base 
)
inline
template<typename T >
bool numeric::lt_tol ( T const &  x,
T const &  y,
T const &  r_tol,
T const &  a_tol 
)
inline

Less than within specified relative and absolute tolerances?

References max(), min(), and basic::T().

template<typename T >
MathVector< T > numeric::MakeVector ( T const &  X)
template<typename T >
MathVector< T > numeric::MakeVector ( T const &  X,
T const &  Y 
)
inline
Returns
construct MathVectors from two elements
template<typename T >
MathVector< T > numeric::MakeVector ( T const &  X,
T const &  Y,
T const &  Z 
)
inline
Returns
construct MathVectors from three elements
template<typename T >
T numeric::max ( utility::vector1< T > const &  values)

References max(), and basic::T().

short int numeric::max ( short int const  a,
short int const  b 
)
inline
int numeric::max ( int const  a,
int const  b 
)
inline
long int numeric::max ( long int const  a,
long int const  b 
)
inline
unsigned short int numeric::max ( unsigned short int const  a,
unsigned short int const  b 
)
inline
unsigned int numeric::max ( unsigned int const  a,
unsigned int const  b 
)
inline
unsigned long int numeric::max ( unsigned long int const  a,
unsigned long int const  b 
)
inline
float numeric::max ( float const  a,
float const  b 
)
inline
double numeric::max ( double const  a,
double const  b 
)
inline
long double numeric::max ( long double const  a,
long double const  b 
)
inline
template<typename T >
T const& numeric::max ( T const &  a,
T const &  b,
T const &  c 
)
inline

max( a, b, c )

template<typename T >
T const& numeric::max ( T const &  a,
T const &  b,
T const &  c,
T const &  d 
)
inline

max( a, b, c, d )

References max().

template<typename T >
T const& numeric::max ( T const &  a,
T const &  b,
T const &  c,
T const &  d,
T const &  e 
)
inline

max( a, b, c, d, e )

References max(), and max().

template<typename T >
T const& numeric::max ( T const &  a,
T const &  b,
T const &  c,
T const &  d,
T const &  e,
T const &  f 
)
inline

max( a, b, c, d, e, f )

References max(), and max().

template<typename T >
xyzTriple< T > numeric::max ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

xyzTriple with max coordinates of two xyzTriples

template<typename T >
xyzVector< T > numeric::max ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

xyzVector with max coordinates of two xyzVectors

numeric::Real numeric::mean ( utility::vector1< numeric::Real > const &  values)
numeric::Real numeric::median ( utility::vector1< numeric::Real > const &  values)

Returns the median from a vector1 of Real values.

Referenced by do_median().

template<typename T >
xyzTriple< T > numeric::midpoint ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Midpoint of 2 xyzTriples.

template<typename T >
void numeric::midpoint ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > &  m 
)

Midpoint of 2 xyzTriples: Return via argument (slightly faster)

template<typename T >
xyzVector< T > numeric::midpoint ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Midpoint of 2 xyzVectors.

template<typename T >
void numeric::midpoint ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > &  m 
)

Midpoint of 2 xyzVectors: Return via argument (slightly faster)

short int numeric::min ( short int const  a,
short int const  b 
)
inline
int numeric::min ( int const  a,
int const  b 
)
inline
long int numeric::min ( long int const  a,
long int const  b 
)
inline
unsigned short int numeric::min ( unsigned short int const  a,
unsigned short int const  b 
)
inline
unsigned int numeric::min ( unsigned int const  a,
unsigned int const  b 
)
inline
template<typename T >
T numeric::min ( utility::vector1< T > const &  values)

References min(), and basic::T().

unsigned long int numeric::min ( unsigned long int const  a,
unsigned long int const  b 
)
inline
float numeric::min ( float const  a,
float const  b 
)
inline
double numeric::min ( double const  a,
double const  b 
)
inline
long double numeric::min ( long double const  a,
long double const  b 
)
inline
template<typename T >
T const& numeric::min ( T const &  a,
T const &  b,
T const &  c 
)
inline

min( a, b, c )

template<typename T >
T const& numeric::min ( T const &  a,
T const &  b,
T const &  c,
T const &  d 
)
inline

min( a, b, c, d )

References min().

template<typename T >
T const& numeric::min ( T const &  a,
T const &  b,
T const &  c,
T const &  d,
T const &  e 
)
inline

min( a, b, c, d, e )

References min(), and min().

template<typename T >
T const& numeric::min ( T const &  a,
T const &  b,
T const &  c,
T const &  d,
T const &  e,
T const &  f 
)
inline

min( a, b, c, d, e, f )

References min(), and min().

template<typename T >
xyzTriple< T > numeric::min ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

xyzTriple with min coordinates of two xyzTriples

template<typename T >
xyzVector< T > numeric::min ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

xyzVector with min coordinates of two xyzVectors

template<typename T >
T numeric::mod ( T const &  x,
T const &  y 
)
inline

x(mod y) computational modulo returning magnitude < | y | and sign of x

Note
When used with negative integer arguments this assumes integer division rounds towards zero (de facto and future official standard)

Referenced by basic::angle_in_range(), gcd(), basic::interpolate_get_angle_bins(), basic::periodic_range(), numeric::RemainderSelector< T, bool >::remainder(), numeric::RemainderSelector< T, true >::remainder(), and basic::unsigned_periodic_range().

template<typename T >
T numeric::modulo ( T const &  x,
T const &  y 
)
inline
template<typename T >
void numeric::multiply ( xyzTriple< T > const &  v,
T const &  t,
xyzTriple< T > &  r 
)

Multiply: xyzTriple * T.

template<typename T >
void numeric::multiply ( T const &  t,
xyzTriple< T > const &  v,
xyzTriple< T > &  r 
)

Multiply: T * xyzTriple.

template<typename T >
void numeric::multiply ( xyzVector< T > const &  v,
T const &  t,
xyzVector< T > &  r 
)

Multiply: xyzVector * T.

template<typename T >
void numeric::multiply ( T const &  t,
xyzVector< T > const &  v,
xyzVector< T > &  r 
)

Multiply: T * xyzVector.

template<typename R , typename T >
R numeric::nearest ( T const &  x)
inline

nearest< R >( x ): Nearest R

Referenced by numeric::kdtree::nearest_neighbors().

template<typename T >
T numeric::nearest_angle ( T const &  angle,
T const &  base_angle 
)
inline

Nearest periodic value of angle to a base angle in radians.

References nearest_ssize(), and numeric::NumericTraits< T >::pi_2().

template<typename T >
T numeric::nearest_angle_degrees ( T const &  angle,
T const &  base_angle 
)
inline

Nearest periodic value of angle to a base angle in degrees.

References nearest_ssize(), and basic::T().

template<typename T >
T numeric::nearest_angle_radians ( T const &  angle,
T const &  base_angle 
)
inline

Nearest periodic value of angle to a base angle in radians.

References nearest_ssize(), and numeric::NumericTraits< T >::pi_2().

template<typename T >
int numeric::nearest_int ( T const &  x)
inline

nearest_int( x ): Nearest int

References sign(), and basic::T().

template<typename T >
std::size_t numeric::nearest_size ( T const &  x)
inline

nearest_size( x ): Nearest std::size_t

References sign(), and basic::T().

template<typename T >
SSize numeric::nearest_ssize ( T const &  x)
inline
template<typename T >
int numeric::nint ( T const &  x)
inline

nint( x ): Nearest int

References sign(), and basic::T().

template<typename T >
T numeric::nonnegative_principal_angle ( T const &  angle)
inline

Positive principal value of angle in radians on [ 0, 2*pi )

References modulo().

template<typename T >
T numeric::nonnegative_principal_angle_degrees ( T const &  angle)
inline

Positive principal value of angle in degrees on [ 0, 360 )

References modulo(), and basic::T().

template<typename T >
T numeric::nonnegative_principal_angle_radians ( T const &  angle)
inline

Positive principal value of angle in radians on [ 0, 2*pi )

References modulo().

template<class InputIterator >
void numeric::normalize ( InputIterator  first,
InputIterator  last 
)

Normalizes elements on the range [first, last)

References sum().

Referenced by cumulative(), and product().

template<typename T >
bool numeric::not_equal_length ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

Not equal length?

template<typename T >
bool numeric::not_equal_length ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Not equal length?

template<typename T >
bool numeric::operator!= ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
operator != (Comparison) MathVectors
template<typename T >
bool numeric::operator!= ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector != X (Comparison with T value)
template<typename T >
bool numeric::operator!= ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator X != MathVector(Comparison with T value)
template<typename T >
bool numeric::operator!= ( const MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

compare to matrices for inequality

Parameters
MATRIX_LHSlhs matrix
MATRIX_RHSrhs matrix
Returns
!( MATRIX_LHS == MATRIX_RHS)
template<typename T >
bool numeric::operator!= ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
)
inline

compare if all items in matrix are not equal to a given VALUE

Parameters
MATRIX_LHSmatrix with values
VALUE_RHSvalue that is compared against
Returns
false if matrix is empty are all elements in matrix are equal to given VALUE

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
bool numeric::operator!= ( const T &  VALUE_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

compare if all items in matrix are not equal to a given VALUE

Parameters
VALUE_LHSvalue that is compared against
MATRIX_RHSmatrix with values
Returns
false if matrix is empty are all elements in matrix are equal to given VALUE
template<typename T >
bool numeric::operator!= ( BodyPosition< T > const &  p1,
BodyPosition< T > const &  p2 
)
template<typename T >
bool numeric::operator!= ( Quaternion< T > const &  q1,
Quaternion< T > const &  q2 
)
template<typename T >
bool numeric::operator!= ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator!= ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix != T

template<typename T >
bool numeric::operator!= ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator!= ( T const &  t,
xyzMatrix< T > const &  m 
)

T != xyzMatrix.

template<typename T >
bool numeric::operator!= ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple != T

template<typename T >
bool numeric::operator!= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator!= ( T const &  t,
xyzTriple< T > const &  v 
)

T != xyzTriple.

template<typename T >
bool numeric::operator!= ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector != T

template<typename T >
bool numeric::operator!= ( T const &  t,
xyzVector< T > const &  v 
)

T != xyzVector.

template<typename T >
xyzVector< T > numeric::operator* ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
inline
template<typename T >
T numeric::operator* ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
template<typename T >
MathVector< T > numeric::operator* ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector * MathVector
template<typename T >
MathVector< T > numeric::operator* ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector * MathVector
template<typename T >
MathMatrix< T> numeric::operator* ( const MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

multiply two matrixs of equal size by building the inner product yielding the scalar product

Parameters
MATRIX_LHSlhs matrix
MATRIX_RHSrhs matrix
Returns
scalar representing root of inner product of the two ranges

References numeric::MathMatrix< T >::get_number_cols(), and numeric::MathMatrix< T >::get_number_rows().

template<typename T >
MathMatrix< T> numeric::operator* ( const T &  SCALAR_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

multiply scalar with matrix

Parameters
SCALAR_LHSlhs value to be multiplied
MATRIX_RHSrhs matrix
Returns
matrix that has the values multiplied with the scalar
template<typename T >
MathMatrix< T> numeric::operator* ( const MathMatrix< T > &  MATRIX_LHS,
const T &  SCALAR_RHS 
)
inline

multiply matrix with scalar

Parameters
MATRIX_LHSlhs matrix
SCALAR_RHSrhs value to be multiplied
Returns
matrix that has the values multiplied with the scalar
template<typename T >
MathVector< T> numeric::operator* ( const MathMatrix< T > &  MATRIX_LHS,
const MathVector< T > &  VECTOR_RHS 
)
inline

multiply matrix with vector

Parameters
MATRIX_LHSlhs matrix
VECTORvector to be multiplied
Returns
resulting vector

References numeric::MathMatrix< T >::get_number_cols(), and numeric::MathMatrix< T >::get_number_rows().

template<typename T >
Quaternion< T > numeric::operator* ( Quaternion< T > const &  q2,
Quaternion< T > const &  q1 
)
template<typename T >
xyzTriple< T > numeric::operator* ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple * T

template<typename T >
xyzTriple< T > numeric::operator* ( T const &  t,
xyzTriple< T > const &  v 
)

T * xyzTriple.

template<typename T >
xyzVector< T > numeric::operator* ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector * T

template<typename T >
xyzVector< T > numeric::operator* ( T const &  t,
xyzVector< T > const &  v 
)

T * xyzVector.

template<typename T >
xyzMatrix< T > numeric::operator* ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
xyzMatrix< T > numeric::operator* ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix * T

template<typename T >
xyzMatrix< T > numeric::operator* ( T const &  t,
xyzMatrix< T > const &  m 
)

T * xyzMatrix.

template<typename T >
MathMatrix< T>& numeric::operator*= ( MathMatrix< T > &  MATRIX_LHS,
const T &  SCALAR 
)
inline

multiply matrix with scalar

Parameters
MATRIX_LHSmatrix to multiply to
SCALARscalar to be multiplied
Returns
the changed lhs matrix

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR)
inline
Returns
operator +MathVectors
template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
operator MathVector + MathVector
template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector + MathVector
template<typename T >
MathVector< T > numeric::operator+ ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector + MathVector
template<typename T >
MathMatrix< T> numeric::operator+ ( const MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

sum two matrixs of equal size

Parameters
MATRIX_LHSlhs matrix
MATRIX_RHSrhs matrix
Returns
matrix with all individual summed elements of lhs and rhs matrix
template<typename T >
MathMatrix< T> numeric::operator+ ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
)
inline

add value to matrix

Parameters
MATRIX_LHSlhs matrix
VALUE_RHSrhs value to be added
Returns
matrix that has the value added to each value of the lhs given matrix
template<typename T >
MathMatrix< T> numeric::operator+ ( const T &  VALUE_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

add matrix to value

Parameters
VALUE_LHSlhs value to be added
MATRIX_RHSrhs matrix
Returns
matrix that has the value added to each value of the lhs given matrix
template<typename T >
xyzTriple< T > numeric::operator+ ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
xyzTriple< T > numeric::operator+ ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple + T

template<typename T >
xyzTriple< T > numeric::operator+ ( T const &  t,
xyzTriple< T > const &  v 
)

T + xyzTriple.

template<typename T >
xyzVector< T > numeric::operator+ ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
xyzVector< T > numeric::operator+ ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector + T

template<typename T >
xyzVector< T > numeric::operator+ ( T const &  t,
xyzVector< T > const &  v 
)

T + xyzVector.

template<typename T >
xyzMatrix< T > numeric::operator+ ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
xyzMatrix< T > numeric::operator+ ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix + T

template<typename T >
xyzMatrix< T > numeric::operator+ ( T const &  t,
xyzMatrix< T > const &  m 
)

T + xyzMatrix.

template<typename T >
MathMatrix< T>& numeric::operator+= ( MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

add one matrix to another

Parameters
MATRIX_LHSmatrix to add to
MATRIX_RHSmatrix to add
Returns
the changed lhs matrix

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
MathMatrix< T>& numeric::operator+= ( MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE 
)
inline

add scalar to matrix

Parameters
MATRIX_LHSmatrix to add to
VALUEscalar to be added
Returns
the changed lhs matrix

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
MathVector< T > numeric::operator- ( MathVector< T > const &  VECTOR)
inline
Returns
operator -MathVectors

References basic::T().

template<typename T >
MathVector< T > numeric::operator- ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
operator MathVector - MathVector
template<typename T >
MathVector< T > numeric::operator- ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector - MathVector
template<typename T >
MathVector< T > numeric::operator- ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector - MathVector
template<typename T >
MathMatrix< T> numeric::operator- ( const MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

subtract two matrixs of equal size

Parameters
MATRIX_LHSlhs matrix
MATRIX_RHSrhs matrix
Returns
matrix with all individual subtracted elements of rhs from lhs matrix
template<typename T >
MathMatrix< T> numeric::operator- ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
)
inline

subtract value from matrix

Parameters
MATRIX_LHSlhs matrix
VALUE_RHSrhs value to be subtracted
Returns
matrix that has the value subtracted from each value of the lhs given matrix
template<typename T >
MathMatrix< T> numeric::operator- ( const T &  VALUE_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

subtract matrix from value

Parameters
VALUE_LHSrhs value to be subtracted
MATRIX_RHSlhs matrix
Returns
matrix that has the values in the matrix subtracted from the value

References numeric::MathMatrix< T >::size().

template<typename T >
xyzTriple< T > numeric::operator- ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
xyzTriple< T > numeric::operator- ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple - T

template<typename T >
xyzTriple< T > numeric::operator- ( T const &  t,
xyzTriple< T > const &  v 
)

T - xyzTriple.

template<typename T >
xyzVector< T > numeric::operator- ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
xyzVector< T > numeric::operator- ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector - T

template<typename T >
xyzVector< T > numeric::operator- ( T const &  t,
xyzVector< T > const &  v 
)

T - xyzVector.

template<typename T >
xyzMatrix< T > numeric::operator- ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
xyzMatrix< T > numeric::operator- ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix - T

template<typename T >
xyzMatrix< T > numeric::operator- ( T const &  t,
xyzMatrix< T > const &  m 
)

T - xyzMatrix.

template<typename T >
MathMatrix< T>& numeric::operator-= ( MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

subtract one matrix from another

Parameters
MATRIX_LHSmatrix to subtract from
MATRIX_RHSmatrix to subtract
Returns
the changed lhs matrix

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
MathMatrix< T>& numeric::operator-= ( MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE 
)
inline

subtract scalar from matrix

Parameters
MATRIX_LHSmatrix to subtract from
VALUEscalar to be added
Returns
the changed lhs matrix

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
MathVector< T > numeric::operator/ ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector / MathVector
template<typename T >
MathVector< T > numeric::operator/ ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
operator MathVector / MathVector ; divides each element by according argument element
template<typename T >
MathVector< T > numeric::operator/ ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector / MathVector = Value * Inverse( MathVector)
template<typename T >
MathMatrix< T> numeric::operator/ ( const MathMatrix< T > &  MATRIX_LHS,
const T &  SCALAR_RHS 
)
inline

divide matrix with scalar

Parameters
MATRIX_LHSlhs matrix
SCALAR_RHSrhs value to be divided by
Returns
matrix that has the values divided by the scalar
template<typename T >
MathMatrix< T> numeric::operator/ ( const T &  SCALAR_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

divide scalar by matrix

Parameters
SCALAR_LHSlhs value to be divided
MATRIX_RHSrhs matrix to be used to divide the scalar
Returns
matrix that has the values of scalar divided by each according value of the matrix

References numeric::MathMatrix< T >::size().

template<typename T >
xyzTriple< T > numeric::operator/ ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple / T

template<typename T >
xyzVector< T > numeric::operator/ ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector / T

template<typename T >
xyzMatrix< T > numeric::operator/ ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix / T

template<typename T >
MathMatrix< T>& numeric::operator/= ( MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &   
)
inline

divide one matrix by another

Parameters
MATRIX_LHSmatrix to divided
MATRIX_RHSmatrix to divide by
Returns
the changed lhs matrix
template<typename T >
MathMatrix< T>& numeric::operator/= ( MathMatrix< T > &  MATRIX_LHS,
const T &  SCALAR 
)
inline

divide matrix by scalar

Parameters
MATRIX_LHSmatrix to divide
SCALARscalar to divide by
Returns
the changed lhs matrix

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
bool numeric::operator< ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator< ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix < T

template<typename T >
bool numeric::operator< ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator< ( T const &  t,
xyzMatrix< T > const &  m 
)

T < xyzMatrix.

template<typename T >
bool numeric::operator< ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple < T

template<typename T >
bool numeric::operator< ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator< ( T const &  t,
xyzTriple< T > const &  v 
)

T < xyzTriple.

template<typename T >
bool numeric::operator< ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector < T

template<typename T >
bool numeric::operator< ( T const &  t,
xyzVector< T > const &  v 
)

T < xyzVector.

std::ostream & numeric::operator<< ( std::ostream &  os,
MultiDimensionalHistogram const &  mdhist 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzTransform< T > const &  m 
)

stream << xyzTransform output operator

template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
Quaternion< T > const &  q 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzMatrix< T > const &  m 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzVector< T > const &  v 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzTriple< T > const &  v 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
BodyPosition< T > const &  p 
)
std::ostream & numeric::operator<< ( ostream &  out,
const Polynomial_1d &  poly 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  output,
const IntervalSet< T > &  interval 
)
inline
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
HomogeneousTransform< T > const &  ht 
)
std::ostream& numeric::operator<< ( std::ostream &  stream,
HomogeneousTransform< double > const &  ht 
)
inline
template<typename T >
bool numeric::operator<= ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator<= ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix <= T

template<typename T >
bool numeric::operator<= ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator<= ( T const &  t,
xyzMatrix< T > const &  m 
)

T <= xyzMatrix.

template<typename T >
bool numeric::operator<= ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple <= T

template<typename T >
bool numeric::operator<= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator<= ( T const &  t,
xyzTriple< T > const &  v 
)

T <= xyzTriple.

template<typename T >
bool numeric::operator<= ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector <= T

template<typename T >
bool numeric::operator<= ( T const &  t,
xyzVector< T > const &  v 
)

T <= xyzVector.

template<typename T >
bool numeric::operator== ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
template<typename T >
bool numeric::operator== ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector == X (Comparison with T value) MathVectors

References numeric::MathVector< T >::begin(), numeric::MathVector< T >::end(), and basic::T().

template<typename T >
bool numeric::operator== ( const MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

compare to matricess for equality

Parameters
MATRIX_LHSlhs matrix
MATRIX_RHSrhs matrix
Returns
true is they are equal in size and all pairs of items are equal

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
bool numeric::operator== ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator X == MathVector(Comparison with T value)
template<typename T >
bool numeric::operator== ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
)
inline

compare if all items in matrix are equal to a given VALUE

Parameters
MATRIX_LHSmatrix with values
VALUE_RHSvalue that is compared against
Returns
true if matrix is empty are all elements in matrix are equal to given VALUE

References numeric::MathMatrix< T >::begin(), and numeric::MathMatrix< T >::end().

template<typename T >
bool numeric::operator== ( const T &  VALUE_LHS,
const MathMatrix< T > &  MATRIX_RHS 
)
inline

compare if all items in matrix are equal to a given VALUE

Parameters
VALUE_LHSvalue that is compared against
MATRIX_RHSmatrix with values
Returns
true if matrix is empty are all elements in matrix are equal to given VALUE
template<typename T >
bool numeric::operator== ( BodyPosition< T > const &  p1,
BodyPosition< T > const &  p2 
)
template<typename T >
bool numeric::operator== ( Quaternion< T > const &  q1,
Quaternion< T > const &  q2 
)
template<typename T >
bool numeric::operator== ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator== ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix == T

template<typename T >
bool numeric::operator== ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator== ( T const &  t,
xyzMatrix< T > const &  m 
)

T == xyzMatrix.

template<typename T >
bool numeric::operator== ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple == T

template<typename T >
bool numeric::operator== ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator== ( T const &  t,
xyzTriple< T > const &  v 
)

T == xyzTriple.

template<typename T >
bool numeric::operator== ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector == T

template<typename T >
bool numeric::operator== ( T const &  t,
xyzVector< T > const &  v 
)

T == xyzVector.

template<typename T >
bool numeric::operator> ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator> ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix > T

template<typename T >
bool numeric::operator> ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator> ( T const &  t,
xyzMatrix< T > const &  m 
)

T > xyzMatrix.

template<typename T >
bool numeric::operator> ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple > T

template<typename T >
bool numeric::operator> ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator> ( T const &  t,
xyzTriple< T > const &  v 
)

T > xyzTriple.

template<typename T >
bool numeric::operator> ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector > T

template<typename T >
bool numeric::operator> ( T const &  t,
xyzVector< T > const &  v 
)

T > xyzVector.

template<typename T >
bool numeric::operator>= ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator>= ( xyzMatrix< T > const &  m,
T const &  t 
)

xyzMatrix >= T

template<typename T >
bool numeric::operator>= ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator>= ( T const &  t,
xyzMatrix< T > const &  m 
)

T >= xyzMatrix.

template<typename T >
bool numeric::operator>= ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple >= T

template<typename T >
bool numeric::operator>= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator>= ( T const &  t,
xyzTriple< T > const &  v 
)

T >= xyzTriple.

template<typename T >
bool numeric::operator>= ( xyzVector< T > const &  v,
T const &  t 
)

xyzVector >= T

template<typename T >
bool numeric::operator>= ( T const &  t,
xyzVector< T > const &  v 
)

T >= xyzVector.

template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
xyzTransform< T > &  m 
)

stream >> xyzTransform input operator

Note
Reads row-ordered matrix elements from one or multiple lines

References numeric::xyzTransform< typename >::R, and numeric::xyzTransform< typename >::t.

template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
Quaternion< T > &  q 
)

stream >> Quaternion input operator

Note
Supports whitespace-separated values with optional commas between values as long as whitespace is also present
Quaternion can optionally be enclosed in parentheses () or square brackets []
String or char values containing whitespace or commas or enclosed in quotes are not supported

References numeric::Quaternion< typename >::w(), numeric::Quaternion< typename >::x(), numeric::Quaternion< typename >::y(), and numeric::Quaternion< typename >::z().

template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
xyzVector< T > &  v 
)

stream >> xyzVector input operator

Note
Supports whitespace-separated values with optional commas between values as long as whitespace is also present
Vector can optionally be enclosed in parentheses () or square brackets []
String or char values containing whitespace or commas or enclosed in quotes are not supported

References numeric::xyzVector< typename >::x(), numeric::xyzVector< typename >::y(), and numeric::xyzVector< typename >::z().

template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
xyzTriple< T > &  v 
)

stream >> xyzTriple input operator

Note
Supports whitespace-separated values with optional commas between values as long as whitespace is also present
Vector can optionally be enclosed in parentheses () or square brackets []
String or char values containing whitespace or commas or enclosed in quotes are not supported

References numeric::xyzTriple< typename >::x(), numeric::xyzTriple< typename >::y(), and numeric::xyzTriple< typename >::z().

template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
BodyPosition< T > &  p 
)
template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
xyzMatrix< T > &  m 
)
template<typename T >
MathVector< T > numeric::operator^ ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
template<typename T >
xyzMatrix< T > numeric::outer_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
inline
template<typename T >
T numeric::principal_angle ( T const &  angle)
inline

Principal value of angle in radians on ( -pi, pi ].

References remainder().

template<typename T >
T numeric::principal_angle_degrees ( T const &  angle)
inline

Principal value of angle in degrees on ( -180, 180 ].

References remainder(), and basic::T().

template<typename T >
T numeric::principal_angle_radians ( T const &  angle)
inline

Principal value of angle in radians on ( -pi, pi ].

References remainder().

template<typename T >
xyzVector< T > numeric::principal_component_eigenvalues ( utility::vector1< xyzVector< T > > const &  coords)
inline

return a vector containing the eigenvalues corresponding to the first 3 principal components of the given set of points.

References principal_components_and_eigenvalues().

template<typename T >
xyzMatrix< T > numeric::principal_components ( utility::vector1< xyzVector< T > > const &  coords)
inline

return a matrix containing the first 3 principal components of the given set of points. Matrix columns are principal components, first column is first component, etc.

References principal_components_and_eigenvalues().

Referenced by first_principal_component().

template<typename T >
std::pair<xyzMatrix<T>, xyzVector<T> > numeric::principal_components_and_eigenvalues ( utility::vector1< xyzVector< T > > const &  coords)
inline

return a pair containing a matrix of the first 3 principal components and a vector of the corresponding eigenvalues of the given set of points.

References numeric::xyzMatrix< typename >::col(), numeric::xyzMatrix< typename >::col_x(), eigenvector_jacobi(), basic::T(), numeric::xyzVector< typename >::x(), numeric::xyzVector< typename >::y(), and numeric::xyzVector< typename >::z().

Referenced by principal_component_eigenvalues(), and principal_components().

std::pair<utility::vector1< utility::vector1< Real > >, utility::vector1< Real > > numeric::principal_components_and_eigenvalues_ndimensions ( utility::vector1< utility::vector1< Real > > const &  coords,
bool const  shift_center 
)
inline

Return a pair containing a matrix (vector of vectors) of all of the principal components and a vector of the corresponding eigenvalues of the given set of points in n-dimensional space.

Note that this does not assume that the input vectors are 3-dimensional. If shift_center=false, the mean vector is not subtracted by this function. (Failure to subtract mean vector prior to function call will produce odd results, however.)

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References runtime_assert_string_msg.

void numeric::print_probabilities ( const utility::vector1< double > &  probs,
std::ostream &  out 
)

Writes probs to the specified ostream.

template<typename T >
xyzVector< T > numeric::product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
inline
template<class ForwardIterator >
void numeric::product ( ForwardIterator  probs1_first,
ForwardIterator  probs1_last,
ForwardIterator  probs2_first,
ForwardIterator  probs2_last 
)

Multiplies two probability vectors with one another. Probability vectors are assumed to have equal lengths.

References normalize().

Referenced by numeric::HomogeneousTransform< double >::operator*(), and numeric::BodyPosition< typename >::transformed().

template<typename T >
Quaternion< T > numeric::product ( Quaternion< T > const &  q2,
Quaternion< T > const &  q1,
bool const  precise 
)

Product: Quaternion * Quaternion.

template<typename T >
T numeric::proj_angl ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B,
MathVector< T > const &  VECTOR_C,
MathVector< T > const &  VECTOR_D 
)
inline
Returns
projection angle between four MathVectors A->B and C->D

References basic::options::OptionKeys::hotspot::angle, max(), min(), numeric::MathVector< T >::norm(), and basic::T().

Referenced by proj_angl().

template<typename T >
T numeric::proj_angl ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B,
MathVector< T > const &  VECTOR_C 
)
inline
Returns
projection angle between three MathVectors A->B and A->C

References proj_angl().

template<typename T >
T numeric::proj_angl ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
projection angle between two MathVectors 0->A and 0->B

References proj_angl().

template<typename T >
xyzMatrix< T > numeric::projection_matrix ( xyzVector< T > const &  v)
inline

geometric center

Note
compute the geometric center of a list of points Projection matrix onto the line through a vector

References numeric::xyzVector< typename >::length_squared(), numeric::xyzVector< typename >::x_, numeric::xyzVector< typename >::y_, and numeric::xyzVector< typename >::z_.

Referenced by rotation_matrix().

void numeric::read_probabilities_or_die ( const std::string &  filename,
utility::vector1< double > *  probs 
)

Loads normalized, per-residue probabilities from filename, storing the result in probs. Assumes line i holds the probability of sampling residue i. There must be 1 line for each residue in the pose on which this data will be used.

References basic::options::OptionKeys::in::in, and utility_exit_with_message.

template<typename T >
std::istream& numeric::read_row ( std::istream &  stream,
T &  x,
T &  y,
T &  z 
)

Read an xyzMatrix row from a stream.

Note
Supports whitespace-separated values with optional commas between values as long as whitespace is also present
Rows can optionally be enclosed in parentheses () or square brackets []
String or char values containing whitespace or commas or enclosed in quotes are not supported
template<typename T >
std::istream& numeric::read_row ( std::istream &  stream,
T &  x,
T &  y,
T &  z,
T &  t 
)

Read an BodyPosition row from a stream.

Note
Supports whitespace-separated values with optional commas between values as long as whitespace is also present
Rows can optionally be enclosed in parentheses () or square brackets []
String or char values containing whitespace or commas or enclosed in quotes are not supported

References basic::options::OptionKeys::in::file::t.

Referenced by operator>>().

template<typename T >
T numeric::remainder ( T const &  x,
T const &  y 
)
inline

Remainder of x with respect to division by y that is of smallest magnitude.

Note
Emulates the C99 remainder function but also supports integer arguments
Returns zero if y is zero
Return value has magnitude <= | y / 2 |
If | n - ( x / y ) | == .5 the nearest even n is used

Referenced by numeric::interpolation::periodic_range::periodic_value::full::bilinearly_interpolated(), numeric::interpolation::periodic_range::periodic_value::half::bilinearly_interpolated(), numeric::interpolation::periodic_range::periodic_value::full::interpolated(), numeric::interpolation::periodic_range::periodic_value::half::interpolated(), principal_angle(), principal_angle_degrees(), and principal_angle_radians().

template<typename T , typename S >
T numeric::remainder_conversion ( T const &  t,
S &  s 
)
inline

Remainder and result of conversion to a different type.

References basic::options::OptionKeys::in::file::s.

convert an RGB color to HSV

numeric::xyzVector< platform::Real > numeric::rgb_to_hsv ( numeric::xyzVector< platform::Real rgb_triplet)
template<typename T >
T numeric::rotation_angle ( xyzMatrix< T > const &  R)
inline

Transformation from rotation matrix to magnitude of helical rotation.

Note
Input matrix must be orthogonal
Orientation of axis chosen so that the angle of rotation is non-negative [0,pi]

References