Rosetta  2019.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
numeric Namespace Reference

Unit headers. More...

Namespaces

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

Classes

class  AgglomerativeHierarchicalClusterer
 
class  AverageLinkClusterer
 
class  AxisRotationSampler
 
class  BodyPosition
 Rigid body 3-D position/transform. More...
 
class  Calculator
 
class  CalculatorParser
 
class  ClusteringTreeNode
 
class  ClusterOptions
 
class  ColPointers
 
class  ColsPointer
 
class  ColVectors
 
class  CompleteLinkClusterer
 
struct  CubicPolynomial
 
class  DietNode
 
class  DiscreteIntervalEncodingTree
 
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  MathNTensor
 
class  MathNTensorBase
 
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  SingleLinkClusterer
 
class  sphericalVector
 sphericalVector: Fast spherical-coordinate numeric vector More...
 
struct  SplineParameters
 SplineParameters is a simple struct for holding the cubic spline polynomials used in the etable to interpolate the lennard-jones attractive and LK-solvation terms to zero smoothly. These splines have exactly two knots to represent them, and the same x values are used for all the knots: thus the only parameters needed are the y values at the knots, and the second-derivatives for the polynomials at knots. More...
 
class  UniformRotationSampler
 
struct  urs_Quat
 
class  VoxelArray
 
class  VoxelGrid
 
struct  XformHash32
 
struct  XformHash64
 
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
utility::pointer::shared_ptr
< AxisRotationSampler
AxisRotationSamplerOP
 
typedef
utility::pointer::shared_ptr
< AxisRotationSampler const > 
AxisRotationSamplerCOP
 
typedef BodyPosition< floatBodyPosition_float
 
typedef BodyPosition< doubleBodyPosition_double
 
typedef BodyPosition< long doubleBodyPosition_longdouble
 
typedef
utility::pointer::shared_ptr
< Calculator
CalculatorOP
 
typedef
utility::pointer::shared_ptr
< ClusteringTreeNode
ClusteringTreeNodeOP
 
typedef
utility::pointer::weak_ptr
< ClusteringTreeNode
ClusteringTreeNodeAP
 
using Vector = xyzVector< Real >
 
using Length = Real
 
template<class T , numeric::Size N>
using MathNTensorOP = utility::pointer::shared_ptr< MathNTensor< T, N > >
 
template<class T , numeric::Size N>
using MathNTensorCOP = utility::pointer::shared_ptr< MathNTensor< T, N > const >
 
template<class T >
using MathNTensorBaseOP = utility::pointer::shared_ptr< MathNTensorBase< T > >
 
template<class T >
using MathNTensorBaseCOP = utility::pointer::shared_ptr< MathNTensorBase< T > const >
 
typedef
utility::pointer::shared_ptr
< Polynomial_1d
Polynomial_1dOP
 
typedef
utility::pointer::shared_ptr
< Polynomial_1d const > 
Polynomial_1dCOP
 
typedef Quaternion< floatQuaternion_float
 
typedef Quaternion< doubleQuaternion_double
 
typedef Quaternion< long doubleQuaternion_longdouble
 
typedef
utility::pointer::shared_ptr
< RocPoint
RocPointOP
 
typedef
utility::pointer::shared_ptr
< RocCurve
RocCurveOP
 
typedef double Real
 
typedef platform::Size Size
 
typedef platform::SSize SSize
 
typedef
utility::pointer::shared_ptr
< UniformRotationSampler
UniformRotationSamplerOP
 
typedef
utility::pointer::shared_ptr
< UniformRotationSampler const > 
UniformRotationSamplerCOP
 
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< floatXformf
 
typedef xyzTransform< doubleXform
 
typedef xyzTransform
< numeric::Real
xyzTransform_Real
 
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

template<class T >
void get_cluster_data (utility::vector1< T > &data_in, ClusteringTreeNodeOP cluster, utility::vector1< T > &data_out)
 
template<typename T >
T principal_angle (T const &angle)
 Principal value of angle in radians on ( -pi, pi ]. More...
 
template<typename T >
T principal_angle_radians (T const &angle)
 Principal value of angle in radians on ( -pi, pi ]. More...
 
template<typename T >
T principal_angle_degrees (T const &angle)
 Principal value of angle in degrees on ( -180, 180 ]. More...
 
template<typename T >
T nonnegative_principal_angle (T const &angle)
 Positive principal value of angle in radians on [ 0, 2*pi ) More...
 
template<typename T >
T nonnegative_principal_angle_radians (T const &angle)
 Positive principal value of angle in radians on [ 0, 2*pi ) More...
 
template<typename T >
T nonnegative_principal_angle_degrees (T const &angle)
 Positive principal value of angle in degrees on [ 0, 360 ) More...
 
template<typename T >
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 >
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 >
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 >
void R2quat (xyzMatrix< T > const &R, Quaternion< T > &Q)
 Interconvert Quaternion <=> Rotation Matrix. More...
 
template<typename T >
void quat2R (Quaternion< T > const &Q, xyzMatrix< T > &R)
 Interconvert Quaternion <=> Rotation Matrix. 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...
 
CubicPolynomial cubic_polynomial_from_spline (platform::Real xlo, platform::Real xhi, SplineParameters const &sp)
 Compute cubic polynomial coefficients from a set of SplineParameters. More...
 
platform::Real eval_cubic_polynomial (platform::Real const x, CubicPolynomial const &cp)
 Evaluate cubic polynomial at value x given polynomial coefficients. More...
 
platform::Real cubic_polynomial_deriv (platform::Real const x, CubicPolynomial const &cp)
 Evaluate derivative of cubic polynomial given x and polynomial coefficients. 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)
 
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< Toperator+ (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 sum two matrixs of equal size More...
 
template<typename T >
MathMatrix< Toperator- (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract two matrixs of equal size More...
 
template<typename T >
MathMatrix< Toperator* (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< Toperator+ (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 add value to matrix More...
 
template<typename T >
MathMatrix< Toperator+ (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 add matrix to value More...
 
template<typename T >
MathMatrix< Toperator- (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 subtract value from matrix More...
 
template<typename T >
MathMatrix< Toperator- (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract matrix from value More...
 
template<typename T >
MathMatrix< Toperator* (const T &SCALAR_LHS, const MathMatrix< T > &MATRIX_RHS)
 multiply scalar with matrix More...
 
template<typename T >
MathMatrix< Toperator* (const MathMatrix< T > &MATRIX_LHS, const T &SCALAR_RHS)
 multiply matrix with scalar More...
 
template<typename T >
MathVector< Toperator* (const MathMatrix< T > &MATRIX_LHS, const MathVector< T > &VECTOR_RHS)
 multiply matrix with vector More...
 
template<typename T >
MathMatrix< Toperator/ (const MathMatrix< T > &MATRIX_LHS, const T &SCALAR_RHS)
 divide matrix with scalar More...
 
template<typename T >
MathMatrix< Toperator/ (const T &SCALAR_LHS, const MathMatrix< T > &MATRIX_RHS)
 divide scalar by matrix More...
 
template<class T , numeric::Size N>
MathNTensorOP< T, N > deep_copy (MathNTensor< T, N > const &source)
 
template<class T , numeric::Size N>
bool write_tensor_to_file_without_json (std::string const &filename, MathNTensor< T, N > const &tensor)
 
template<class T , numeric::Size N>
void read_tensor_from_file (std::string const &filename_input, MathNTensor< T, N > &tensor, utility::json_spirit::mObject &json)
 
template<class T , numeric::Size N>
void read_tensor_from_file (std::string const &filename, MathNTensor< T, N > &tensor)
 
template<class T , numeric::Size N>
bool write_tensor_to_file (std::string const &filename, MathNTensor< T, N > const &tensor, utility::json_spirit::Value const &json_input)
 
template<class T , numeric::Size N>
bool write_tensor_to_file (std::string const &filename, MathNTensor< T, N > const &tensor)
 
template<class T >
MathNTensorBaseOP< Tdeep_copy (MathNTensorBase< T > const &source)
 
template MathNTensorBaseOP< Realdeep_copy (MathNTensorBase< Real > const &)
 Explicit template instantiation, apparently needed for PyRosetta. More...
 
template<typename T >
T distance (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
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 >
T proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B, MathVector< T > const &VECTOR_C)
 
template<typename T >
T proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
T scalar_product (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< TMakeVector (T const &X)
 
template<typename T >
MathVector< TMakeVector (T const &X, T const &Y)
 
template<typename T >
MathVector< TMakeVector (T const &X, T const &Y, T const &Z)
 
template<typename T >
MathVector< Toperator- (MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< Toperator+ (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< Toperator+ (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< Toperator- (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< Toperator+ (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< Toperator- (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< Toperator+ (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< Toperator- (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
T operator* (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< Toperator* (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< Toperator* (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< Toperator/ (MathVector< T > const &VECTOR, T const &X)
 
template<typename T >
MathVector< Toperator/ (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
 
template<typename T >
MathVector< Toperator/ (T const &X, MathVector< T > const &VECTOR)
 
template<typename T >
MathVector< Toperator^ (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 >
T square (T const &x)
 square( x ) == x^2 More...
 
template<typename T >
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 >
T sign_transfered (S const &sigma, T const &x)
 Sign transfered value. More...
 
template<typename T >
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 >
T mod (T const &x, T const &y)
 x(mod y) computational modulo returning magnitude < | y | and sign of x More...
 
template<typename T >
T modulo (T const &x, T const &y)
 x(mod y) mathematical modulo returning magnitude < | y | and sign of y More...
 
template<typename T >
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 >
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 >
T remainder_conversion (T const &t, S &s)
 Remainder and result of conversion to a different type. More...
 
template<typename T >
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...
 
template<typename T >
T factorial (T const &N)
 Calculate the value of N!. More...
 
template<typename T >
xyzVector< Tfirst_principal_component (utility::vector1< xyzVector< T > > const &coords)
 return the first principal component of the given set of points More...
 
template<typename T >
xyzMatrix< Tprincipal_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< Tprincipal_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 >
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 >
T sec (T const &x)
 Secant. More...
 
template<typename T >
T csc (T const &x)
 Cosecant. More...
 
template<typename T >
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 >
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 >
T arccos (T const x)
 like std::acos but with range checking More...
 
double urs_norm4 (double a, double b, double c, double d)
 
platform::Real urs_R2ang (numeric::xyzMatrix< Real > R)
 
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)
 
Realaccess_Real_MathNTensor (MathNTensorBaseOP< Real > tensorbase, utility::vector1< Size > const &position)
 Utility function to access an entry in a MathNTensor of arbitrary dimensionality unknown at compile time, given a MathNTensorBaseOP. More...
 
Real const & const_access_Real_MathNTensor (MathNTensorBaseCOP< Real > tensorbase, utility::vector1< Size > const &position)
 Utility function to access an entry in a MathNTensor of arbitrary dimensionality unknown at compile time, given a MathNTensorBaseCOP. More...
 
Size get_Real_MathNTensor_dimension_size (MathNTensorBaseCOP< Real > tensorbase, Size const dimension_index)
 Given a MathNTensorBaseCOP, get the size along one dimension. More...
 
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...
 
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 >
T max (utility::vector1< T > const &values)
 
template<typename T >
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 >
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 >
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<class F , class V >
std::ostream & operator<< (std::ostream &out, VoxelArray< F, V > const &v)
 
template<typename T >
T wrap_2pi (T const &angle)
 Wrap the given angle in the range [0, 2 * pi). More...
 
template<typename T >
T wrap_pi (T const &angle)
 Wrap the given angle in the range [-pi, pi). More...
 
template<typename T >
T wrap_360 (T const &angle)
 Wrap the given angle in the range [0, 360). More...
 
template<typename T >
T wrap_180 (T const &angle)
 Wrap the given angle in the range [-180, 180). More...
 
template<typename T >
xyzVector< Toperator* (xyzMatrix< T > const &m, xyzVector< T > const &v)
 
template<typename T >
xyzVector< Tproduct (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< Ttranspose_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< Touter_product (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector xyzVector outer product More...
 
template<typename T >
xyzMatrix< Tinverse (xyzMatrix< T > const &a)
 
template<typename T >
xyzMatrix< Tprojection_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 >
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 >
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 >
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< Trotation_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< Trotation_axis (xyzMatrix< T > const &R, T &theta)
 Transformation from rotation matrix to helical axis of rotation. More...
 
template<typename T >
xyzVector< Teigenvalue_jacobi (xyzMatrix< T > const &a, T const &tol)
 Classic Jacobi algorithm for the eigenvalues of a real symmetric matrix. More...
 
template<typename T >
xyzVector< Teigenvector_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< Txyz_to_spherical (xyzVector< T > const &xyz)
 
template<typename T >
xyzVector< Tspherical_to_xyz (sphericalVector< T > const &spherical)
 
template<typename T >
xyzVector< Tclosest_point_on_line (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &q)
 xyzMatrix * xyzVector More...
 
template<typename T >
xyzVector< Tcenter_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 >
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 >
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 >
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 >
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< Trotation_matrix (xyzVector< T > const &axis_angle)
 
template<typename T >
xyzMatrix< Trotation_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< Trotation_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< Tx_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< Tx_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< Tx_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< Ty_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< Ty_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< Ty_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< Tz_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< Tz_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in radians. More...
 
template<typename T >
xyzMatrix< Tz_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in degrees. More...
 
template<typename T >
xyzMatrix< TalignVectorSets (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 >
T rotation_angle (xyzMatrix< T > const &R)
 Transformation from rotation matrix to magnitude of helical rotation. More...
 
template<typename T >
xyzVector< Trotation_axis_angle (xyzMatrix< T > const &R)
 Transformation from rotation matrix to compact axis-angle representation. More...
 
template<typename T >
xyzVector< Tcomma_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< Tvector_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< TFArray_to_xyzmatrix (ObjexxFCL::FArray2D< T > const &input)
 convert a 3x3 FArray 2D to an xyzMatrix More...
 
template<typename T >
ObjexxFCL::FArray2D< Txyzmatrix_to_FArray (numeric::xyzMatrix< T > const &input)
 convert an xyzMatrix to a 3x3 FArray 2D More...
 
template<typename T >
void angles_between_0_180 (xyzVector< T > &angles)
 
template<typename T >
xyzMatrix< Trotation_matrix_from_euler_angles_ZYZ (xyzVector< T > const &angles)
 
template<typename T >
xyzMatrix< Trotation_matrix_from_euler_angles_ZXZ (xyzVector< T > const &angles)
 
template<typename T >
xyzMatrix< Trotation_matrix_from_euler_angles_ZYX (xyzVector< T > const &angles)
 
template<typename T >
xyzVector< Teuler_angles_from_rotation_matrix_ZYZ (xyzMatrix< T > const &rotM)
 
template<typename T >
xyzVector< Teuler_angles_from_rotation_matrix_ZXZ (xyzMatrix< T > const &rotM)
 
template<typename T >
xyzVector< Teuler_angles_from_rotation_matrix_ZYX (xyzMatrix< T > const &rotM)
 
template<typename T >
void to_json (nlohmann::json &j, const xyzVector< T > &v)
 
template<typename T >
void from_json (const nlohmann::json &j, xyzVector< T > &v)
 
template<typename T >
utility::json_spirit::Value serialize (xyzVector< T > coords)
 Convert vector to a json_spirit Value. More...
 
template<typename T >
xyzVector< Tdeserialize (utility::json_spirit::mArray data)
 
template<typename T >
xyzMatrix< Toperator+ (T const &t, xyzMatrix< T > const &m)
 T + xyzMatrix. More...
 
template<typename T >
xyzMatrix< Toperator- (T const &t, xyzMatrix< T > const &m)
 T - xyzMatrix. More...
 
template<typename T >
xyzMatrix< Toperator* (T const &t, xyzMatrix< T > const &m)
 T * 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 &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< Toperator+ (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple + xyzTriple More...
 
template<typename T >
xyzTriple< Toperator+ (xyzTriple< T > const &v, T const &t)
 xyzTriple + T More...
 
template<typename T >
xyzTriple< Toperator+ (T const &t, xyzTriple< T > const &v)
 T + xyzTriple. More...
 
template<typename T >
xyzTriple< Toperator- (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple - xyzTriple More...
 
template<typename T >
xyzTriple< Toperator- (xyzTriple< T > const &v, T const &t)
 xyzTriple - T More...
 
template<typename T >
xyzTriple< Toperator- (T const &t, xyzTriple< T > const &v)
 T - xyzTriple. More...
 
template<typename T >
xyzTriple< Toperator* (xyzTriple< T > const &v, T const &t)
 xyzTriple * T More...
 
template<typename T >
xyzTriple< Toperator* (T const &t, xyzTriple< T > const &v)
 T * xyzTriple. More...
 
template<typename T >
xyzTriple< Toperator/ (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< Tmin (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple with min coordinates of two xyzTriples More...
 
template<typename T >
xyzTriple< Tmax (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple with max coordinates of two xyzTriples More...
 
template<typename T >
T distance (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Distance. More...
 
template<typename T >
T distance_squared (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Distance squared. More...
 
template<typename T >
T dot (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Dot product. More...
 
template<typename T >
T dot_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Dot product. More...
 
template<typename T >
T inner_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Inner product ( == dot product ) More...
 
template<typename T >
xyzTriple< Tcross (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cross product. More...
 
template<typename T >
xyzTriple< Tcross_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< Tmidpoint (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< Tcenter (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< Tcenter (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< Tcenter (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 >
T angle_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename T >
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 >
T cos_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cosine of angle between two vectors. More...
 
template<typename T >
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 >
T sin_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Sine of angle between two vectors. More...
 
template<typename T >
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 U >
dot (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Dot product. More...
 
template<typename U >
dot_product (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Dot product. More...
 
template<typename U >
inner_product (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Inner product ( == dot product ) More...
 
template<typename U >
bool equal_length (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Equal length? More...
 
template<typename U >
xyzTriple< U > cross (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Cross product. More...
 
template<typename U >
xyzTriple< U > cross_product (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Cross product. More...
 
template<typename U >
void cross (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename U >
void cross_product (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename U >
xyzTriple< U > midpoint (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Midpoint of 2 xyzTriples. More...
 
template<typename U >
void midpoint (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > &m)
 Midpoint of 2 xyzTriples: Return via argument (slightly faster) More...
 
template<typename U >
xyzTriple< U > center (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Center of 2 xyzTriples. More...
 
template<typename U >
void center (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > &m)
 Center of 2 xyzTriples: Return via argument (slightly faster) More...
 
template<typename U >
xyzTriple< U > center (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c)
 Center of 3 xyzTriples. More...
 
template<typename U >
void center (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c, xyzTriple< U > &m)
 Center of 3 xyzTriples: Return via argument (slightly faster) More...
 
template<typename U >
xyzTriple< U > center (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c, xyzTriple< U > const &d)
 Center of 4 xyzTriples. More...
 
template<typename U >
void center (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c, xyzTriple< U > const &d, xyzTriple< U > &m)
 Center of 4 xyzTriples: Return via argument (slightly faster) More...
 
template<typename U >
angle_of (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename U >
angle_of (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ]) More...
 
template<typename U >
cos_of (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Cosine of angle between two vectors. More...
 
template<typename U >
cos_of (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c)
 Cosine of angle formed by three consecutive points. More...
 
template<typename U >
sin_of (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Sine of angle between two vectors. More...
 
template<typename U >
sin_of (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > const &c)
 Sine of angle formed by three consecutive points. More...
 
template<typename U >
distance_squared (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Distance squared. More...
 
template<typename U >
bool not_equal_length (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Not equal length? More...
 
template<typename U >
void add (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > &r)
 Add: xyzTriple + xyzTriple. More...
 
template<typename U >
void add (xyzTriple< U > const &v, U const &t, xyzTriple< U > &r)
 Add: xyzTriple + Value. More...
 
template<typename U >
void add (U const &t, xyzTriple< U > const &v, xyzTriple< U > &r)
 Add: Value + xyzTriple. More...
 
template<typename U >
void subtract (xyzTriple< U > const &a, xyzTriple< U > const &b, xyzTriple< U > &r)
 Subtract: xyzTriple - xyzTriple. More...
 
template<typename U >
void subtract (xyzTriple< U > const &v, U const &t, xyzTriple< U > &r)
 Subtract: xyzTriple - Value. More...
 
template<typename U >
void subtract (U const &t, xyzTriple< U > const &v, xyzTriple< U > &r)
 Subtract: Value - xyzTriple. More...
 
template<typename U >
void multiply (xyzTriple< U > const &v, U const &t, xyzTriple< U > &r)
 Multiply: xyzTriple * Value. More...
 
template<typename U >
void multiply (U const &t, xyzTriple< U > const &v, xyzTriple< U > &r)
 Multiply: Value * xyzTriple. More...
 
template<typename U >
void divide (xyzTriple< U > const &v, U const &t, xyzTriple< U > &r)
 Divide: xyzTriple / Value. More...
 
template<typename U >
xyzTriple< U > min (xyzTriple< U > const &a, xyzTriple< U > const &b)
 xyzTriple with min coordinates of two xyzTriples More...
 
template<typename U >
xyzTriple< U > max (xyzTriple< U > const &a, xyzTriple< U > const &b)
 xyzTriple with max coordinates of two xyzTriples More...
 
template<typename U >
distance (xyzTriple< U > const &a, xyzTriple< U > const &b)
 Distance. 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< Toperator+ (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector + xyzVector More...
 
template<typename T >
xyzVector< Toperator+ (xyzVector< T > const &v, T const &t)
 xyzVector + T More...
 
template<typename T >
xyzVector< Toperator+ (T const &t, xyzVector< T > const &v)
 T + xyzVector. More...
 
template<typename T >
xyzVector< Toperator- (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector - xyzVector More...
 
template<typename T >
xyzVector< Toperator- (xyzVector< T > const &v, T const &t)
 xyzVector - T More...
 
template<typename T >
xyzVector< Toperator- (T const &t, xyzVector< T > const &v)
 T - xyzVector. More...
 
template<typename T >
xyzVector< Toperator* (xyzVector< T > const &v, T const &t)
 xyzVector * T More...
 
template<typename T >
xyzVector< Toperator* (T const &t, xyzVector< T > const &v)
 T * xyzVector. More...
 
template<typename T >
xyzVector< Toperator/ (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< Tmin (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with min coordinates of two xyzVectors More...
 
template<typename T >
xyzVector< Tmax (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with max coordinates of two xyzVectors More...
 
template<typename T >
T dot (xyzVector< T > const &a, xyzVector< T > const &b)
 Distance. More...
 
template<typename T >
T dot_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Dot product. More...
 
template<typename T >
T inner_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Inner product ( == dot product ) More...
 
template<typename T >
xyzVector< Tcross (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product. More...
 
template<typename T >
xyzVector< Tcross_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< Tmidpoint (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< Tcenter (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< Tcenter (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< Tcenter (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 >
T angle_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename T >
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 >
T cos_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Cosine of angle between two vectors. More...
 
template<typename T >
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 >
T sin_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Sine of angle between two vectors. More...
 
template<typename T >
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 U >
void subtract (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &r)
 Subtract: xyzVector - xyzVector. More...
 
template<typename U >
void subtract (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Subtract: xyzVector - Value. More...
 
template<typename U >
void subtract (U const &t, xyzVector< U > const &v, xyzVector< U > &r)
 Subtract: Value - xyzVector. More...
 
template<typename U >
void multiply (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Multiply: xyzVector * Value. More...
 
template<typename U >
void multiply (U const &t, xyzVector< U > const &v, xyzVector< U > &r)
 Multiply: Value * xyzVector. More...
 
template<typename T >
xyzVector< Tupdate_operation (xyzVector< T > const &a, xyzVector< T > const &b)
 
template<typename T >
xyzVector< Tupdate_5way_operation (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > const &d, xyzVector< T > const &e)
 
template<typename U >
angle_of (xyzVector< U > const &a, xyzVector< U > const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename U >
angle_of (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ]) More...
 
template<typename U >
cos_of (xyzVector< U > const &a, xyzVector< U > const &b)
 Cosine of angle between two vectors. More...
 
template<typename U >
cos_of (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Cosine of angle formed by three consecutive points. More...
 
template<typename U >
sin_of (xyzVector< U > const &a, xyzVector< U > const &b)
 Sine of angle between two vectors. More...
 
template<typename U >
sin_of (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Sine of angle formed by three consecutive points. More...
 
template<typename U >
xyzVector< U > min (xyzVector< U > const &a, xyzVector< U > const &b)
 xyzVector with min coordinates of two xyzVectors More...
 
template<typename U >
xyzVector< U > max (xyzVector< U > const &a, xyzVector< U > const &b)
 xyzVector with max coordinates of two xyzVectors More...
 
template<typename U >
xyzVector< U > cross (xyzVector< U > const &a, xyzVector< U > const &b)
 Cross product. More...
 
template<typename U >
xyzVector< U > cross_product (xyzVector< U > const &a, xyzVector< U > const &b)
 Cross product. More...
 
template<typename U >
void cross (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename U >
void cross_product (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > midpoint (xyzVector< U > const &a, xyzVector< U > const &b)
 Midpoint of 2 xyzVectors. More...
 
template<typename U >
void midpoint (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &m)
 Midpoint of 2 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > center (xyzVector< U > const &a, xyzVector< U > const &b)
 Center of 2 xyzVectors. More...
 
template<typename U >
void center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &m)
 Center of 2 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Center of 3 xyzVectors. More...
 
template<typename U >
void center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > &m)
 Center of 3 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > const &d)
 Center of 4 xyzVectors. More...
 
template<typename U >
void center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > const &d, xyzVector< U > &m)
 Center of 4 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
void add (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &r)
 Add: xyzVector + xyzVector. More...
 
template<typename U >
void add (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Add: xyzVector + Value. More...
 
template<typename U >
void add (U const &t, xyzVector< U > const &v, xyzVector< U > &r)
 Add: Value + xyzVector. More...
 
template<typename U >
bool equal_length (xyzVector< U > const &a, xyzVector< U > const &b)
 Equal length? More...
 
template<typename U >
bool not_equal_length (xyzVector< U > const &a, xyzVector< U > const &b)
 Not equal length? More...
 
template<typename U >
dot (xyzVector< U > const &a, xyzVector< U > const &b)
 Dot product. More...
 
template<typename U >
inner_product (xyzVector< U > const &a, xyzVector< U > const &b)
 Inner product ( == dot product ) More...
 
template<typename U >
void divide (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Divide: xyzVector / Value. 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)
 
void calc_zscore (std::map< Size, Real > const &input_v, std::map< Size, Real > &zscore_v, bool negating=false)
 Calculate a Z-score from a set of data. Real i_zscore = (input_v[i]-mean)/stdev;. More...
 

Detailed Description

Unit headers.

A collection of functions for working with probabilities.

Vector0's that can perform mathmatical functions.

Generic base class for the MathNTensor class. Since the MathNTensor class takes a type AND a dimensionality as template arguments, it's not possible to have a generic pointer to a MathNTensor of arbitrary dimensionality. The base class allows this.

File input/output for the MathNTensor class.

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.

Base class for abstract N-dimensional PolycubicSpline.

Polycubic spline for smoothly interpolating a function in n dimensions.

Cubic spline for all your evil desires.

Forward declarations for the cubic spline class.

Bicubic spline for all your hearts' desires.

Forward declarations for the bicubic spline class.

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

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

Author
Steven Combs

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

Author
Steven Combs

Also called Keys spline or polycubic 'convolution'. See: https://en.wikipedia.org/wiki/Bicubic_interpolation

Unlike prior Rosetta spline interpolation (see interpolation::polycubic_interpolation or B-spline implementation in core::scoring::electron_density::SplineInterp), this does not require pre-training of spline which can be both time-intensive & memory intensive. Instead, uses an interpolant based on nearest neighbor grid points (like polylinear interpolation) and next-nearest neighbor.

First derivative is continuous (but second deriv is not, in general).

If we need more accuracy & smoothness, there is a higher-order cubic spline that looks out one more neighbor (see Keys, "Cubic convolution interpolation for digital image processing", IEEE Transactions on Acoustics, Speech, and Signal Processing 1981).

If we need more speed, following is pretty inefficient to ensure generality (see notes). Also, there is apparently a faster version called osculatory interpolation that predated Keys & Catmull & Rom by 80 years; see Meijering & Unser, "A Note on Cubic Convolution Interpolation", IEEE Transactions on Image Processing 2003.

References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Author
Steven Combs, Ralf Mueller, Jens Meiler
Steven Combs
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

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
Author
Steven Combs, Ralf Mueller, Jens Meiler

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
Author
Steven Combs, Ralf Mueller, Jens Meiler
References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Author
Steven Combs, Ralf Mueller, Jens Meiler ported to Rosetta by Andrew Leaver-Fay generalized to N dimensions by Andrew Watkins
References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Author
Steven Combs, Ralf Mueller, Jens Meiler ported to Rosetta by Andrew Leaver-Fay generalized to n dimensions by Andrew Watkins
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)
References:
Numerical Recipes in c++ 2nd edition Ralf Mueller
Author
Steven Combs, Ralf Mueller, Jens Meiler ported to Rosetta by Andrew Leaver-Fay

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
Author
Steven Combs, Nils Woetzl, Jens Meiler

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
Author
Steven Combs, Nils Woetzl, Jens Meiler

This is an implementation of an algorithm that was taken from BCL (Jens Meiler) *****NOTE**** The MathNTensor class is indexed at 0!

Check out MathNTensor_io.hh for file i/o functions.

References:
Nils Woetzl Jens Meiler
Author
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)
generalized to N dimensions by Andrew Watkins
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu) – added default constructor, clone() operator.

To avoid cryptic 'hardwiring' of binary file specification into the code, look for details of # bins as n_bins entry in JSON file.

File should be of the form '.bin.gz', with associated '.json' ASCII file.

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

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
Author
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)

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
Author
Steven Combs, Nils Woetzl, Jens Meiler

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
Author
Steven Combs, Nils Woetzl, Jens Meiler

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

Typedef Documentation

typedef utility::pointer::shared_ptr< AxisRotationSampler const > numeric::AxisRotationSamplerCOP
typedef utility::pointer::shared_ptr<Calculator> numeric::CalculatorOP
template<class T >
using numeric::MathNTensorBaseCOP = typedef utility::pointer::shared_ptr< MathNTensorBase< T > const >
template<class T >
using numeric::MathNTensorBaseOP = typedef utility::pointer::shared_ptr< MathNTensorBase< T > >
template<class T , numeric::Size N>
using numeric::MathNTensorCOP = typedef utility::pointer::shared_ptr< MathNTensor< T,N > const >
template<class T , numeric::Size N>
using numeric::MathNTensorOP = typedef utility::pointer::shared_ptr< MathNTensor< T,N > >
typedef utility::pointer::shared_ptr< Polynomial_1d const > numeric::Polynomial_1dCOP
typedef utility::pointer::shared_ptr< Polynomial_1d > numeric::Polynomial_1dOP
typedef utility::pointer::shared_ptr<RocCurve> numeric::RocCurveOP
typedef utility::pointer::shared_ptr<RocPoint> numeric::RocPointOP
typedef utility::pointer::shared_ptr< UniformRotationSampler const > numeric::UniformRotationSamplerCOP

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().

Real & numeric::access_Real_MathNTensor ( MathNTensorBaseOP< Real >  tensorbase,
utility::vector1< Size > const &  position 
)

Utility function to access an entry in a MathNTensor of arbitrary dimensionality unknown at compile time, given a MathNTensorBaseOP.

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

References utility::pointer::dynamic_pointer_cast(), runtime_assert, runtime_assert_string_msg, and utility_exit_with_message.

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 U >
void numeric::add ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b,
xyzTriple< U > &  r 
)
inline
template<typename U >
void numeric::add ( xyzTriple< U > const &  v,
U const &  t,
xyzTriple< U > &  r 
)
inline
template<typename U >
void numeric::add ( U const &  t,
xyzTriple< U > const &  v,
xyzTriple< U > &  r 
)
inline

Add: Value + xyzTriple.

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

Add: Value + 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(), and numeric::conversions::degrees().

Referenced by angle_degrees_double(), and find_neighbors_directional().

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(), and numeric::conversions::degrees().

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 
)
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 U >
U numeric::angle_of ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

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

References sin_cos_range().

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

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

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c

References angle_of().

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

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

References sin_cos_range().

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

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

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c

References angle_of().

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 basic::options::OptionKeys::score::fiber_diffraction::a, basic::options::OptionKeys::score::fiber_diffraction::b, 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, and angle_radians().

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::score::fiber_diffraction::a, basic::options::OptionKeys::hotspot::angle, basic::options::OptionKeys::score::fiber_diffraction::b, dot(), and sin_cos_range().

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 >
void numeric::angles_between_0_180 ( xyzVector< T > &  angles)
inline
template<typename T >
T numeric::arccos ( T const  x)
inline
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::calc_zscore ( std::map< Size, Real > const &  input_v,
std::map< Size, Real > &  zscore_v,
bool  negating = false 
)

Calculate a Z-score from a set of data. Real i_zscore = (input_v[i]-mean)/stdev;.

Author
Ray Wang (wangy.nosp@m.r@uw.nosp@m..edu) Negating flips the zscore (i_zscore = -1*i_zscore)

References mean(), clean_pdb_keep_ligand::nres, and sum().

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 basic::options::OptionKeys::mh::match::aa, ObjexxFCL::abs(), cross(), numeric::conversions::degrees(), dot(), test.T009_Exceptions::e, ObjexxFCL::format::F(), numeric::xyzVector< typename >::is_unit(), numeric::xyzVector< typename >::length(), test.T007_TracerIO::M, 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 U >
xyzTriple<U> numeric::center ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Center of 2 xyzTriples.

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

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

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

Center of 3 xyzTriples.

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

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

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

Center of 4 xyzTriples.

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

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

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

Center of 2 xyzVectors.

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

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

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

Center of 3 xyzVectors.

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

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

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

Center of 4 xyzVectors.

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

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
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(), test.T007_TracerIO::T, and basic::options::OptionKeys::in::file::xyz.

Real const & numeric::const_access_Real_MathNTensor ( MathNTensorBaseCOP< Real >  tensorbase,
utility::vector1< Size > const &  position 
)

Utility function to access an entry in a MathNTensor of arbitrary dimensionality unknown at compile time, given a MathNTensorBaseCOP.

Utility function to get const access to an entry in a MathNTensor of arbitrary dimensionality unknown at compile time, given a MathNTensorBaseCOP.

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

References utility::pointer::dynamic_pointer_cast(), runtime_assert, runtime_assert_string_msg, and utility_exit_with_message.

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

Cosine of angle between two vectors.

Referenced by cos_of(), and sin_of().

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 U >
U numeric::cos_of ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Cosine of angle between two vectors.

References sin_cos_range().

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

Cosine of angle formed by three consecutive points.

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c.

References cos_of().

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

Cosine of angle between two vectors.

References sin_cos_range().

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

Cosine of angle formed by three consecutive points.

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c.

References cos_of().

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

Cotangent.

References test.T007_TracerIO::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 U >
xyzTriple<U> numeric::cross ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Cross product.

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

Cross product: Return via argument (slightly faster)

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

Cross product.

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

Cross product: Return via argument (slightly faster)

template<typename T >
xyzTriple< T > numeric::cross_product ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
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 U >
xyzTriple<U> numeric::cross_product ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Cross product.

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

Cross product: Return via argument (slightly faster)

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

Cross product.

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

Cross product: Return via argument (slightly faster)

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

cube( x ) == x^3

References numeric::crick_equations::x().

platform::Real numeric::cubic_polynomial_deriv ( platform::Real const  x,
CubicPolynomial const &  cp 
)

Evaluate derivative of cubic polynomial given x and polynomial coefficients.

References numeric::CubicPolynomial::c1, numeric::CubicPolynomial::c2, and numeric::CubicPolynomial::c3.

CubicPolynomial numeric::cubic_polynomial_from_spline ( platform::Real  xlo,
platform::Real  xhi,
SplineParameters const &  sp 
)
template<class RandomAccessIterator >
void numeric::cumulative ( RandomAccessIterator  first,
RandomAccessIterator  last 
)

Converts pdf to cdf.

References normalize().

template<class T , numeric::Size N>
MathNTensorOP< T, N > numeric::deep_copy ( MathNTensor< T, N > const &  source)
template<class T >
MathNTensorBaseOP< T > numeric::deep_copy ( MathNTensorBase< T > const &  source)
template MathNTensorBaseOP< Real > numeric::deep_copy ( MathNTensorBase< Real > const &  )

Explicit template instantiation, apparently needed for PyRosetta.

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
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 basic::options::OptionKeys::score::fiber_diffraction::a, basic::options::OptionKeys::score::fiber_diffraction::b, cross(), dot(), numeric::crick_equations::x(), and numeric::crick_equations::y().

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

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, and dihedral_radians().

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
Returns
distance between two MathVectors A->B

References measure_params::norm().

Referenced by numeric::deriv::distance_f1_f2_deriv(), and numeric::random::uniform_vector_sphere().

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

Distance.

template<typename U >
U numeric::distance ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Distance.

References square().

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

Distance squared.

References square().

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.

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

Divide: xyzTriple / Value.

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

Divide: xyzVector / Value.

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 ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
T numeric::dot ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

Distance.

Distance squared Dot product

template<typename U >
U numeric::dot ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Dot product.

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

Dot product.

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

Dot product.

Referenced by closest_point_on_line().

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

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
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)

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

Equal length?

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

Equal length?

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

Equal length?

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

Equal length?

template<typename T >
xyzVector<T> numeric::euler_angles_from_rotation_matrix_ZXZ ( xyzMatrix< T > const &  rotM)
inline
template<typename T >
xyzVector<T> numeric::euler_angles_from_rotation_matrix_ZYX ( xyzMatrix< T > const &  rotM)
inline
template<typename T >
xyzVector<T> numeric::euler_angles_from_rotation_matrix_ZYZ ( xyzMatrix< T > const &  rotM)
inline
platform::Real numeric::eval_cubic_polynomial ( platform::Real const  x,
CubicPolynomial const &  cp 
)

Evaluate cubic polynomial at value x given polynomial coefficients.

References numeric::CubicPolynomial::c0, numeric::CubicPolynomial::c1, numeric::CubicPolynomial::c2, and numeric::CubicPolynomial::c3.

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)) 
)
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 >
T numeric::factorial ( T const &  N)

Calculate the value of N!.

Dangerous for large values of N. Uses a recursive algorithm – might not be efficient and can't be inlined.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).
template<typename T >
utility::vector1< xyzVector<T> > numeric::FArray_to_vector_of_xyzvectors ( ObjexxFCL::FArray2D< T > const &  input)
inline
template<typename T >
numeric::xyzMatrix<T> numeric::FArray_to_xyzmatrix ( ObjexxFCL::FArray2D< T > const &  input)
inline
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,
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!.

References ObjexxFCL::abs(), and basic::options::OptionKeys::cloud::key.

template<typename T >
T numeric::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.

References basic::options::OptionKeys::cloud::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 >
void numeric::from_json ( const nlohmann::json &  j,
xyzVector< T > &  v 
)
template<typename T >
T numeric::gcd ( T const &  m,
T const &  n 
)
inline

Greatest common divisor.

References max(), min(), mod(), and test.T007_TracerIO::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 ObjexxFCL::abs(), max(), min(), and test.T007_TracerIO::T.

template<class T >
void numeric::get_cluster_data ( utility::vector1< T > &  data_in,
ClusteringTreeNodeOP  cluster,
utility::vector1< T > &  data_out 
)
Size numeric::get_Real_MathNTensor_dimension_size ( MathNTensorBaseCOP< Real >  tensorbase,
Size const  dimension_index 
)

Given a MathNTensorBaseCOP, get the size along one dimension.

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

References utility::pointer::dynamic_pointer_cast(), runtime_assert, runtime_assert_string_msg, and utility_exit_with_message.

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 ObjexxFCL::abs(), max(), min(), and test.T007_TracerIO::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 test.T007_TracerIO::T, and loops_kic::tol.

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

Inner product ( == dot product )

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

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

Inner product ( == dot product )

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

Inner product ( == dot product )

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

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
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 ObjexxFCL::abs(), test.T110_Numeric::m, basic::options::OptionKeys::in::file::s, basic::options::OptionKeys::in::file::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 ObjexxFCL::abs(), max(), min(), and test.T007_TracerIO::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 ObjexxFCL::abs(), max(), min(), and test.T007_TracerIO::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

References ObjexxFCL::format::X().

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

References ObjexxFCL::format::X().

template<typename T >
T numeric::max ( utility::vector1< T > const &  values)

References test.T200_Scoring::ii, and max().

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

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

xyzVector with max coordinates of two xyzVectors

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

xyzTriple with max coordinates of two xyzTriples

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

References value.

Referenced by calc_zscore(), and do_mean().

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

Returns the median from a vector1 of Real values.

References test.T040_Types::values.

Referenced by do_median().

template<typename T >
xyzTriple< T > numeric::midpoint ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
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)

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

Midpoint of 2 xyzTriples.

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

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

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

Midpoint of 2 xyzVectors.

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

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 test.T200_Scoring::ii, and min().

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 U >
xyzVector<U> numeric::min ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
inline

xyzVector with min coordinates of two xyzVectors

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

xyzTriple with min coordinates of two xyzTriples

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 gcd(), numeric::interpolation::InterpolatedPotential< N >::get_indices(), numeric::RemainderSelector< T, bool >::remainder(), and numeric::RemainderSelector< T, true >::remainder().

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 U >
void numeric::multiply ( xyzVector< U > const &  v,
U const &  t,
xyzVector< U > &  r 
)
inline

Multiply: xyzVector * Value.

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

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

Multiply: Value * xyzVector.

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

Multiply: xyzTriple * Value.

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

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

Multiply: Value * xyzTriple.

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 test.T007_TracerIO::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 test.T007_TracerIO::T.

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

nearest_size( x ): Nearest std::size_t

References sign(), and test.T007_TracerIO::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 test.T007_TracerIO::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 test.T007_TracerIO::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 assign_charges::first, and 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 U >
bool numeric::not_equal_length ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Not equal length?

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

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)

References ObjexxFCL::format::X().

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

References ObjexxFCL::format::X().

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!= ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator!= ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
bool numeric::operator!= ( T const &  t,
xyzTriple< T > const &  v 
)

T != xyzTriple.

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

T != xyzVector.

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

T != xyzMatrix.

template<typename T >
xyzVector< T > numeric::operator* ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
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(), numeric::MathMatrix< T >::get_number_rows(), and basic::options::OptionKeys::frags::j.

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(), numeric::MathMatrix< T >::get_number_rows(), and basic::options::OptionKeys::frags::j.

template<typename T >
xyzTriple< T > numeric::operator* ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
xyzTriple< T > numeric::operator* ( T const &  t,
xyzTriple< T > const &  v 
)
template<typename T >
xyzVector< T > numeric::operator* ( xyzVector< T > const &  v,
T const &  t 
)
template<typename T >
xyzVector< T > numeric::operator* ( T const &  t,
xyzVector< T > const &  v 
)
template<typename T >
xyzMatrix< T > numeric::operator* ( T const &  t,
xyzMatrix< T > const &  m 
)
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(), numeric::MathMatrix< T >::end(), and basic::options::OptionKeys::mp::transform::transform.

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 
)
template<typename T >
xyzTriple< T > numeric::operator+ ( T const &  t,
xyzTriple< T > const &  v 
)
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 
)
template<typename T >
xyzVector< T > numeric::operator+ ( T const &  t,
xyzVector< T > const &  v 
)
template<typename T >
xyzMatrix< T > numeric::operator+ ( T const &  t,
xyzMatrix< T > const &  m 
)
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(), numeric::MathMatrix< T >::end(), and basic::options::OptionKeys::mp::transform::transform.

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(), numeric::MathMatrix< T >::end(), and basic::options::OptionKeys::mp::transform::transform.

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

References test.T007_TracerIO::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 
)
template<typename T >
xyzTriple< T > numeric::operator- ( T const &  t,
xyzTriple< T > const &  v 
)
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 
)
template<typename T >
xyzVector< T > numeric::operator- ( T const &  t,
xyzVector< T > const &  v 
)
template<typename T >
xyzMatrix< T > numeric::operator- ( T const &  t,
xyzMatrix< T > const &  m 
)
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(), numeric::MathMatrix< T >::end(), and basic::options::OptionKeys::mp::transform::transform.

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(), numeric::MathMatrix< T >::end(), and basic::options::OptionKeys::mp::transform::transform.

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 
)
template<typename T >
xyzVector< T > numeric::operator/ ( xyzVector< T > const &  v,
T const &  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(), numeric::MathMatrix< T >::end(), and basic::options::OptionKeys::mp::transform::transform.

template<typename T >
bool numeric::operator< ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator< ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
bool numeric::operator< ( T const &  t,
xyzTriple< T > const &  v 
)
template<typename T >
bool numeric::operator< ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator< ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator< ( xyzVector< T > const &  v,
T const &  t 
)
template<typename T >
bool numeric::operator< ( xyzMatrix< T > const &  m,
T const &  t 
)
template<typename T >
bool numeric::operator< ( T const &  t,
xyzVector< T > const &  v 
)
template<typename T >
bool numeric::operator< ( T const &  t,
xyzMatrix< T > const &  m 
)
std::ostream & numeric::operator<< ( std::ostream &  os,
MultiDimensionalHistogram const &  mdhist 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzTransform< T > const &  m 
)
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,
xyzTriple< T > const &  v 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzVector< 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<class F , class V >
std::ostream& numeric::operator<< ( std::ostream &  out,
VoxelArray< F, V > const &  v 
)
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<= ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator<= ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
bool numeric::operator<= ( T const &  t,
xyzTriple< T > const &  v 
)

T <= xyzTriple.

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

T <= xyzVector.

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

T <= xyzMatrix.

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

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

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 ObjexxFCL::format::X().

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(), numeric::MathMatrix< T >::end(), and ObjexxFCL::equal().

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== ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator== ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
bool numeric::operator== ( T const &  t,
xyzTriple< T > const &  v 
)

T == xyzTriple.

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

T == xyzVector.

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

T == xyzMatrix.

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

T >= xyzTriple.

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

T >= xyzVector.

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

T >= xyzMatrix.

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 test.T007_TracerIO::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
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 basic::options::OptionKeys::frags::j, runtime_assert_string_msg, and amino_acids::size.

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 basic::options::OptionKeys::frags::j, and normalize().

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

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 test.T400_Refinement::ab, basic::options::OptionKeys::hotspot::angle, max(), min(), numeric::MathVector< T >::norm(), and test.T007_TracerIO::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().

template<typename T >
void numeric::quat2R ( Quaternion< T > const &  Q,
xyzMatrix< T > &  R 
)
inline
template<typename T >
void numeric::R2quat ( xyzMatrix< T > const &  R,
Quaternion< T > &  Q 
)
inline
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, basic::options::OptionKeys::score::fiber_diffraction::p, 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

References numeric::crick_equations::x(), numeric::crick_equations::y(), and numeric::crick_equations::z().

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, numeric::crick_equations::x(), numeric::crick_equations::y(), and numeric::crick_equations::z().

Referenced by operator>>().

template<class T , numeric::Size N>
void numeric::read_tensor_from_file ( std::string const &  filename_input,
MathNTensor< T, N > &  tensor,
utility::json_spirit::mObject json 
)
template<class T , numeric::Size N>
void numeric::read_tensor_from_file ( std::string const &  filename,
MathNTensor< T, N > &  tensor 
)
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 zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::flush(), my_main(), principal_angle(), principal_angle_degrees(), principal_angle_radians(), and zlib_stream::basic_zip_streambuf< Elem, Tr, ElemA, ByteT, ByteAT >::zip_to_stream().

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 ObjexxFCL::abs(), numeric::NumericTraits< T >::pi(), sin_cos_range(), basic::options::OptionKeys::loops::ccd::tolerance, and numeric::xyzMatrix< typename >::trace().

Referenced by numeric::EulerAngles< typename >::angular_distance_between().

template<typename T >
xyzVector< T > numeric::rotation_axis ( xyzMatrix< T > const &  R,
T theta 
)
inline
template<typename T >
xyzVector< T > numeric::rotation_axis_angle ( xyzMatrix< T > const &  R)
inline

Transformation from rotation matrix to compact axis-angle representation.

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

References rotation_axis().

template<typename T >
xyzMatrix< T > numeric::rotation_matrix ( xyzVector< T > const &  axis,
T const &  theta 
)
inline
template<typename T >
xyzMatrix< T > numeric::rotation_matrix ( xyzVector< T > const &  axis_angle)
inline
template<typename T >
xyzMatrix< T > numeric::rotation_matrix_degrees ( xyzVector< T > const &  axis,
T const &  theta 
)
inline

Rotation matrix for rotation about an axis by an angle in degrees.

References numeric::conversions::radians(), and rotation_matrix().

Referenced by numeric::random::gaussian_random_xform(), and numeric::xyzTransform< numeric::Real >::rot_deg().

template<typename T >
xyzMatrix<T> numeric::rotation_matrix_from_euler_angles_ZXZ ( xyzVector< T > const &  angles)
inline
template<typename T >
xyzMatrix<T> numeric::rotation_matrix_from_euler_angles_ZYX ( xyzVector< T > const &  angles)
inline
template<typename T >
xyzMatrix<T> numeric::rotation_matrix_from_euler_angles_ZYZ ( xyzVector< T > const &  angles)
inline
template<typename T >
xyzMatrix< T > numeric::rotation_matrix_radians ( xyzVector< T > const &  axis,
T const &  theta 
)
inline

Rotation matrix for rotation about an axis by an angle in radians.

References rotation_matrix().

template<typename T >
T numeric::scalar_product ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
Returns
scalar product of two MathVectors
template<typename T >
T numeric::sec ( T const &  x)
inline

Secant.

References test.T007_TracerIO::T.

template<typename T >
utility::json_spirit::Value numeric::serialize ( xyzVector< T coords)
inline
template<typename T >
int numeric::sign ( T const &  x)
inline
template<typename S , typename T >
T numeric::sign_transfered ( S const &  sigma,
T const &  x 
)
inline
template<typename T >
T numeric::sin_cos_range ( T const &  x,
T const &  tol = T( .001 ) 
)
inline

Adjust a sine or cosine value to the valid [-1,1] range if within a specified tolerance or exit with an error.

Note
The = on the first <= and >= else if conditions were added to work-around optimization register passing bugs where x can be passed by a register with a float value of +/-1.0f but where x has a full register precision value slightly different from +/-1.0f/ The first else if cases were failing but with the = added these if conditions will succeed. The alternative fix of declaring "volatile float const x" is slower for most calls. DON'T REMOVE THESE = EVEN THOUGH THEY APPEAR TO BE SUPERFLUOUS!!!

References utility::io::oc::cerr, utility::io::oc::cout, CREATE_EXCEPTION, test.T007_TracerIO::T, loops_kic::tol, utility_exit, and numeric::crick_equations::x().

Referenced by angle_of(), angle_radians(), arccos(), cos_of(), euler_angles_from_rotation_matrix_ZXZ(), euler_angles_from_rotation_matrix_ZYX(), euler_angles_from_rotation_matrix_ZYZ(), numeric::xyzTransform< numeric::Real >::euler_angles_rad(), numeric::HomogeneousTransform< double >::euler_angles_rad(), numeric::EulerAngles< typename >::from_rotation_matrix(), rotation_angle(), rotation_axis(), numeric::xyzTransform< numeric::Real >::rotation_cosine(), and numeric::xyzTransform< numeric::Real >::rotation_sine().

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

Sine of angle between two vectors.

Referenced by sin_of().

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

Sine of angle formed by three consecutive points.

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

Sine of angle between two vectors.

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

Sine of angle formed by three consecutive points.

template<typename U >
U numeric::sin_of ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b 
)
inline

Sine of angle between two vectors.

References cos_of(), and square().

template<typename U >
U numeric::sin_of ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b,
xyzTriple< U > const &  c 
)
inline

Sine of angle formed by three consecutive points.

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c

References sin_of().

template<typename U >
U numeric::sin_of ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
inline

Sine of angle between two vectors.

References cos_of(), and square().

template<typename U >
U numeric::sin_of ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > const &  c 
)
inline

Sine of angle formed by three consecutive points.

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c

References sin_of().

template<typename T >
xyzVector< T > numeric::spherical_to_xyz ( sphericalVector< T > const &  spherical)
inline
template<typename T >
T numeric::square ( T const &  x)
inline
template<typename T >
void numeric::subtract ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b,
xyzTriple< T > &  r 
)

Subtract: xyzTriple - xyzTriple.

Referenced by util::get_surrounding_res().

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

Subtract: xyzTriple - T.

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

Subtract: T - xyzTriple.

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

Subtract: xyzVector - xyzVector.

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

Subtract: xyzVector - T.

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

Subtract: T - xyzVector.

template<typename U >
void numeric::subtract ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  r 
)
inline

Subtract: xyzVector - xyzVector.

template<typename U >
void numeric::subtract ( xyzVector< U > const &  v,
U const &  t,
xyzVector< U > &  r 
)
inline

Subtract: xyzVector - Value.

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

template<typename U >
void numeric::subtract ( U const &  t,
xyzVector< U > const &  v,
xyzVector< U > &  r 
)
inline

Subtract: Value - xyzVector.

template<typename U >
void numeric::subtract ( xyzTriple< U > const &  a,
xyzTriple< U > const &  b,
xyzTriple< U > &  r 
)
inline

Subtract: xyzTriple - xyzTriple.

template<typename U >
void numeric::subtract ( xyzTriple< U > const &  v,
U const &  t,
xyzTriple< U > &  r 
)
inline

Subtract: xyzTriple - Value.

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

template<typename U >
void numeric::subtract ( U const &  t,
xyzTriple< U > const &  v,
xyzTriple< U > &  r 
)
inline

Subtract: Value - xyzTriple.

template<class InputIterator >
double numeric::sum ( InputIterator  first,
InputIterator  last 
)

Returns the sum of all elements on the range [first, last)

References assign_charges::first.

Referenced by calc_zscore(), numeric::nls::lm_lmdif(), numeric::nls::lm_lmpar(), numeric::nls::lm_qrfac(), numeric::nls::lm_qrsolv(), and normalize().

template<typename T >
void numeric::to_json ( nlohmann::json &  j,
const xyzVector< T > &  v 
)
template<typename T >
xyzVector< T > numeric::transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
inline
template<typename T >
std::string numeric::truncate_and_serialize_xyz_vector ( xyzVector< T vector,
Real  precision 
)
template<typename T >
xyzVector<T> numeric::update_5way_operation ( xyzVector< T > const &  a,
xyzVector< T > const &  b,
xyzVector< T > const &  c,
xyzVector< T > const &  d,
xyzVector< T > const &  e 
)
inline
template<typename T >
xyzVector<T> numeric::update_operation ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
inline
double numeric::urs_norm4 ( double  a,
double  b,
double  c,
double  d 
)
inline

Referenced by urs_R2ang().

platform::Real numeric::urs_R2ang ( numeric::xyzMatrix< Real >  R)
inline
template<typename T >
ObjexxFCL::FArray2D<T> numeric::vector_of_xyzvectors_to_FArray ( utility::vector1< xyzVector< T > > const &  input)
inline
template<typename T >
T numeric::wrap_180 ( T const &  angle)
inline

Wrap the given angle in the range [-180, 180).

No conversion to degrees is implied.

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

Wrap the given angle in the range [0, 2 * pi).

No conversion to radians is implied.

References basic::options::OptionKeys::hotspot::angle, and numeric::NumericTraits< T >::pi_2().

Referenced by numeric::kinematic_closure::radians::torsion().

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

Wrap the given angle in the range [0, 360).

No conversion to degrees is implied.

References basic::options::OptionKeys::hotspot::angle.

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

Wrap the given angle in the range [-pi, pi).

No conversion to radians is implied.

References numeric::NumericTraits< T >::pi().

template<class T , numeric::Size N>
bool numeric::write_tensor_to_file ( std::string const &  filename,
MathNTensor< T, N > const &  tensor,
utility::json_spirit::Value const &  json_input 
)
template<class T , numeric::Size N>
bool numeric::write_tensor_to_file ( std::string const &  filename,
MathNTensor< T, N > const &  tensor 
)
template<class T , numeric::Size N>
bool numeric::write_tensor_to_file_without_json ( std::string const &  filename,
MathNTensor< T, N > const &  tensor 
)
template<typename T >
xyzMatrix< T > numeric::x_rotation_matrix ( T const &  theta)
inline

Rotation matrix for rotation about the x axis by an angle in radians.

References numeric::xyzMatrix< typename >::rows(), and test.T007_TracerIO::T.

Referenced by x_rotation_matrix_degrees(), and x_rotation_matrix_radians().

template<typename T >
xyzMatrix< T > numeric::x_rotation_matrix_degrees ( T const &  theta)
inline

Rotation matrix for rotation about the x axis by an angle in degrees.

References numeric::conversions::radians(), and x_rotation_matrix().

Referenced by numeric::random::random_rotation_angle(), and numeric::HomogeneousTransform< double >::set_xaxis_rotation_deg().

template<typename T >
xyzMatrix< T > numeric::x_rotation_matrix_radians ( T const &  theta)
inline

Rotation matrix for rotation about the x axis by an angle in radians.

References x_rotation_matrix().

Referenced by main(), and numeric::HomogeneousTransform< double >::set_xaxis_rotation_rad().

template<typename T >
sphericalVector< T > numeric::xyz_to_spherical ( xyzVector< T > const &  xyz)
inline
template<typename T >
ObjexxFCL::FArray2D<T> numeric::xyzmatrix_to_FArray ( numeric::xyzMatrix< T > const &  input)
inline
template<typename T >
xyzMatrix< T > numeric::y_rotation_matrix ( T const &  theta)
inline

Rotation matrix for rotation about the y axis by an angle in radians.

References numeric::xyzMatrix< typename >::rows(), and test.T007_TracerIO::T.

Referenced by y_rotation_matrix_degrees(), and y_rotation_matrix_radians().

template<typename T >
xyzMatrix< T > numeric::y_rotation_matrix_degrees ( T const &  theta)
inline

Rotation matrix for rotation about the y axis by an angle in degrees.

References numeric::conversions::radians(), and y_rotation_matrix().

Referenced by numeric::random::random_rotation_angle(), and numeric::HomogeneousTransform< double >::set_yaxis_rotation_deg().

template<typename T >
xyzMatrix< T > numeric::y_rotation_matrix_radians ( T const &  theta)
inline

Rotation matrix for rotation about the y axis by an angle in radians.

References y_rotation_matrix().

Referenced by main(), and numeric::HomogeneousTransform< double >::set_yaxis_rotation_rad().

template<typename T >
xyzMatrix< T > numeric::z_rotation_matrix ( T const &  theta)
inline

Rotation matrix for rotation about the z axis by an angle in radians.

References numeric::xyzMatrix< typename >::rows(), and test.T007_TracerIO::T.

Referenced by zinc1_homodimer_design::setup_rollmoving(), z_rotation_matrix_degrees(), and z_rotation_matrix_radians().

template<typename T >
xyzMatrix< T > numeric::z_rotation_matrix_degrees ( T const &  theta)
inline

Rotation matrix for rotation about the z axis by an angle in degrees.

References numeric::conversions::radians(), and z_rotation_matrix().

Referenced by numeric::random::random_rotation_angle(), and numeric::HomogeneousTransform< double >::set_zaxis_rotation_deg().

template<typename T >
xyzMatrix< T > numeric::z_rotation_matrix_radians ( T const &  theta)
inline

Rotation matrix for rotation about the z axis by an angle in radians.

References z_rotation_matrix().

Referenced by main(), and numeric::HomogeneousTransform< double >::set_zaxis_rotation_rad().