Rosetta
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  ClusterOptions
 
class  AgglomerativeHierarchicalClusterer
 
class  SingleLinkClusterer
 
class  AverageLinkClusterer
 
class  CompleteLinkClusterer
 
class  AxisRotationSampler
 
class  BodyPosition
 Rigid body 3-D position/transform. More...
 
class  CalculatorParser
 
class  Calculator
 
class  ClusteringTreeNode
 
struct  CubicPolynomial
 
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  DiscreteIntervalEncodingTree
 
class  DietNode
 
class  EulerAngles
 Euler angles 3-D orientation representation. More...
 
class  HomogeneousTransform
 
class  HomogeneousTransform_Double
 
class  ColPointers
 
class  ColsPointer
 
class  ColVectors
 
class  RowPointers
 
class  RowsPointer
 
class  RowVectors
 
class  IntervalSet
 
class  IntervalSet_Double
 
struct  IOTraits
 Numerics input/output type traits. More...
 
struct  IOTraits< short int >
 Numerics input/output type traits short int specialization. More...
 
struct  IOTraits< int >
 Numerics input/output type traits int specialization. More...
 
struct  IOTraits< long int >
 : Numerics input/output type traits long int specialization More...
 
struct  IOTraits< unsigned short int >
 : Numerics input/output type traits unsigned 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< float >
 Numerics input/output type traits float Specialization. More...
 
struct  IOTraits< double >
 Numerics input/output type traits double specialization. More...
 
struct  IOTraits< long double >
 Numerics input/output type traits long double specialization. More...
 
class  MathMatrix
 
class  MathNTensor
 
class  MathNTensorBase
 
class  MathTensor
 
class  MathVector
 
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  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...
 
struct  RemainderSelector
 Remainder function selector class for non-integer types. More...
 
struct  RemainderSelector< T, true >
 Remainder function selector class for integer types. 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...
 
struct  NumericTraits
 NumericTraits: Numeric type traits. More...
 
struct  NumericTraits< float >
 NumericTraits: Numeric type traits float specialization. More...
 
struct  NumericTraits< double >
 NumericTraits: Numeric type traits double specialization. More...
 
struct  NumericTraits< long double >
 NumericTraits: Numeric type traits long double specialization. More...
 
class  Polynomial_1d
 
class  Quaternion
 Unit quaternion 3-D orientation representation. More...
 
class  RocPoint
 
class  RocCurve
 
class  sphericalVector
 sphericalVector: Fast spherical-coordinate numeric vector More...
 
struct  urs_Quat
 
class  UniformRotationSampler
 
class  VoxelArray
 
class  VoxelGrid
 
class  xyzMatrix
 xyzMatrix: Fast 3x3 xyz matrix template More...
 
class  xyzTransform
 
struct  XformHash32
 
struct  XformHash64
 
struct  Xforms
 
class  Py_xyzTransform_double
 
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< AxisRotationSamplerAxisRotationSamplerOP
 
typedef utility::pointer::shared_ptr< AxisRotationSampler const > AxisRotationSamplerCOP
 
typedef BodyPosition< float > BodyPosition_float
 
typedef BodyPosition< doubleBodyPosition_double
 
typedef BodyPosition< long doubleBodyPosition_longdouble
 
typedef utility::pointer::shared_ptr< CalculatorCalculatorOP
 
typedef utility::pointer::shared_ptr< ClusteringTreeNodeClusteringTreeNodeOP
 
typedef utility::pointer::weak_ptr< ClusteringTreeNodeClusteringTreeNodeAP
 
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_1dPolynomial_1dOP
 
typedef utility::pointer::shared_ptr< Polynomial_1d const > Polynomial_1dCOP
 
typedef Quaternion< float > Quaternion_float
 
typedef Quaternion< doubleQuaternion_double
 
typedef Quaternion< long doubleQuaternion_longdouble
 
typedef utility::pointer::shared_ptr< RocPointRocPointOP
 
typedef utility::pointer::shared_ptr< RocCurveRocCurveOP
 
using Real = platform::Real
 
typedef platform::Size Size
 
typedef platform::SSize SSize
 
typedef utility::pointer::shared_ptr< UniformRotationSamplerUniformRotationSamplerOP
 
typedef utility::pointer::shared_ptr< UniformRotationSampler const > UniformRotationSamplerCOP
 
typedef xyzMatrix< bool > xyzMatrix_bool
 
typedef xyzMatrix< short int > xyzMatrix_short
 
typedef xyzMatrix< int > xyzMatrix_int
 
typedef xyzMatrix< long int > xyzMatrix_long
 
typedef xyzMatrix< unsigned short int > xyzMatrix_ushort
 
typedef xyzMatrix< unsigned int > xyzMatrix_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< float > xyzMatrix_float
 
typedef xyzMatrix< doublexyzMatrix_double
 
typedef xyzMatrix< long doublexyzMatrix_long_double
 
typedef xyzMatrix< char > xyzMatrix_char
 
typedef xyzMatrix< unsigned char > xyzMatrix_uchar
 
typedef xyzMatrix< signed char > xyzMatrix_schar
 
typedef xyzMatrix< platform::RealxyzMatrix_real
 
typedef xyzTransform< float > Xformf
 
typedef xyzTransform< doubleXform
 
typedef xyzTransform< numeric::RealxyzTransform_Real
 
typedef xyzTransform< float > xyzTransform_float
 
typedef xyzTransform< doublexyzTransform_double
 
typedef xyzTriple< bool > xyzTriple_bool
 
typedef xyzTriple< short int > xyzTriple_short
 
typedef xyzTriple< int > xyzTriple_int
 
typedef xyzTriple< long int > xyzTriple_long
 
typedef xyzTriple< unsigned short int > xyzTriple_ushort
 
typedef xyzTriple< unsigned int > xyzTriple_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< float > xyzTriple_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< bool > xyzVector_bool
 
typedef xyzVector< short int > xyzVector_short
 
typedef xyzVector< int > xyzVector_int
 
typedef xyzVector< long int > xyzVector_long
 
typedef xyzVector< unsigned short int > xyzVector_ushort
 
typedef xyzVector< unsigned int > xyzVector_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< float > xyzVector_float
 
typedef xyzVector< doublexyzVector_double
 
typedef xyzVector< long doublexyzVector_long_double
 
typedef xyzVector< char > xyzVector_char
 
typedef xyzVector< unsigned char > xyzVector_uchar
 
typedef xyzVector< signed char > xyzVector_schar
 
typedef xyzVector< RealxyzVector_real
 

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::Realrgb_to_hsv (platform::Real r, platform::Real b, platform::Real g)
 convert an RGB color to HSV More...
 
numeric::xyzVector< platform::Realrgb_to_hsv (numeric::xyzVector< platform::Real > rgb_triplet)
 convert and RGB color to HSV More...
 
numeric::xyzVector< platform::Realhsv_to_rgb (platform::Real h, platform::Real s, platform::Real v)
 convert an HSV color to RGB More...
 
numeric::xyzVector< platform::Realhsv_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 cubic_polynomial_deriv (platform::Real const x, CubicPolynomial const &cp)
 Evaluate derivative of cubic polynomial given x and polynomial coefficients. More...
 
platform::Real eval_cubic_polynomial (platform::Real const x, CubicPolynomial const &cp)
 Evaluate cubic polynomial at value x given 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, Ndeep_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< Trotation_axis_angle (xyzMatrix< T > const &R)
 Transformation from rotation matrix to compact axis-angle representation. 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 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 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< 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 >
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 >
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 >
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.

Forward declaration for the SplineGenerator.

Base class for abstract N-dimensional PolycubicSpline.

Polycubic spline for smoothly interpolating a function in n dimensions.

Forward declarations of Interpolator.

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.

Return the 2d area of a projection, need x and y (or z) coordinates as well as their respective element radius and probe radius, probe radius can be set to zero if only the projection of protein in vaccum is desired.

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
Rocco Moretti (rmore.nosp@m.ttia.nosp@m.se@gm.nosp@m.ail..nosp@m.com)
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

◆ AxisRotationSamplerCOP

typedef utility::pointer::shared_ptr< AxisRotationSampler const > numeric::AxisRotationSamplerCOP

◆ AxisRotationSamplerOP

typedef utility::pointer::shared_ptr< AxisRotationSampler > numeric::AxisRotationSamplerOP

◆ BodyPosition_double

◆ BodyPosition_float

◆ BodyPosition_longdouble

◆ CalculatorOP

typedef utility::pointer::shared_ptr<Calculator> numeric::CalculatorOP

◆ ClusteringTreeNodeAP

typedef utility::pointer::weak_ptr<ClusteringTreeNode> numeric::ClusteringTreeNodeAP

◆ ClusteringTreeNodeOP

typedef utility::pointer::shared_ptr<ClusteringTreeNode> numeric::ClusteringTreeNodeOP

◆ Length

using numeric::Length = typedef Real

◆ MathNTensorBaseCOP

template<class T >
using numeric::MathNTensorBaseCOP = typedef utility::pointer::shared_ptr< MathNTensorBase< T > const >

◆ MathNTensorBaseOP

template<class T >
using numeric::MathNTensorBaseOP = typedef utility::pointer::shared_ptr< MathNTensorBase< T > >

◆ MathNTensorCOP

template<class T , numeric::Size N>
using numeric::MathNTensorCOP = typedef utility::pointer::shared_ptr< MathNTensor< T,N > const >

◆ MathNTensorOP

template<class T , numeric::Size N>
using numeric::MathNTensorOP = typedef utility::pointer::shared_ptr< MathNTensor< T,N > >

◆ Polynomial_1dCOP

typedef utility::pointer::shared_ptr< Polynomial_1d const > numeric::Polynomial_1dCOP

◆ Polynomial_1dOP

typedef utility::pointer::shared_ptr< Polynomial_1d > numeric::Polynomial_1dOP

◆ Quaternion_double

◆ Quaternion_float

◆ Quaternion_longdouble

◆ Real

using numeric::Real = typedef platform::Real

◆ RocCurveOP

typedef utility::pointer::shared_ptr<RocCurve> numeric::RocCurveOP

◆ RocPointOP

typedef utility::pointer::shared_ptr<RocPoint> numeric::RocPointOP

◆ Size

◆ SSize

◆ UniformRotationSamplerCOP

typedef utility::pointer::shared_ptr< UniformRotationSampler const > numeric::UniformRotationSamplerCOP

◆ UniformRotationSamplerOP

typedef utility::pointer::shared_ptr< UniformRotationSampler > numeric::UniformRotationSamplerOP

◆ Vector

using numeric::Vector = typedef xyzVector<Real>

◆ Xform

◆ Xformf

typedef xyzTransform< float > numeric::Xformf

◆ xyzMatrix_bool

◆ xyzMatrix_char

◆ xyzMatrix_double

◆ xyzMatrix_float

◆ xyzMatrix_int

◆ xyzMatrix_long

typedef xyzMatrix< long int > numeric::xyzMatrix_long

◆ xyzMatrix_long_double

◆ xyzMatrix_real

◆ xyzMatrix_schar

typedef xyzMatrix< signed char > numeric::xyzMatrix_schar

◆ xyzMatrix_short

typedef xyzMatrix< short int > numeric::xyzMatrix_short

◆ xyzMatrix_Size

◆ xyzMatrix_size

◆ xyzMatrix_size_t

◆ xyzMatrix_uchar

◆ xyzMatrix_uint

◆ xyzMatrix_ulong

◆ xyzMatrix_ushort

◆ xyzTransform_double

◆ xyzTransform_float

◆ xyzTransform_Real

◆ xyzTriple_bool

◆ xyzTriple_char

◆ xyzTriple_double

◆ xyzTriple_float

◆ xyzTriple_int

◆ xyzTriple_long

typedef xyzTriple< long int > numeric::xyzTriple_long

◆ xyzTriple_longdouble

◆ xyzTriple_schar

typedef xyzTriple< signed char > numeric::xyzTriple_schar

◆ xyzTriple_short

typedef xyzTriple< short int > numeric::xyzTriple_short

◆ xyzTriple_size

typedef xyzTriple< std::size_t > numeric::xyzTriple_size

◆ xyzTriple_size_t

typedef xyzTriple< std::size_t > numeric::xyzTriple_size_t

◆ xyzTriple_uchar

◆ xyzTriple_uint

◆ xyzTriple_ulong

◆ xyzTriple_ushort

◆ xyzVector_bool

◆ xyzVector_char

◆ xyzVector_double

◆ xyzVector_float

◆ xyzVector_int

◆ xyzVector_long

typedef xyzVector< long int > numeric::xyzVector_long

◆ xyzVector_long_double

◆ xyzVector_real

◆ xyzVector_schar

typedef xyzVector< signed char > numeric::xyzVector_schar

◆ xyzVector_short

typedef xyzVector< short int > numeric::xyzVector_short

◆ xyzVector_size

typedef xyzVector< std::size_t > numeric::xyzVector_size

◆ xyzVector_size_t

typedef xyzVector< std::size_t > numeric::xyzVector_size_t

◆ xyzVector_uchar

◆ xyzVector_uint

◆ xyzVector_ulong

◆ xyzVector_ushort

Enumeration Type Documentation

◆ RocStatus

Enumerator
true_positive 
true_negative 
false_positive 
false_negative 

Function Documentation

◆ abs_difference()

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

Absolute difference.

References a, compute_difference::b, max(), and min().

◆ access_Real_MathNTensor()

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 enumerate_junctions::default, utility::pointer::dynamic_pointer_cast(), create_a3b_hbs::i, runtime_assert, runtime_assert_string_msg, and utility_exit_with_message.

◆ add() [1/12]

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

Add: T + xyzTriple.

◆ add() [2/12]

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

Add: T + xyzVector.

◆ add() [3/12]

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

Add: Value + xyzTriple.

◆ add() [4/12]

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

Add: Value + xyzVector.

◆ add() [5/12]

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

◆ add() [6/12]

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

Add: xyzTriple + T.

◆ add() [7/12]

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

◆ add() [8/12]

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

Add: xyzTriple + Value.

◆ add() [9/12]

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

◆ add() [10/12]

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

Add: xyzVector + T.

◆ add() [11/12]

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

◆ add() [12/12]

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

Add: xyzVector + Value.

◆ alignVectorSets()

template<typename T >
xyzMatrix< T > numeric::alignVectorSets ( xyzVector< T A1,
xyzVector< T B1,
xyzVector< T A2,
xyzVector< T B2 
)
inline

◆ angle_degrees() [1/2]

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

Plane angle in degrees: angle value returned.

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

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

Referenced by angle_degrees_double(), DetectSymmetry::apply(), SwapElementsMover2::apply(), find_neighbors_directional(), get_interface_residues(), CrystDesign::get_interface_residues(), get_neighbor_residues(), CrystDesign::get_neighbor_residues(), ik_arg_asp_frnt(), ik_arg_asp_side(), ik_arg_glu_frnt(), ik_arg_glu_side(), main(), and run().

◆ angle_degrees() [2/2]

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

Angle between two vectors in radians.

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

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

◆ angle_degrees_double() [1/2]

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

References angle_degrees(), and p2.

◆ angle_degrees_double() [2/2]

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

◆ angle_of() [1/6]

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

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

◆ angle_of() [2/6]

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

◆ angle_of() [3/6]

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

◆ angle_of() [4/6]

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

◆ angle_of() [5/6]

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

◆ angle_of() [6/6]

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 a, angle_of(), compute_difference::b, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::c.

◆ angle_radians() [1/3]

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

Plane angle in radians: angle value returned.

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

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

◆ angle_radians() [2/3]

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

◆ angle_radians() [3/3]

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

◆ angle_radians_double() [1/2]

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

References angle_radians(), and p2.

◆ angle_radians_double() [2/2]

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

◆ angles_between_0_180()

template<typename T >
void numeric::angles_between_0_180 ( xyzVector< T > &  angles)
inline

◆ arccos()

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

◆ boltzmann_accept_probability()

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(), min(), and local::temperature.

◆ calc_zscore()

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(), create_a3b_hbs::nres, myspace::stdev(), and sum().

◆ ccd_angle()

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 aa, ObjexxFCL::abs(), compute_difference::alpha, cross(), numeric::conversions::degrees(), dot(), test.T009_Exceptions::e, ObjexxFCL::format::F(), create_a3b_hbs::i, numeric::xyzVector< T >::is_unit(), numeric::xyzVector< T >::length(), min(), numeric::xyzVector< T >::normalized(), and O.

◆ center() [1/24]

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

◆ center() [2/24]

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)

◆ center() [3/24]

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

Center of 3 xyzTriples.

◆ center() [4/24]

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)

◆ center() [5/24]

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.

◆ center() [6/24]

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)

◆ center() [7/24]

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

Center of 2 xyzTriples.

◆ center() [8/24]

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)

◆ center() [9/24]

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

Center of 3 xyzTriples.

◆ center() [10/24]

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)

◆ center() [11/24]

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.

◆ center() [12/24]

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)

◆ center() [13/24]

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

Center of 2 xyzVectors.

◆ center() [14/24]

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)

◆ center() [15/24]

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

Center of 3 xyzVectors.

◆ center() [16/24]

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)

◆ center() [17/24]

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.

◆ center() [18/24]

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)

◆ center() [19/24]

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

Center of 2 xyzVectors.

◆ center() [20/24]

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)

◆ center() [21/24]

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

Center of 3 xyzVectors.

◆ center() [22/24]

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)

◆ center() [23/24]

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.

◆ center() [24/24]

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)

◆ center_of_mass()

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

◆ clamp()

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.

◆ closest_point_on_line()

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

◆ comma_seperated_string_to_xyz()

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

◆ const_access_Real_MathNTensor()

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 enumerate_junctions::default, utility::pointer::dynamic_pointer_cast(), create_a3b_hbs::i, runtime_assert, runtime_assert_string_msg, and utility_exit_with_message.

◆ cos_of() [1/6]

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

Cosine of angle between two vectors.

◆ cos_of() [2/6]

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.

◆ cos_of() [3/6]

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

Cosine of angle between two vectors.

◆ cos_of() [4/6]

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.

◆ cos_of() [5/6]

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

Cosine of angle between two vectors.

References a, compute_difference::b, sin_cos_range(), and docking::U.

Referenced by cos_of(), and sin_of().

◆ cos_of() [6/6]

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 a, compute_difference::b, kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, and cos_of().

◆ cot()

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

Cotangent.

References pyrosetta.distributed.cluster.exceptions::T, and x.

◆ cross() [1/8]

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

◆ cross() [2/8]

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

Cross product: Return via argument (slightly faster)

◆ cross() [3/8]

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

Cross product.

◆ cross() [4/8]

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)

◆ cross() [5/8]

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

Cross product.

◆ cross() [6/8]

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

Cross product: Return via argument (slightly faster)

◆ cross() [7/8]

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

Cross product.

◆ cross() [8/8]

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)

◆ cross_product() [1/8]

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

Cross product.

◆ cross_product() [2/8]

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)

◆ cross_product() [3/8]

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

Cross product.

◆ cross_product() [4/8]

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)

◆ cross_product() [5/8]

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

Cross product.

◆ cross_product() [6/8]

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)

◆ cross_product() [7/8]

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

Cross product.

◆ cross_product() [8/8]

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)

◆ csc()

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

◆ cube()

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

cube( x ) == x^3

References x.

◆ cubic_polynomial_deriv()

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

Evaluate derivative of cubic polynomial given x and polynomial coefficients.

References x.

◆ cubic_polynomial_from_spline()

CubicPolynomial numeric::cubic_polynomial_from_spline ( platform::Real  xlo,
platform::Real  xhi,
SplineParameters const &  sp 
)

◆ cumulative()

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

Converts pdf to cdf.

References create_a3b_hbs::first, create_a3b_hbs::i, and normalize().

◆ deep_copy() [1/3]

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

◆ deep_copy() [2/3]

template MathNTensorBaseOP< Real > numeric::deep_copy ( MathNTensorBase< Real > const &  )

Explicit template instantiation, apparently needed for PyRosetta.

◆ deep_copy() [3/3]

template<class T >
MathNTensorBaseOP< T > numeric::deep_copy ( MathNTensorBase< T > const &  source)

◆ deserialize()

template<typename T >
xyzVector<T> numeric::deserialize ( utility::json_spirit::mArray  data)
inline

◆ dihedral() [1/2]

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

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

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

◆ dihedral() [2/2]

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

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

References basic::options::OptionKeys::hotspot::angle, dihedral_radians(), p2, and numeric::conversions::to_degrees().

Referenced by dihedral_double(), dock(), fix_alpha_for_pack_phosphate(), main(), and register_options().

◆ dihedral_degrees() [1/2]

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

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

◆ dihedral_degrees() [2/2]

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 
)

◆ dihedral_degrees_double() [1/2]

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

◆ dihedral_degrees_double() [2/2]

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

◆ dihedral_double() [1/2]

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

References dihedral(), and p2.

◆ dihedral_double() [2/2]

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

◆ dihedral_radians() [1/2]

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

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

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

◆ dihedral_radians() [2/2]

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 
)

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 a, basic::options::OptionKeys::hotspot::angle, compute_difference::b, kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, cross(), dot(), p2, x, and predPRE::y.

Referenced by dihedral(), dihedral_degrees(), numeric::deriv::dihedral_deriv_second(), dihedral_radians(), dihedral_radians_double(), gpu_refold_test(), main(), minimize_test(), print_internal_coord_test(), set_loop_conformation(), and write_chi_to_db().

◆ dihedral_radians_double() [1/2]

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

◆ dihedral_radians_double() [2/2]

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

◆ distance() [1/3]

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

◆ distance() [2/3]

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

Distance.

◆ distance() [3/3]

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

Distance.

◆ distance_squared() [1/2]

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

◆ distance_squared() [2/2]

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

Distance squared.

◆ divide() [1/4]

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

Divide: xyzTriple / T.

◆ divide() [2/4]

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

Divide: xyzTriple / Value.

◆ divide() [3/4]

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

Divide: xyzVector / T.

◆ divide() [4/4]

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

Divide: xyzVector / Value.

◆ do_abs()

double numeric::do_abs ( double  a)

◆ do_add_symbol()

void numeric::do_add_symbol ( CalculatorParser cp,
std::string  name,
double  value 
)

◆ do_cos()

double numeric::do_cos ( double  a)

◆ do_exp()

double numeric::do_exp ( double  a)

◆ do_ln()

double numeric::do_ln ( double  a)

References a, and log().

Referenced by numeric::CalculatorParser::CalculatorParser().

◆ do_log()

double numeric::do_log ( double  a,
double  b 
)

◆ do_log10()

double numeric::do_log10 ( double  a)

◆ do_log2()

double numeric::do_log2 ( double  a)

References a, and log().

Referenced by numeric::CalculatorParser::CalculatorParser().

◆ do_max()

double numeric::do_max ( std::vector< double a)

References a, and max().

Referenced by numeric::CalculatorParser::CalculatorParser().

◆ do_mean()

double numeric::do_mean ( std::vector< double a)

References a, and mean().

Referenced by numeric::CalculatorParser::CalculatorParser().

◆ do_median()

double numeric::do_median ( std::vector< double a)

References a, and median().

Referenced by numeric::CalculatorParser::CalculatorParser().

◆ do_min()

double numeric::do_min ( std::vector< double a)

References a, and min().

Referenced by numeric::CalculatorParser::CalculatorParser().

◆ do_pow()

double numeric::do_pow ( double  a,
double  b 
)

◆ do_sin()

double numeric::do_sin ( double  a)

◆ do_sqrt()

double numeric::do_sqrt ( double  a)

◆ do_tan()

double numeric::do_tan ( double  a)

◆ dot() [1/4]

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

◆ dot() [2/4]

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

Dot product.

◆ dot() [3/4]

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

Distance.

Distance squared

Dot product

◆ dot() [4/4]

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

Dot product.

◆ dot_product() [1/3]

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

Dot product.

◆ dot_product() [2/3]

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

Dot product.

◆ dot_product() [3/3]

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

Dot product.

References a, and compute_difference::b.

◆ eigenvalue_jacobi()

template<typename T >
xyzVector< T > numeric::eigenvalue_jacobi ( xyzMatrix< T > const &  a,
T const &  tol 
)

Classic Jacobi algorithm for the eigenvalues of a real symmetric matrix.

Note
Use eigenvector_jacobi if eigenvectors are also desired

◆ eigenvector_jacobi()

template<typename T >
xyzVector< T > numeric::eigenvector_jacobi ( xyzMatrix< T > const &  a,
T const &  tol,
xyzMatrix< T > &  J 
)

Classic Jacobi algorithm for the eigenvalues and eigenvectors of a real symmetric matrix.

Note
Use eigenvalue_jacobi if eigenvectors are not desired

Referenced by numeric::model_quality::findUU(), get_euler_axes(), get_reflection_axis(), pca_align_BROKEN(), and principal_components_and_eigenvalues().

◆ eq_tol()

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

◆ equal_by_epsilon()

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)

◆ equal_length() [1/4]

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

Equal length?

◆ equal_length() [2/4]

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

Equal length?

◆ equal_length() [3/4]

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

Equal length?

◆ equal_length() [4/4]

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

Equal length?

◆ euler_angles_from_rotation_matrix_ZXZ()

template<typename T >
xyzVector<T> numeric::euler_angles_from_rotation_matrix_ZXZ ( xyzMatrix< T > const &  rotM)
inline

◆ euler_angles_from_rotation_matrix_ZYX()

template<typename T >
xyzVector<T> numeric::euler_angles_from_rotation_matrix_ZYX ( xyzMatrix< T > const &  rotM)
inline

◆ euler_angles_from_rotation_matrix_ZYZ()

template<typename T >
xyzVector<T> numeric::euler_angles_from_rotation_matrix_ZYZ ( xyzMatrix< T > const &  rotM)
inline

◆ eval_cubic_polynomial()

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

Evaluate cubic polynomial at value x given polynomial coefficients.

References x.

◆ expand_xforms() [1/2]

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(), N, and create_a3b_hbs::r.

◆ expand_xforms() [2/2]

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

◆ factorial()

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

References N.

◆ FArray_to_vector_of_xyzvectors()

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

convert an FArray2D to a vector of xyzVectors

References gaussian-sampling::input, enumerate_junctions::int, bin_torsions::output, x, predPRE::y, and predPRE::z.

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

◆ FArray_to_xyzmatrix()

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

convert a 3x3 FArray 2D to an xyzMatrix

References gaussian-sampling::input, and numeric::xyzMatrix< T >::rows().

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

◆ fast_remainder()

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 |

References x, and predPRE::y.

◆ find_nearest_value() [1/2]

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 subloop_histogram::key.

◆ find_nearest_value() [2/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(), subloop_histogram::key, basic::options::OptionKeys::max_distance, and min_index().

◆ first_principal_component()

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

◆ from_json()

template<typename T >
void numeric::from_json ( const nlohmann::json &  j,
xyzVector< T > &  v 
)

◆ gcd()

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

◆ ge_tol()

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(), pyrosetta.distributed.cluster.exceptions::T, x, and predPRE::y.

◆ get_cluster_data()

template<class T >
void numeric::get_cluster_data ( utility::vector1< T > &  data_in,
ClusteringTreeNodeOP  cluster,
utility::vector1< T > &  data_out 
)

◆ get_Real_MathNTensor_dimension_size()

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 enumerate_junctions::default, utility::pointer::dynamic_pointer_cast(), runtime_assert, runtime_assert_string_msg, and utility_exit_with_message.

◆ gt_tol()

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(), pyrosetta.distributed.cluster.exceptions::T, x, and predPRE::y.

◆ hsv_to_rgb() [1/2]

numeric::xyzVector< platform::Real > numeric::hsv_to_rgb ( numeric::xyzVector< platform::Real hsv_triplet)

◆ hsv_to_rgb() [2/2]

convert an HSV color to RGB

References h, docking::s, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::v.

◆ in_sin_cos_range()

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 pyrosetta.distributed.cluster.exceptions::T, loops_kic::tol, and x.

◆ inner_product() [1/4]

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

Inner product ( == dot product )

Referenced by hd(), and numeric::MathVector< T >::square_norm().

◆ inner_product() [2/4]

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

Inner product ( == dot product )

◆ inner_product() [3/4]

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

Inner product ( == dot product )

◆ inner_product() [4/4]

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

Inner product ( == dot product )

◆ inplace_product()

template<typename T >
xyzVector< T >& numeric::inplace_product ( xyzMatrix< T > const &  m,
xyzVector< T > &  v 
)

◆ inplace_transpose_product()

template<typename T >
xyzVector< T >& numeric::inplace_transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > &  v 
)

xyzMatrix^T * xyzVector in-place transpose product

Note
Input xyzVector is modified

Referenced by numeric::BodyPosition< T >::inverse_transform().

◆ inverse()

template<typename T >
xyzMatrix< T > numeric::inverse ( xyzMatrix< T > const &  a)

◆ jacobi_rotation()

template<typename T >
void numeric::jacobi_rotation ( xyzMatrix< T > const &  m,
int const  i,
int const  j,
xyzMatrix< T > &  r 
)

Jacobi rotation.

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

References ObjexxFCL::abs(), kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, create_a3b_hbs::i, create_a3b_hbs::j, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, create_a3b_hbs::r, docking::s, and predPRE::t.

◆ le_tol()

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(), pyrosetta.distributed.cluster.exceptions::T, x, and predPRE::y.

◆ linear_interpolate()

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.

◆ log()

double numeric::log ( double  x,
double  base 
)
inline

◆ lt_tol()

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(), pyrosetta.distributed.cluster.exceptions::T, x, and predPRE::y.

◆ MakeVector() [1/3]

template<typename T >
MathVector< T > numeric::MakeVector ( T const &  X)

◆ MakeVector() [2/3]

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

References spectral_cluster_kmeans_adaptive_kernel_density_bb_dependent_rotlib::Y.

◆ MakeVector() [3/3]

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

References spectral_cluster_kmeans_adaptive_kernel_density_bb_dependent_rotlib::Y.

◆ max() [1/18]

double numeric::max ( double const  a,
double const  b 
)
inline

◆ max() [2/18]

float numeric::max ( float const  a,
float const  b 
)
inline

◆ max() [3/18]

int numeric::max ( int const  a,
int const  b 
)
inline

◆ max() [4/18]

long double numeric::max ( long double const  a,
long double const  b 
)
inline

◆ max() [5/18]

long int numeric::max ( long int const  a,
long int const  b 
)
inline

◆ max() [6/18]

short int numeric::max ( short int const  a,
short int const  b 
)
inline

max( short int, short int )

References a, and compute_difference::b.

Referenced by abs_difference(), align_sf4(), align_zns(), alignaxis(), numeric::geometry::hashing::xyzStripeHash::clash(), numeric::geometry::hashing::xyzStripeHash::clash_amount(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), numeric::geometry::hashing::xyzStripeHash::clash_not_resid(), numeric::geometry::hashing::xyzStripeHash::clash_raw(), numeric::CompleteLinkClusterer::comparator(), convex_hull(), do_max(), dock(), doit(), PoseWrap::dump_pdb(), eq_tol(), numeric::geometry::hashing::xyzStripeHash::fill_pairs(), find_farthest(), gcd(), ge_tol(), generate_combined_model(), get_nearest_loop_to_helix(), get_second_2_helices(), gt_tol(), numeric::geometry::hashing::xyzStripeHash::init(), numeric::geometry::hashing::xyzStripeHashWithMeta< T >::init(), MatchSet::init_clash_check(), ClashCheck::init_clash_check(), le_tol(), lt_tol(), max(), numeric::linear_algebra::minimum_bounding_ellipse(), numeric::geometry::hashing::xyzStripeHash::nbcount(), numeric::geometry::hashing::xyzStripeHashWithMeta< T >::nbcount(), numeric::geometry::hashing::xyzStripeHash::nbcount_raw(), place_zns(), run(), run_tyr_his(), numeric::kinematic_closure::sbisect(), numeric::interpolation::Histogram< X, Y >::set_params(), sicfast(), numeric::kinematic_closure::solve_sturm(), numeric::geometry::hashing::xyzStripeHashWithMeta< T >::visit(), numeric::geometry::hashing::xyzStripeHash::visit(), numeric::geometry::hashing::xyzStripeHash::visit_lax(), and numeric::geometry::hashing::xyzStripeHashWithMeta< T >::visit_lax().

◆ max() [7/18]

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

◆ max() [8/18]

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

◆ max() [9/18]

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

◆ max() [10/18]

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() [11/18]

unsigned int numeric::max ( unsigned int const  a,
unsigned int const  b 
)
inline

◆ max() [12/18]

unsigned long int numeric::max ( unsigned long int const  a,
unsigned long int const  b 
)
inline

◆ max() [13/18]

unsigned short int numeric::max ( unsigned short int const  a,
unsigned short int const  b 
)
inline

◆ max() [14/18]

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

◆ max() [15/18]

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

xyzTriple with max coordinates of two xyzTriples

◆ max() [16/18]

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

xyzTriple with max coordinates of two xyzTriples

◆ max() [17/18]

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

xyzVector with max coordinates of two xyzVectors

◆ max() [18/18]

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

xyzVector with max coordinates of two xyzVectors

◆ mean()

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

References value, and test.T040_Types::values.

Referenced by calc_zscore(), and do_mean().

◆ median()

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

◆ midpoint() [1/8]

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

◆ midpoint() [2/8]

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)

◆ midpoint() [3/8]

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

Midpoint of 2 xyzTriples.

◆ midpoint() [4/8]

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)

◆ midpoint() [5/8]

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

Midpoint of 2 xyzVectors.

◆ midpoint() [6/8]

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)

◆ midpoint() [7/8]

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

Midpoint of 2 xyzVectors.

◆ midpoint() [8/8]

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)

◆ min() [1/18]

double numeric::min ( double const  a,
double const  b 
)
inline

◆ min() [2/18]

float numeric::min ( float const  a,
float const  b 
)
inline

◆ min() [3/18]

int numeric::min ( int const  a,
int const  b 
)
inline

◆ min() [4/18]

long double numeric::min ( long double const  a,
long double const  b 
)
inline

◆ min() [5/18]

long int numeric::min ( long int const  a,
long int const  b 
)
inline

◆ min() [6/18]

short int numeric::min ( short int const  a,
short int const  b 
)
inline

min( short int, short int )

References a, and compute_difference::b.

Referenced by abs_difference(), add_symm_zns(), align_sf4(), align_zns(), alignaxis(), MatchSet::c2_linker_check_dist(), calculate_helical_parameters_helper(), numeric::geometry::hashing::xyzStripeHash::clash(), numeric::geometry::hashing::xyzStripeHash::clash_amount(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), numeric::geometry::hashing::xyzStripeHash::clash_not_resid(), numeric::geometry::hashing::xyzStripeHash::clash_raw(), convex_hull(), do_min(), dock(), doit(), eq_tol(), numeric::geometry::hashing::xyzStripeHash::fill_pairs(), find_closest(), gcd(), ge_tol(), generate_combined_model(), get_second_2_helices(), gt_tol(), numeric::geometry::hashing::xyzStripeHash::init(), numeric::geometry::hashing::xyzStripeHashWithMeta< T >::init(), MatchSet::init_clash_check(), ClashCheck::init_clash_check(), le_tol(), lt_tol(), min(), numeric::geometry::hashing::xyzStripeHash::nbcount(), numeric::geometry::hashing::xyzStripeHashWithMeta< T >::nbcount(), numeric::geometry::hashing::xyzStripeHash::nbcount_raw(), place_zns(), Bola::random_close_phipsi_from_rama(), rg2d(), DisulfEpos::rms(), run_tyr_his(), numeric::kinematic_closure::sbisect(), numeric::interpolation::Histogram< X, Y >::set_params(), sicfast(), numeric::kinematic_closure::solve_sturm(), numeric::geometry::hashing::xyzStripeHashWithMeta< T >::visit(), numeric::geometry::hashing::xyzStripeHash::visit(), numeric::geometry::hashing::xyzStripeHash::visit_lax(), and numeric::geometry::hashing::xyzStripeHashWithMeta< T >::visit_lax().

◆ min() [7/18]

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

◆ min() [8/18]

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

◆ min() [9/18]

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

◆ min() [10/18]

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() [11/18]

unsigned int numeric::min ( unsigned int const  a,
unsigned int const  b 
)
inline

◆ min() [12/18]

unsigned long int numeric::min ( unsigned long int const  a,
unsigned long int const  b 
)
inline

◆ min() [13/18]

unsigned short int numeric::min ( unsigned short int const  a,
unsigned short int const  b 
)
inline

◆ min() [14/18]

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

◆ min() [15/18]

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

xyzTriple with min coordinates of two xyzTriples

◆ min() [16/18]

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

xyzTriple with min coordinates of two xyzTriples

◆ min() [17/18]

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

xyzVector with min coordinates of two xyzVectors

◆ min() [18/18]

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

xyzVector with min coordinates of two xyzVectors

◆ mod()

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)

References x, and predPRE::y.

Referenced by bin_angle(), gcd(), numeric::interpolation::InterpolatedPotential< N >::get_indices(), JDmover::periodic_range(), numeric::RemainderSelector< T, bool >::remainder(), and numeric::RemainderSelector< T, true >::remainder().

◆ modulo()

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

◆ multiply() [1/8]

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

Multiply: T * xyzTriple.

◆ multiply() [2/8]

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

Multiply: T * xyzVector.

◆ multiply() [3/8]

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

Multiply: Value * xyzTriple.

◆ multiply() [4/8]

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

Multiply: Value * xyzVector.

◆ multiply() [5/8]

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

Multiply: xyzTriple * T.

◆ multiply() [6/8]

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

Multiply: xyzTriple * Value.

◆ multiply() [7/8]

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

Multiply: xyzVector * T.

◆ multiply() [8/8]

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

Multiply: xyzVector * Value.

◆ nearest()

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

◆ nearest_angle()

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 basic::options::OptionKeys::hotspot::angle, nearest_ssize(), and numeric::NumericTraits< T >::pi_2().

◆ nearest_angle_degrees()

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 basic::options::OptionKeys::hotspot::angle, nearest_ssize(), and pyrosetta.distributed.cluster.exceptions::T.

Referenced by compare_torsion_rmsd().

◆ nearest_angle_radians()

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 basic::options::OptionKeys::hotspot::angle, nearest_ssize(), and numeric::NumericTraits< T >::pi_2().

Referenced by dump_pose_diff().

◆ nearest_int()

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

nearest_int( x ): Nearest int

References sign(), pyrosetta.distributed.cluster.exceptions::T, and x.

◆ nearest_size()

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

nearest_size( x ): Nearest std::size_t

References sign(), pyrosetta.distributed.cluster.exceptions::T, and x.

◆ nearest_ssize()

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

◆ nint()

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

nint( x ): Nearest int

References sign(), pyrosetta.distributed.cluster.exceptions::T, and x.

◆ nonnegative_principal_angle()

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

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

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

◆ nonnegative_principal_angle_degrees()

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

◆ nonnegative_principal_angle_radians()

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 basic::options::OptionKeys::hotspot::angle, and modulo().

◆ normalize()

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

Normalizes elements on the range [first, last)

References create_a3b_hbs::first, and sum().

Referenced by cumulative(), and product().

◆ not_equal_length() [1/4]

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

Not equal length?

◆ not_equal_length() [2/4]

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

Not equal length?

◆ not_equal_length() [3/4]

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

Not equal length?

◆ not_equal_length() [4/4]

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

Not equal length?

References a, and compute_difference::b.

◆ operator!=() [1/16]

template<typename T >
bool numeric::operator!= ( BodyPosition< T > const &  p1,
BodyPosition< T > const &  p2 
)

◆ operator!=() [2/16]

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)

◆ operator!=() [3/16]

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

◆ operator!=() [4/16]

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

◆ operator!=() [5/16]

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

◆ operator!=() [6/16]

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

◆ operator!=() [7/16]

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

T != xyzMatrix.

Value != xyzMatrix.

◆ operator!=() [8/16]

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

T != xyzTriple.

Value != xyzTriple.

◆ operator!=() [9/16]

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

T != xyzVector.

Value != xyzVector.

◆ operator!=() [10/16]

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

◆ operator!=() [11/16]

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

◆ operator!=() [12/16]

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

xyzMatrix != T

xyzMatrix != Value

◆ operator!=() [13/16]

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

◆ operator!=() [14/16]

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

xyzTriple != T

xyzTriple != Value

◆ operator!=() [15/16]

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

◆ operator!=() [16/16]

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

xyzVector != T

xyzVector != Value

◆ operator*() [1/13]

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(), create_a3b_hbs::i, create_a3b_hbs::j, and create_a3b_hbs::k.

◆ operator*() [2/13]

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(), create_a3b_hbs::i, and create_a3b_hbs::j.

◆ operator*() [3/13]

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

◆ operator*() [4/13]

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

◆ operator*() [5/13]

template<typename T >
MathVector< T > numeric::operator* ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector * MathVector

◆ operator*() [6/13]

template<typename T >
T numeric::operator* ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline

◆ operator*() [7/13]

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

T * xyzMatrix.

Value * xyzMatrix.

◆ operator*() [8/13]

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

T * xyzTriple.

Value * xyzTriple.

◆ operator*() [9/13]

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

T * xyzVector.

Value * xyzVector.

◆ operator*() [10/13]

template<typename T >
MathVector< T > numeric::operator* ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector * MathVector

◆ operator*() [11/13]

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

◆ operator*() [12/13]

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

xyzTriple * T

xyzTriple * Value

◆ operator*() [13/13]

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

xyzVector * T

xyzVector * Value

◆ operator*=()

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.

◆ operator+() [1/14]

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

◆ operator+() [2/14]

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

◆ operator+() [3/14]

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

◆ operator+() [4/14]

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

◆ operator+() [5/14]

template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector + MathVector

◆ operator+() [6/14]

template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
operator MathVector + MathVector

◆ operator+() [7/14]

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

T + xyzMatrix.

Value + xyzMatrix.

◆ operator+() [8/14]

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

T + xyzTriple.

Value + xyzTriple.

◆ operator+() [9/14]

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

T + xyzVector.

Value + xyzVector.

◆ operator+() [10/14]

template<typename T >
MathVector< T > numeric::operator+ ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector + MathVector

◆ operator+() [11/14]

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

◆ operator+() [12/14]

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

xyzTriple + T

xyzTriple + Value

◆ operator+() [13/14]

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

◆ operator+() [14/14]

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

xyzVector + T

xyzVector + Value

◆ operator+=() [1/2]

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.

◆ operator+=() [2/2]

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.

◆ operator-() [1/14]

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

◆ operator-() [2/14]

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

◆ operator-() [3/14]

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

◆ operator-() [4/14]

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

References pyrosetta.distributed.cluster.exceptions::T.

◆ operator-() [5/14]

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

◆ operator-() [6/14]

template<typename T >
MathVector< T > numeric::operator- ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
)
inline
Returns
operator MathVector - MathVector

◆ operator-() [7/14]

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

T - xyzMatrix.

Value - xyzMatrix.

◆ operator-() [8/14]

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

T - xyzTriple.

Value - xyzTriple.

◆ operator-() [9/14]

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

T - xyzVector.

Value - xyzVector.

◆ operator-() [10/14]

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

◆ operator-() [11/14]

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

◆ operator-() [12/14]

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

xyzTriple - T

xyzTriple - Value

◆ operator-() [13/14]

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

◆ operator-() [14/14]

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

xyzVector - T

xyzVector - Value

◆ operator-=() [1/2]

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.

◆ operator-=() [2/2]

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.

◆ operator/() [1/7]

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

◆ operator/() [2/7]

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

◆ operator/() [3/7]

template<typename T >
MathVector< T > numeric::operator/ ( MathVector< T > const &  VECTOR,
T const &  X 
)
inline
Returns
operator MathVector / MathVector

◆ operator/() [4/7]

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

◆ operator/() [5/7]

template<typename T >
MathVector< T > numeric::operator/ ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline
Returns
operator MathVector / MathVector = Value * Inverse( MathVector)

◆ operator/() [6/7]

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

xyzTriple / T

xyzTriple / Value

◆ operator/() [7/7]

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

xyzVector / T

xyzVector / Value

◆ operator/=() [1/2]

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

◆ operator/=() [2/2]

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.

◆ operator<() [1/9]

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

T < xyzMatrix.

Value < xyzMatrix.

◆ operator<() [2/9]

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

T < xyzTriple.

Value < xyzTriple.

◆ operator<() [3/9]

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

T < xyzVector.

Value < xyzVector.

◆ operator<() [4/9]

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

◆ operator<() [5/9]

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

xyzMatrix < T

xyzMatrix < Value

◆ operator<() [6/9]

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

xyzTriple < xyzTriple

xyzTriple < xyzTriple: Lexicographic order

◆ operator<() [7/9]

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

xyzTriple < T

xyzTriple < Value

◆ operator<() [8/9]

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

◆ operator<() [9/9]

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

xyzVector < T

xyzVector < Value

◆ operator<<() [1/12]

std::ostream & numeric::operator<< ( ostream &  out,
const Polynomial_1d poly 
)

◆ operator<<() [2/12]

std::ostream & numeric::operator<< ( std::ostream &  os,
MultiDimensionalHistogram const &  mdhist 
)

◆ operator<<() [3/12]

template<class F , class V >
std::ostream& numeric::operator<< ( std::ostream &  out,
VoxelArray< F, V > const &  v 
)

◆ operator<<() [4/12]

template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  output,
const IntervalSet< T > &  interval 
)
inline

◆ operator<<() [5/12]

template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
BodyPosition< T > const &  p 
)

◆ operator<<() [6/12]

std::ostream& numeric::operator<< ( std::ostream &  stream,
HomogeneousTransform< double > const &  ht 
)
inline

◆ operator<<() [7/12]

template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
HomogeneousTransform< T > const &  ht 
)

◆ operator<<() [8/12]

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

◆ operator<<() [9/12]

template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzMatrix< T > const &  m 
)

◆ operator<<() [10/12]

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

◆ operator<<() [11/12]

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

◆ operator<<() [12/12]

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

◆ operator<=() [1/9]

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

T <= xyzMatrix.

Value <= xyzMatrix.

◆ operator<=() [2/9]

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

T <= xyzTriple.

Value <= xyzTriple.

◆ operator<=() [3/9]

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

T <= xyzVector.

Value <= xyzVector.

◆ operator<=() [4/9]

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

◆ operator<=() [5/9]

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

xyzMatrix <= T

xyzMatrix <= Value

◆ operator<=() [6/9]

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

◆ operator<=() [7/9]

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

xyzTriple <= T

xyzTriple <= Value

◆ operator<=() [8/9]

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

◆ operator<=() [9/9]

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

xyzVector <= T

xyzVector <= Value

◆ operator==() [1/16]

template<typename T >
bool numeric::operator== ( BodyPosition< T > const &  p1,
BodyPosition< T > const &  p2 
)

◆ operator==() [2/16]

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

◆ operator==() [3/16]

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

◆ operator==() [4/16]

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

◆ operator==() [5/16]

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

◆ operator==() [6/16]

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

◆ operator==() [7/16]

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

T == xyzMatrix.

Value == xyzMatrix.

◆ operator==() [8/16]

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

T == xyzTriple.

Value == xyzTriple.

◆ operator==() [9/16]

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

T == xyzVector.

Value == xyzVector.

◆ operator==() [10/16]

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

◆ operator==() [11/16]

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

◆ operator==() [12/16]

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

xyzMatrix == T

xyzMatrix == Value

◆ operator==() [13/16]

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

◆ operator==() [14/16]

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

xyzTriple == T

xyzTriple == Value

◆ operator==() [15/16]

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

◆ operator==() [16/16]

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

xyzVector == T

xyzVector == Value

◆ operator>() [1/9]

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

T > xyzMatrix.

Value > xyzMatrix.

◆ operator>() [2/9]

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

T > xyzTriple.

Value > xyzTriple.

◆ operator>() [3/9]

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

T > xyzVector.

Value > xyzVector.

◆ operator>() [4/9]

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

◆ operator>() [5/9]

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

xyzMatrix > T

xyzMatrix > Value

◆ operator>() [6/9]

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

◆ operator>() [7/9]

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

xyzTriple > T

xyzTriple > Value

◆ operator>() [8/9]

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

◆ operator>() [9/9]

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

xyzVector > T

xyzVector > Value

◆ operator>=() [1/9]

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

T >= xyzMatrix.

Value >= xyzMatrix.

◆ operator>=() [2/9]

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

T >= xyzTriple.

Value >= xyzTriple.

◆ operator>=() [3/9]

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

T >= xyzVector.

Value >= xyzVector.

◆ operator>=() [4/9]

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

◆ operator>=() [5/9]

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

xyzMatrix >= T

xyzMatrix >= Value

◆ operator>=() [6/9]

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

◆ operator>=() [7/9]

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

xyzTriple >= T

xyzTriple >= Value

◆ operator>=() [8/9]

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

◆ operator>=() [9/9]

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

xyzVector >= T

xyzVector >= Value

◆ operator>>() [1/6]

template<typename T >
std::istream& numeric::operator>> ( std::istream &  stream,
BodyPosition< T > &  p 
)

stream >> BodyPosition input operator

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

References kmeans_adaptive_kernel_density_bb_dependent_rotlib::p, docking::R, read_row(), and predPRE::t.

◆ operator>>() [2/6]

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 enumerate_junctions::q.

◆ operator>>() [3/6]

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

stream >> xyzMatrix input operator

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

References kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, and read_row().

◆ operator>>() [4/6]

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 kmeans_adaptive_kernel_density_bb_dependent_rotlib::m.

◆ operator>>() [5/6]

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 kmeans_adaptive_kernel_density_bb_dependent_rotlib::v.

◆ operator>>() [6/6]

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 kmeans_adaptive_kernel_density_bb_dependent_rotlib::v.

◆ operator^()

template<typename T >
MathVector< T > numeric::operator^ ( T const &  X,
MathVector< T > const &  VECTOR 
)
inline

◆ outer_product()

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

◆ principal_angle()

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

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

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

Referenced by morph_by_internal_coords().

◆ principal_angle_degrees()

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

◆ principal_angle_radians()

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

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

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

◆ principal_component_eigenvalues()

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

◆ principal_components()

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

◆ principal_components_and_eigenvalues()

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

◆ principal_components_and_eigenvalues_ndimensions()

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 create_a3b_hbs::i, create_a3b_hbs::j, create_a3b_hbs::k, runtime_assert_string_msg, and subloop_histogram::size.

Referenced by main(), and shift_center_and_PCA().

◆ print_probabilities()

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

Writes probs to the specified ostream.

References create_a3b_hbs::i.

◆ product() [1/2]

template<class ForwardIterator >
void numeric::product ( ForwardIterator  probs1_first,
ForwardIterator  probs1_last,
ForwardIterator  probs2_first,
ForwardIterator  probs2_last 
)

◆ product() [2/2]

template<typename T >
xyzVector< T > numeric::product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)

xyzMatrix * xyzVector product

Note
Same as xyzMatrix * xyzVector

◆ proj_angl() [1/3]

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

◆ proj_angl() [2/3]

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

◆ proj_angl() [3/3]

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(), and pyrosetta.distributed.cluster.exceptions::T.

Referenced by proj_angl().

◆ projection_matrix()

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

geometric center

Note
compute the geometric center of a list of points

Projection matrix onto the line through a vector

Referenced by align_carboxyl_diiron(), ik_his4(), ik_his_clamp(), intersecting_bpy_axes(), main(), proj(), projperp(), run(), run_diiron_glu(), and test_MAT_VEC().

◆ quat2R()

template<typename T >
void numeric::quat2R ( Quaternion< T > const &  Q,
xyzMatrix< T > &  R 
)
inline

◆ R2quat()

template<typename T >
void numeric::R2quat ( xyzMatrix< T > const &  R,
Quaternion< T > &  Q 
)
inline

◆ read_probabilities_or_die()

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 lactamize::filename, basic::options::OptionKeys::in::in, kmeans_adaptive_kernel_density_bb_dependent_rotlib::p, and utility_exit_with_message.

◆ read_row() [1/2]

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 x, predPRE::y, and predPRE::z.

◆ read_row() [2/2]

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 predPRE::t, x, predPRE::y, and predPRE::z.

Referenced by operator>>().

◆ read_tensor_from_file() [1/2]

template<class T , numeric::Size N>
void numeric::read_tensor_from_file ( std::string const &  filename,
MathNTensor< T, N > &  tensor 
)

◆ read_tensor_from_file() [2/2]

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 
)

◆ remainder()

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

◆ remainder_conversion()

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 docking::s, pyrosetta.distributed.cluster.converters::S, and predPRE::t.

◆ rgb_to_hsv() [1/2]

numeric::xyzVector< platform::Real > numeric::rgb_to_hsv ( numeric::xyzVector< platform::Real rgb_triplet)

◆ rgb_to_hsv() [2/2]

convert an RGB color to HSV

References compute_difference::b, g(), and create_a3b_hbs::r.

◆ rotation_angle()

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(), docking::R, sin_cos_range(), and basic::options::OptionKeys::loops::ccd::tolerance.

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

◆ rotation_axis()

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

Transformation from rotation matrix to helical axis of rotation.

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

Referenced by MatchSet::cross(), dock(), MyRT::from_rot(), main(), operator<<(), numeric::random::random_rotation_angle(), and rotation_axis_angle().

◆ rotation_axis_angle()

template<typename T >
xyzVector< T > numeric::rotation_axis_angle ( xyzMatrix< T > const &  R)

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 docking::R, rotation_axis(), and vec().

◆ rotation_matrix() [1/2]

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

◆ rotation_matrix() [2/2]

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

References axis_angle(), and rotation_matrix().

◆ rotation_matrix_degrees()

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

◆ rotation_matrix_from_euler_angles_ZXZ()

template<typename T >
xyzMatrix<T> numeric::rotation_matrix_from_euler_angles_ZXZ ( xyzVector< T > const &  angles)
inline

◆ rotation_matrix_from_euler_angles_ZYX()

template<typename T >
xyzMatrix<T> numeric::rotation_matrix_from_euler_angles_ZYX ( xyzVector< T > const &  angles)
inline

◆ rotation_matrix_from_euler_angles_ZYZ()

template<typename T >
xyzMatrix<T> numeric::rotation_matrix_from_euler_angles_ZYZ ( xyzVector< T > const &  angles)
inline

◆ rotation_matrix_radians()

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

Referenced by make_helix(), and map_morph().

◆ scalar_product()

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

◆ sec()

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

◆ serialize()

template<typename T >
utility::json_spirit::Value numeric::serialize ( xyzVector< T coords)
inline

Convert vector to a json_spirit Value.

Note
Format is a list in the form [x,y,z]

References utility::tools::make_vector(), x, numeric::xyzVector< T >::x(), predPRE::y, numeric::xyzVector< T >::y(), predPRE::z, and numeric::xyzVector< T >::z().

◆ sign()

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

◆ sign_transfered()

template<typename S , typename T >
T numeric::sign_transfered ( S const &  sigma,
T const &  x 
)
inline

◆ sin_cos_range()

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, pyrosetta.distributed.cluster.exceptions::T, loops_kic::tol, utility_exit, and 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::HomogeneousTransform< T >::euler_angles_rad(), numeric::xyzTransform< T >::euler_angles_rad(), numeric::EulerAngles< T >::from_rotation_matrix(), random_unit_vector(), rotation_angle(), numeric::xyzTransform< T >::rotation_cosine(), and numeric::xyzTransform< T >::rotation_sine().

◆ sin_of() [1/6]

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

Sine of angle between two vectors.

◆ sin_of() [2/6]

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.

◆ sin_of() [3/6]

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

Sine of angle between two vectors.

◆ sin_of() [4/6]

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

◆ sin_of() [5/6]

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

Sine of angle between two vectors.

References a, compute_difference::b, cos_of(), square(), and docking::U.

Referenced by sin_of().

◆ sin_of() [6/6]

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 a, compute_difference::b, kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, and sin_of().

◆ spherical_to_xyz()

template<typename T >
xyzVector< T > numeric::spherical_to_xyz ( sphericalVector< T > const &  spherical)
inline

◆ square()

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

◆ subtract() [1/12]

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

Subtract: T - xyzTriple.

◆ subtract() [2/12]

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

Subtract: T - xyzVector.

◆ subtract() [3/12]

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

Subtract: Value - xyzTriple.

◆ subtract() [4/12]

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

Subtract: Value - xyzVector.

◆ subtract() [5/12]

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

◆ subtract() [6/12]

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

Subtract: xyzTriple - T.

◆ subtract() [7/12]

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

Subtract: xyzTriple - xyzTriple.

◆ subtract() [8/12]

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

Subtract: xyzTriple - Value.

◆ subtract() [9/12]

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

Subtract: xyzVector - xyzVector.

◆ subtract() [10/12]

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

Subtract: xyzVector - T.

◆ subtract() [11/12]

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

Subtract: xyzVector - xyzVector.

◆ subtract() [12/12]

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

Subtract: xyzVector - Value.

◆ sum()

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

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

References create_a3b_hbs::first.

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

◆ to_json()

template<typename T >
void numeric::to_json ( nlohmann::json &  j,
const xyzVector< T > &  v 
)

◆ transpose_product()

template<typename T >
xyzVector< T > numeric::transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)

◆ truncate_and_serialize_xyz_vector()

template<typename T >
std::string numeric::truncate_and_serialize_xyz_vector ( xyzVector< T vector,
Real  precision 
)

◆ update_5way_operation()

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

◆ update_operation()

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

References a, and compute_difference::b.

◆ urs_norm4()

double numeric::urs_norm4 ( double  a,
double  b,
double  c,
double  d 
)
inline

◆ urs_R2ang()

platform::Real numeric::urs_R2ang ( numeric::xyzMatrix< Real R)
inline

◆ vector_of_xyzvectors_to_FArray()

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

convert a vector1 of xyzVectors to an FArray2D

References gaussian-sampling::input, enumerate_junctions::int, bin_torsions::output, x, predPRE::y, and predPRE::z.

◆ wrap_180()

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.

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

◆ wrap_2pi()

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.

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

◆ wrap_360()

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.

◆ wrap_pi()

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 basic::options::OptionKeys::hotspot::angle, and numeric::NumericTraits< T >::pi().

◆ write_tensor_to_file() [1/2]

template<class T , numeric::Size N>
bool numeric::write_tensor_to_file ( std::string const &  filename,
MathNTensor< T, N > const &  tensor 
)

◆ write_tensor_to_file() [2/2]

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 
)

◆ write_tensor_to_file_without_json()

template<class T , numeric::Size N>
bool numeric::write_tensor_to_file_without_json ( std::string const &  filename,
MathNTensor< T, N > const &  tensor 
)

◆ x_rotation_matrix()

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< T >::rows(), and pyrosetta.distributed.cluster.exceptions::T.

Referenced by x_rotation_matrix_degrees(), and x_rotation_matrix_radians().

◆ x_rotation_matrix_degrees()

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

◆ x_rotation_matrix_radians()

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< T >::set_xaxis_rotation_rad().

◆ xyz_to_spherical()

template<typename T >
sphericalVector< T > numeric::xyz_to_spherical ( xyzVector< T > const &  xyz)

◆ xyzmatrix_to_FArray()

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

convert an xyzMatrix to a 3x3 FArray 2D

References gaussian-sampling::input, and bin_torsions::output.

◆ y_rotation_matrix()

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< T >::rows(), and pyrosetta.distributed.cluster.exceptions::T.

Referenced by y_rotation_matrix_degrees(), and y_rotation_matrix_radians().

◆ y_rotation_matrix_degrees()

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

◆ y_rotation_matrix_radians()

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< T >::set_yaxis_rotation_rad().

◆ z_rotation_matrix()

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

◆ z_rotation_matrix_degrees()

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

◆ z_rotation_matrix_radians()

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