Rosetta 3.3
Namespaces | Classes | Typedefs | Functions
numeric Namespace Reference

A 1D histogram based upon a map structure. More...

Namespaces

namespace  constants
namespace  conversions
namespace  deriv
namespace  fourier
namespace  geometry
namespace  histograms
namespace  interpolation
namespace  kdtree
namespace  model_quality
namespace  random
namespace  statistics

Classes

class  BodyPosition
 Rigid body 3-D position/transform. More...
class  ClusteringTreeNode
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  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  Quaternion
 Unit quaternion 3-D orientation representation. More...
class  sphericalVector
 sphericalVector: Fast spherical-coordinate numeric vector More...
class  xyzMatrix
 xyzMatrix: Fast 3x3 xyz matrix template More...
class  xyzTriple
 Fast (x,y,z)-coordinate vector container. More...
class  xyzVector
 xyzVector: Fast (x,y,z)-coordinate numeric vector More...

Typedefs

typedef BodyPosition< float > BodyPosition_float
typedef BodyPosition< doubleBodyPosition_double
typedef BodyPosition< long doubleBodyPosition_longdouble
typedef
utility::pointer::owning_ptr
< ClusteringTreeNode
ClusteringTreeNodeOP
typedef Quaternion< float > Quaternion_float
typedef Quaternion< doubleQuaternion_double
typedef Quaternion< long doubleQuaternion_longdouble
typedef double Real
typedef platform::Size Size
typedef xyzMatrix< boolxyzMatrix_bool
typedef xyzMatrix< short intxyzMatrix_short
typedef xyzMatrix< intxyzMatrix_int
typedef xyzMatrix< long intxyzMatrix_long
typedef xyzMatrix< unsigned
short int
xyzMatrix_ushort
typedef xyzMatrix< unsigned intxyzMatrix_uint
typedef xyzMatrix< unsigned
long int
xyzMatrix_ulong
typedef xyzMatrix< platform::SizexyzMatrix_Size
typedef xyzMatrix< platform::SizexyzMatrix_size_t
typedef xyzMatrix< platform::SizexyzMatrix_size
typedef xyzMatrix< float > xyzMatrix_float
typedef xyzMatrix< doublexyzMatrix_double
typedef xyzMatrix< long doublexyzMatrix_longdouble
typedef xyzMatrix< char > xyzMatrix_char
typedef xyzMatrix< unsigned char > xyzMatrix_uchar
typedef xyzMatrix< signed char > xyzMatrix_schar
typedef xyzTriple< boolxyzTriple_bool
typedef xyzTriple< short intxyzTriple_short
typedef xyzTriple< intxyzTriple_int
typedef xyzTriple< long intxyzTriple_long
typedef xyzTriple< unsigned
short int
xyzTriple_ushort
typedef xyzTriple< unsigned intxyzTriple_uint
typedef xyzTriple< unsigned
long int
xyzTriple_ulong
typedef xyzTriple< std::size_t > xyzTriple_size_t
typedef xyzTriple< std::size_t > xyzTriple_size
typedef xyzTriple< 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< boolxyzVector_bool
typedef xyzVector< short intxyzVector_short
typedef xyzVector< intxyzVector_int
typedef xyzVector< long intxyzVector_long
typedef xyzVector< unsigned
short int
xyzVector_ushort
typedef xyzVector< unsigned intxyzVector_uint
typedef xyzVector< unsigned
long int
xyzVector_ulong
typedef xyzVector< std::size_t > xyzVector_size_t
typedef xyzVector< std::size_t > xyzVector_size
typedef xyzVector< float > xyzVector_float
typedef xyzVector< doublexyzVector_double
typedef xyzVector< long doublexyzVector_longdouble
typedef xyzVector< char > xyzVector_char
typedef xyzVector< unsigned char > xyzVector_uchar
typedef xyzVector< signed char > xyzVector_schar

Functions

utility::vector1
< ClusteringTreeNodeOP
single_link_clustering (utility::vector1< utility::vector1< Real > > &distance_matrix, Size n_clusters)
utility::vector1
< ClusteringTreeNodeOP
average_link_clustering (utility::vector1< utility::vector1< Real > > &distance_matrix, Size n_clusters)
utility::vector1
< ClusteringTreeNodeOP
complete_link_clustering (utility::vector1< utility::vector1< Real > > &distance_matrix, Size n_clusters)
template<class T >
void get_cluster_data (utility::vector1< T > &data_in, ClusteringTreeNodeOP cluster, utility::vector1< T > &data_out)
template<typename T >
principal_angle (T const &angle)
 Principal value of angle in radians on ( -pi, pi ].
template<typename T >
principal_angle_radians (T const &angle)
 Principal value of angle in radians on ( -pi, pi ].
template<typename T >
principal_angle_degrees (T const &angle)
 Principal value of angle in degrees on ( -180, 180 ].
template<typename T >
nonnegative_principal_angle (T const &angle)
 Positive principal value of angle in radians on [ 0, 2*pi )
template<typename T >
nonnegative_principal_angle_radians (T const &angle)
 Positive principal value of angle in radians on [ 0, 2*pi )
template<typename T >
nonnegative_principal_angle_degrees (T const &angle)
 Positive principal value of angle in degrees on [ 0, 360 )
template<typename T >
nearest_angle (T const &angle, T const &base_angle)
 Nearest periodic value of angle to a base angle in radians.
template<typename T >
nearest_angle_radians (T const &angle, T const &base_angle)
 Nearest periodic value of angle to a base angle in radians.
template<typename T >
nearest_angle_degrees (T const &angle, T const &base_angle)
 Nearest periodic value of angle to a base angle in degrees.
template<typename T >
bool operator== (BodyPosition< T > const &p1, BodyPosition< T > const &p2)
 BodyPosition == BodyPosition.
template<typename T >
bool operator!= (BodyPosition< T > const &p1, BodyPosition< T > const &p2)
 BodyPosition != BodyPosition.
template<typename T >
std::ostream & operator<< (std::ostream &stream, BodyPosition< T > const &p)
 stream << BodyPosition output operator
template<typename T >
std::istream & operator>> (std::istream &stream, BodyPosition< T > &p)
 stream >> BodyPosition input operator
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.
void jacobi (double a[6][6], double d[], double v[6][6], int *nrot)
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
template<typename T >
MathMatrix< T > & operator-= (MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract one matrix from another
template<typename T >
MathMatrix< T > & operator/= (MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 divide one matrix by another
template<typename T >
MathMatrix< T > & operator+= (MathMatrix< T > &MATRIX_LHS, const T &VALUE)
 add scalar to matrix
template<typename T >
MathMatrix< T > & operator-= (MathMatrix< T > &MATRIX_LHS, const T &VALUE)
 subtract scalar from matrix
template<typename T >
MathMatrix< T > & operator*= (MathMatrix< T > &MATRIX_LHS, const T &SCALAR)
 multiply matrix with scalar
template<typename T >
MathMatrix< T > & operator/= (MathMatrix< T > &MATRIX_LHS, const T &SCALAR)
 divide matrix by scalar
template<typename T >
bool operator== (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 compare to matricess for equality
template<typename T >
bool operator!= (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 compare to matrices for inequality
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
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
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
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
template<typename T >
MathMatrix< T > operator+ (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 sum two matrixs of equal size
template<typename T >
MathMatrix< T > operator- (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract two matrixs of equal size
template<typename T >
MathMatrix< T > operator* (const MathMatrix< T > &MATRIX_LHS, const MathMatrix< T > &MATRIX_RHS)
 multiply two matrixs of equal size by building the inner product yielding the scalar product
template<typename T >
MathMatrix< T > operator+ (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 add value to matrix
template<typename T >
MathMatrix< T > operator+ (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 add matrix to value
template<typename T >
MathMatrix< T > operator- (const MathMatrix< T > &MATRIX_LHS, const T &VALUE_RHS)
 subtract value from matrix
template<typename T >
MathMatrix< T > operator- (const T &VALUE_LHS, const MathMatrix< T > &MATRIX_RHS)
 subtract matrix from value
template<typename T >
MathMatrix< T > operator* (const T &SCALAR_LHS, const MathMatrix< T > &MATRIX_RHS)
 multiply scalar with matrix
template<typename T >
MathMatrix< T > operator* (const MathMatrix< T > &MATRIX_LHS, const T &SCALAR_RHS)
 multiply matrix with scalar
template<typename T >
MathVector< T > operator* (const MathMatrix< T > &MATRIX_LHS, const MathVector< T > &VECTOR_RHS)
 multiply matrix with vector
template<typename T >
MathMatrix< T > operator/ (const MathMatrix< T > &MATRIX_LHS, const T &SCALAR_RHS)
 divide matrix with scalar
template<typename T >
MathMatrix< T > operator/ (const T &SCALAR_LHS, const MathMatrix< T > &MATRIX_RHS)
 divide scalar by matrix
template<typename T >
distance (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B, MathVector< T > const &VECTOR_C, MathVector< T > const &VECTOR_D)
template<typename T >
proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B, MathVector< T > const &VECTOR_C)
template<typename T >
proj_angl (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
scalar_product (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
MathVector< T > MakeVector (T const &X)
template<typename T >
MathVector< T > MakeVector (T const &X, T const &Y)
template<typename T >
MathVector< T > MakeVector (T const &X, T const &Y, T const &Z)
template<typename T >
MathVector< T > operator- (MathVector< T > const &VECTOR)
template<typename T >
MathVector< T > operator+ (MathVector< T > const &VECTOR)
template<typename T >
bool operator== (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
bool operator!= (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
bool operator== (MathVector< T > const &VECTOR, T const &X)
template<typename T >
bool operator!= (MathVector< T > const &VECTOR, T const &X)
template<typename T >
bool operator== (T const &X, MathVector< T > const &VECTOR)
template<typename T >
bool operator!= (T const &X, MathVector< T > const &VECTOR)
template<typename T >
MathVector< T > operator+ (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
MathVector< T > operator- (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
MathVector< T > operator+ (MathVector< T > const &VECTOR, T const &X)
template<typename T >
MathVector< T > operator- (MathVector< T > const &VECTOR, T const &X)
template<typename T >
MathVector< T > operator+ (T const &X, MathVector< T > const &VECTOR)
template<typename T >
MathVector< T > operator- (T const &X, MathVector< T > const &VECTOR)
template<typename T >
operator* (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
MathVector< T > operator* (T const &X, MathVector< T > const &VECTOR)
template<typename T >
MathVector< T > operator* (MathVector< T > const &VECTOR, T const &X)
template<typename T >
MathVector< T > operator/ (MathVector< T > const &VECTOR, T const &X)
template<typename T >
MathVector< T > operator/ (MathVector< T > const &VECTOR_A, MathVector< T > const &VECTOR_B)
template<typename T >
MathVector< T > operator/ (T const &X, MathVector< T > const &VECTOR)
template<typename T >
MathVector< T > operator^ (T const &X, MathVector< T > const &VECTOR)
std::ostream & operator<< (std::ostream &os, MultiDimensionalHistogram const &mdhist)
short int min (short int const a, short int const b)
 min( short int, short int )
int min (int const a, int const b)
 min( int, int )
long int min (long int const a, long int const b)
 min( long int, long int )
unsigned short int min (unsigned short int const a, unsigned short int const b)
 min( unsigned short int, unsigned short int )
unsigned int min (unsigned int const a, unsigned int const b)
 min( unsigned int, unsigned int )
unsigned long int min (unsigned long int const a, unsigned long int const b)
 min( unsigned long int, unsigned long int )
float min (float const a, float const b)
 min( float, float )
double min (double const a, double const b)
 min( double, double )
long double min (long double const a, long double const b)
 min( long double, long double )
template<typename T >
T const & min (T const &a, T const &b, T const &c)
 min( a, b, c )
template<typename T >
T const & min (T const &a, T const &b, T const &c, T const &d)
 min( a, b, c, d )
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 )
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 )
short int max (short int const a, short int const b)
 max( short int, short int )
int max (int const a, int const b)
 max( int, int )
long int max (long int const a, long int const b)
 max( long int, long int )
unsigned short int max (unsigned short int const a, unsigned short int const b)
 max( unsigned short int, unsigned short int )
unsigned int max (unsigned int const a, unsigned int const b)
 max( unsigned int, unsigned int )
unsigned long int max (unsigned long int const a, unsigned long int const b)
 max( unsigned long int, unsigned long int )
float max (float const a, float const b)
 max( float, float )
double max (double const a, double const b)
 max( double, double )
long double max (long double const a, long double const b)
 max( long double, long double )
template<typename T >
T const & max (T const &a, T const &b, T const &c)
 max( a, b, c )
template<typename T >
T const & max (T const &a, T const &b, T const &c, T const &d)
 max( a, b, c, d )
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 )
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 )
template<typename T >
square (T const &x)
 square( x ) == x^2
template<typename T >
cube (T const &x)
 cube( x ) == x^3
template<typename T >
int sign (T const &x)
 sign( x )
template<typename S , typename T >
sign_transfered (S const &sigma, T const &x)
 Sign transfered value.
template<typename T >
abs_difference (T const &a, T const &b)
 Absolute difference.
template<typename R , typename T >
nearest (T const &x)
 nearest< R >( x ): Nearest R
template<typename T >
std::size_t nearest_size (T const &x)
 nearest_size( x ): Nearest std::size_t
template<typename T >
ssize_t nearest_ssize (T const &x)
 nearest_ssize( x ): Nearest ssize_t
template<typename T >
int nearest_int (T const &x)
 nearest_int( x ): Nearest int
template<typename T >
int nint (T const &x)
 nint( x ): Nearest int
template<typename T >
mod (T const &x, T const &y)
 x(mod y) computational modulo returning magnitude < | y | and sign of x
template<typename T >
modulo (T const &x, T const &y)
 x(mod y) mathematical modulo returning magnitude < | y | and sign of y
template<typename T >
remainder (T const &x, T const &y)
 Remainder of x with respect to division by y that is of smallest magnitude.
template<typename T >
fast_remainder (T const &x, T const &y)
 Remainder of x with respect to division by y that is of smallest magnitude.
template<typename T , typename S >
remainder_conversion (T const &t, S &s)
 Remainder and result of conversion to a different type.
template<typename T >
gcd (T const &m, T const &n)
 Greatest common divisor.
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?
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?
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?
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?
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?
bool is_a_finitenumber (double s, double a, double b)
template<typename T >
Quaternion< T > operator* (Quaternion< T > const &q2, Quaternion< T > const &q1)
 Quaternion * Quaternion.
template<typename T >
Quaternion< T > product (Quaternion< T > const &q2, Quaternion< T > const &q1, bool const precise)
 Product: Quaternion * Quaternion.
template<typename T >
bool operator== (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Quaternion == Quaternion.
template<typename T >
bool operator!= (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Quaternion != Quaternion.
template<typename T >
dot (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Dot product.
template<typename T >
dot_product (Quaternion< T > const &q1, Quaternion< T > const &q2)
 Dot product.
template<typename T >
std::ostream & operator<< (std::ostream &stream, Quaternion< T > const &q)
 stream << Quaternion output operator
template<typename T >
std::istream & operator>> (std::istream &stream, Quaternion< T > &q)
 stream >> Quaternion input operator
template<typename T >
sec (T const &x)
 Secant.
template<typename T >
csc (T const &x)
 Cosecant.
template<typename T >
cot (T const &x)
 Cotangent.
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?
template<typename T >
sin_cos_range (T const &x, T const &tol=T(.001))
 Adjust a sine or cosine value to the valid [-1,1] range if within a specified tolerance or exit with an error.
template<typename T >
arccos (T const x)
 like std::acos but with range checking
numeric::Real median (utility::vector1< numeric::Real > const &values)
 Returns the median from a vector1 of Real values.
numeric::Real mean (utility::vector1< numeric::Real > const &values)
double log (double x, double base)
 Computes log(x) in the given base.
template<typename T >
bool isnan (T value)
 portable check to see if a value is NaN.
template<typename T >
bool isinf (T value)
bool equal_by_epsilon (numeric::Real value1, numeric::Real value2, numeric::Real epsilon)
 are two Real values are equal up to some epsilon
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).
template<typename T >
xyzVector< T > operator* (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix * xyzVector
template<typename T >
xyzVector< T > product (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix * xyzVector product
template<typename T >
xyzVector< T > & inplace_product (xyzMatrix< T > const &m, xyzVector< T > &v)
 xyzMatrix * xyzVector in-place product
template<typename T >
xyzVector< T > transpose_product (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix^T * xyzVector product
template<typename T >
xyzVector< T > & inplace_transpose_product (xyzMatrix< T > const &m, xyzVector< T > &v)
 xyzMatrix^T * xyzVector in-place transpose product
template<typename T >
xyzMatrix< T > outer_product (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector xyzVector outer product
template<typename T >
xyzMatrix< T > inverse (xyzMatrix< T > const &a)
template<typename T >
xyzMatrix< T > projection_matrix (xyzVector< T > const &v)
 geometric center
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.
template<typename T >
dihedral_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Dihedral (torsion) angle in radians: angle value returned.
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.
template<typename T >
dihedral_degrees (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Dihedral (torsion) angle in degrees: angle value returned.
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.
template<typename T >
dihedral (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, xyzVector< T > const &p4)
 Dihedral (torsion) angle in degrees: angle value returned.
template<typename T >
xyzMatrix< T > rotation_matrix (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in radians.
template<typename T >
xyzVector< T > rotation_axis (xyzMatrix< T > const &R, T &theta)
 Transformation from rotation matrix to helical axis of rotation.
template<typename T >
xyzVector< T > eigenvalue_jacobi (xyzMatrix< T > const &a, T const &tol)
 Classic Jacobi algorithm for the eigenvalues of a real symmetric matrix.
template<typename T >
xyzVector< T > eigenvector_jacobi (xyzMatrix< T > const &a, T const &tol, xyzMatrix< T > &J)
 Classic Jacobi algorithm for the eigenvalues and eigenvectors of a real symmetric matrix.
template<typename T >
void jacobi_rotation (xyzMatrix< T > const &m, int const i, int const j, xyzMatrix< T > &r)
 Jacobi rotation.
template<typename T >
sphericalVector< T > xyz_to_spherical (xyzVector< T > const &xyz)
template<typename T >
xyzVector< T > spherical_to_xyz (sphericalVector< T > const &spherical)
template<typename T >
void angle_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3, T &angle)
 Plane angle in radians: angle value passed.
template<typename T >
angle_radians (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3)
 Plane angle in radians: angle value returned.
template<typename T >
angle_degrees (xyzVector< T > const &p1, xyzVector< T > const &p2, xyzVector< T > const &p3)
 Plane angle in degrees: angle value returned.
template<typename T >
xyzMatrix< T > rotation_matrix_radians (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in radians.
template<typename T >
xyzMatrix< T > rotation_matrix_degrees (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in degrees.
template<typename T >
xyzMatrix< T > x_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in radians.
template<typename T >
xyzMatrix< T > x_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in radians.
template<typename T >
xyzMatrix< T > x_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the x axis by an angle in degrees.
template<typename T >
xyzMatrix< T > y_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in radians.
template<typename T >
xyzMatrix< T > y_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in radians.
template<typename T >
xyzMatrix< T > y_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the y axis by an angle in degrees.
template<typename T >
xyzMatrix< T > z_rotation_matrix (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in radians.
template<typename T >
xyzMatrix< T > z_rotation_matrix_radians (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in radians.
template<typename T >
xyzMatrix< T > z_rotation_matrix_degrees (T const &theta)
 Rotation matrix for rotation about the z axis by an angle in degrees.
template<typename T >
xyzMatrix< T > alignVectorSets (xyzVector< T > A1, xyzVector< T > B1, xyzVector< T > A2, xyzVector< T > B2)
 Helper function to find the rotation to optimally transform the vectors A1-B1 to vectors A2-B2.
template<typename T >
xyzMatrix< T > operator+ (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix + xyzMatrix
template<typename T >
xyzMatrix< T > operator+ (xyzMatrix< T > const &m, T const &t)
 xyzMatrix + T
template<typename T >
xyzMatrix< T > operator+ (T const &t, xyzMatrix< T > const &m)
 T + xyzMatrix.
template<typename T >
xyzMatrix< T > operator- (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix - xyzMatrix
template<typename T >
xyzMatrix< T > operator- (xyzMatrix< T > const &m, T const &t)
 xyzMatrix - T
template<typename T >
xyzMatrix< T > operator- (T const &t, xyzMatrix< T > const &m)
 T - xyzMatrix.
template<typename T >
xyzMatrix< T > operator* (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix * xyzMatrix
template<typename T >
xyzMatrix< T > operator* (xyzMatrix< T > const &m, T const &t)
 xyzMatrix * T
template<typename T >
xyzMatrix< T > operator* (T const &t, xyzMatrix< T > const &m)
 T * xyzMatrix.
template<typename T >
xyzMatrix< T > operator/ (xyzMatrix< T > const &m, T const &t)
 xyzMatrix / T
template<typename T >
bool operator== (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix == xyzMatrix
template<typename T >
bool operator!= (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix != xyzMatrix
template<typename T >
bool operator< (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix < xyzMatrix
template<typename T >
bool operator<= (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix <= xyzMatrix
template<typename T >
bool operator>= (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix >= xyzMatrix
template<typename T >
bool operator> (xyzMatrix< T > const &a, xyzMatrix< T > const &b)
 xyzMatrix > xyzMatrix
template<typename T >
bool operator== (xyzMatrix< T > const &m, T const &t)
 xyzMatrix == T
template<typename T >
bool operator!= (xyzMatrix< T > const &m, T const &t)
 xyzMatrix != T
template<typename T >
bool operator< (xyzMatrix< T > const &m, T const &t)
 xyzMatrix < T
template<typename T >
bool operator<= (xyzMatrix< T > const &m, T const &t)
 xyzMatrix <= T
template<typename T >
bool operator>= (xyzMatrix< T > const &m, T const &t)
 xyzMatrix >= T
template<typename T >
bool operator> (xyzMatrix< T > const &m, T const &t)
 xyzMatrix > T
template<typename T >
bool operator== (T const &t, xyzMatrix< T > const &m)
 T == xyzMatrix.
template<typename T >
bool operator!= (T const &t, xyzMatrix< T > const &m)
 T != xyzMatrix.
template<typename T >
bool operator< (T const &t, xyzMatrix< T > const &m)
 T < xyzMatrix.
template<typename T >
bool operator<= (T const &t, xyzMatrix< T > const &m)
 T <= xyzMatrix.
template<typename T >
bool operator>= (T const &t, xyzMatrix< T > const &m)
 T >= xyzMatrix.
template<typename T >
bool operator> (T const &t, xyzMatrix< T > const &m)
 T > xyzMatrix.
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzMatrix< T > const &m)
 stream << xyzMatrix output operator
template<typename T >
std::istream & operator>> (std::istream &stream, xyzMatrix< T > &m)
 stream >> xyzMatrix input operator
template<typename T >
std::istream & read_row (std::istream &stream, T &x, T &y, T &z)
 Read an xyzMatrix row from a stream.
template<typename T >
xyzTriple< T > operator+ (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple + xyzTriple
template<typename T >
xyzTriple< T > operator+ (xyzTriple< T > const &v, T const &t)
 xyzTriple + T
template<typename T >
xyzTriple< T > operator+ (T const &t, xyzTriple< T > const &v)
 T + xyzTriple.
template<typename T >
xyzTriple< T > operator- (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple - xyzTriple
template<typename T >
xyzTriple< T > operator- (xyzTriple< T > const &v, T const &t)
 xyzTriple - T
template<typename T >
xyzTriple< T > operator- (T const &t, xyzTriple< T > const &v)
 T - xyzTriple.
template<typename T >
xyzTriple< T > operator* (xyzTriple< T > const &v, T const &t)
 xyzTriple * T
template<typename T >
xyzTriple< T > operator* (T const &t, xyzTriple< T > const &v)
 T * xyzTriple.
template<typename T >
xyzTriple< T > operator/ (xyzTriple< T > const &v, T const &t)
 xyzTriple / T
template<typename T >
void add (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &r)
 Add: xyzTriple + xyzTriple.
template<typename T >
void add (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Add: xyzTriple + T.
template<typename T >
void add (T const &t, xyzTriple< T > const &v, xyzTriple< T > &r)
 Add: T + xyzTriple.
template<typename T >
void subtract (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &r)
 Subtract: xyzTriple - xyzTriple.
template<typename T >
void subtract (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Subtract: xyzTriple - T.
template<typename T >
void subtract (T const &t, xyzTriple< T > const &v, xyzTriple< T > &r)
 Subtract: T - xyzTriple.
template<typename T >
void multiply (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Multiply: xyzTriple * T.
template<typename T >
void multiply (T const &t, xyzTriple< T > const &v, xyzTriple< T > &r)
 Multiply: T * xyzTriple.
template<typename T >
void divide (xyzTriple< T > const &v, T const &t, xyzTriple< T > &r)
 Divide: xyzTriple / T.
template<typename T >
xyzTriple< T > min (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple with min coordinates of two xyzTriples
template<typename T >
xyzTriple< T > max (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple with max coordinates of two xyzTriples
template<typename T >
distance (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Distance.
template<typename T >
distance_squared (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Distance squared.
template<typename T >
dot (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Dot product.
template<typename T >
dot_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Dot product.
template<typename T >
inner_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Inner product ( == dot product )
template<typename T >
xyzTriple< T > cross (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cross product.
template<typename T >
xyzTriple< T > cross_product (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cross product.
template<typename T >
void cross (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &c)
 Cross product: Return via argument (slightly faster)
template<typename T >
void cross_product (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > &c)
 Cross product: Return via argument (slightly faster)
template<typename T >
xyzTriple< T > midpoint (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Midpoint of 2 xyzTriples.
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)
template<typename T >
xyzTriple< T > center (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Center of 2 xyzTriples.
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)
template<typename T >
xyzTriple< T > center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Center of 3 xyzTriples.
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)
template<typename T >
xyzTriple< T > center (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c, xyzTriple< T > const &d)
 Center of 4 xyzTriples.
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)
template<typename T >
angle_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ])
template<typename T >
angle_of (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ])
template<typename T >
cos_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Cosine of angle between two vectors.
template<typename T >
cos_of (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Cosine of angle formed by three consecutive points.
template<typename T >
sin_of (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Sine of angle between two vectors.
template<typename T >
sin_of (xyzTriple< T > const &a, xyzTriple< T > const &b, xyzTriple< T > const &c)
 Sine of angle formed by three consecutive points.
template<typename T >
bool operator== (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple == xyzTriple
template<typename T >
bool operator!= (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple != xyzTriple
template<typename T >
bool operator< (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple < xyzTriple
template<typename T >
bool operator<= (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple <= xyzTriple
template<typename T >
bool operator>= (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple >= xyzTriple
template<typename T >
bool operator> (xyzTriple< T > const &a, xyzTriple< T > const &b)
 xyzTriple > xyzTriple
template<typename T >
bool operator== (xyzTriple< T > const &v, T const &t)
 xyzTriple == T
template<typename T >
bool operator!= (xyzTriple< T > const &v, T const &t)
 xyzTriple != T
template<typename T >
bool operator< (xyzTriple< T > const &v, T const &t)
 xyzTriple < T
template<typename T >
bool operator<= (xyzTriple< T > const &v, T const &t)
 xyzTriple <= T
template<typename T >
bool operator>= (xyzTriple< T > const &v, T const &t)
 xyzTriple >= T
template<typename T >
bool operator> (xyzTriple< T > const &v, T const &t)
 xyzTriple > T
template<typename T >
bool operator== (T const &t, xyzTriple< T > const &v)
 T == xyzTriple.
template<typename T >
bool operator!= (T const &t, xyzTriple< T > const &v)
 T != xyzTriple.
template<typename T >
bool operator< (T const &t, xyzTriple< T > const &v)
 T < xyzTriple.
template<typename T >
bool operator<= (T const &t, xyzTriple< T > const &v)
 T <= xyzTriple.
template<typename T >
bool operator>= (T const &t, xyzTriple< T > const &v)
 T >= xyzTriple.
template<typename T >
bool operator> (T const &t, xyzTriple< T > const &v)
 T > xyzTriple.
template<typename T >
bool equal_length (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Equal length?
template<typename T >
bool not_equal_length (xyzTriple< T > const &a, xyzTriple< T > const &b)
 Not equal length?
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzTriple< T > const &v)
 stream << xyzTriple output operator
template<typename T >
std::istream & operator>> (std::istream &stream, xyzTriple< T > &v)
 stream >> xyzTriple input operator
template<typename T >
xyzVector< T > operator+ (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector + xyzVector
template<typename T >
xyzVector< T > operator+ (xyzVector< T > const &v, T const &t)
 xyzVector + T
template<typename T >
xyzVector< T > operator+ (T const &t, xyzVector< T > const &v)
 T + xyzVector.
template<typename T >
xyzVector< T > operator- (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector - xyzVector
template<typename T >
xyzVector< T > operator- (xyzVector< T > const &v, T const &t)
 xyzVector - T
template<typename T >
xyzVector< T > operator- (T const &t, xyzVector< T > const &v)
 T - xyzVector.
template<typename T >
xyzVector< T > operator* (xyzVector< T > const &v, T const &t)
 xyzVector * T
template<typename T >
xyzVector< T > operator* (T const &t, xyzVector< T > const &v)
 T * xyzVector.
template<typename T >
xyzVector< T > operator/ (xyzVector< T > const &v, T const &t)
 xyzVector / T
template<typename T >
void add (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &r)
 Add: xyzVector + xyzVector.
template<typename T >
void add (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Add: xyzVector + T.
template<typename T >
void add (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Add: T + xyzVector.
template<typename T >
void subtract (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &r)
 Subtract: xyzVector - xyzVector.
template<typename T >
void subtract (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Subtract: xyzVector - T.
template<typename T >
void subtract (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Subtract: T - xyzVector.
template<typename T >
void multiply (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Multiply: xyzVector * T.
template<typename T >
void multiply (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Multiply: T * xyzVector.
template<typename T >
void divide (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Divide: xyzVector / T.
template<typename T >
xyzVector< T > min (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with min coordinates of two xyzVectors
template<typename T >
xyzVector< T > max (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with max coordinates of two xyzVectors
template<typename T >
distance (xyzVector< T > const &a, xyzVector< T > const &b)
 Distance.
template<typename T >
distance_squared (xyzVector< T > const &a, xyzVector< T > const &b)
 Distance squared.
template<typename T >
dot (xyzVector< T > const &a, xyzVector< T > const &b)
 Dot product.
template<typename T >
dot_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Dot product.
template<typename T >
inner_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Inner product ( == dot product )
template<typename T >
xyzVector< T > cross (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product.
template<typename T >
xyzVector< T > cross_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product.
template<typename T >
void cross (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &c)
 Cross product: Return via argument (slightly faster)
template<typename T >
void cross_product (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &c)
 Cross product: Return via argument (slightly faster)
template<typename T >
xyzVector< T > midpoint (xyzVector< T > const &a, xyzVector< T > const &b)
 Midpoint of 2 xyzVectors.
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)
template<typename T >
xyzVector< T > center (xyzVector< T > const &a, xyzVector< T > const &b)
 Center of 2 xyzVectors.
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)
template<typename T >
xyzVector< T > center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Center of 3 xyzVectors.
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)
template<typename T >
xyzVector< T > center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > const &d)
 Center of 4 xyzVectors.
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)
template<typename T >
angle_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ])
template<typename T >
angle_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ])
template<typename T >
cos_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Cosine of angle between two vectors.
template<typename T >
cos_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Cosine of angle formed by three consecutive points.
template<typename T >
sin_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Sine of angle between two vectors.
template<typename T >
sin_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Sine of angle formed by three consecutive points.
template<typename T >
bool operator== (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector == xyzVector
template<typename T >
bool operator!= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector != xyzVector
template<typename T >
bool operator< (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector < xyzVector
template<typename T >
bool operator<= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector <= xyzVector
template<typename T >
bool operator>= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector >= xyzVector
template<typename T >
bool operator> (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector > xyzVector
template<typename T >
bool operator== (xyzVector< T > const &v, T const &t)
 xyzVector == T
template<typename T >
bool operator!= (xyzVector< T > const &v, T const &t)
 xyzVector != T
template<typename T >
bool operator< (xyzVector< T > const &v, T const &t)
 xyzVector < T
template<typename T >
bool operator<= (xyzVector< T > const &v, T const &t)
 xyzVector <= T
template<typename T >
bool operator>= (xyzVector< T > const &v, T const &t)
 xyzVector >= T
template<typename T >
bool operator> (xyzVector< T > const &v, T const &t)
 xyzVector > T
template<typename T >
bool operator== (T const &t, xyzVector< T > const &v)
 T == xyzVector.
template<typename T >
bool operator!= (T const &t, xyzVector< T > const &v)
 T != xyzVector.
template<typename T >
bool operator< (T const &t, xyzVector< T > const &v)
 T < xyzVector.
template<typename T >
bool operator<= (T const &t, xyzVector< T > const &v)
 T <= xyzVector.
template<typename T >
bool operator>= (T const &t, xyzVector< T > const &v)
 T >= xyzVector.
template<typename T >
bool operator> (T const &t, xyzVector< T > const &v)
 T > xyzVector.
template<typename T >
bool equal_length (xyzVector< T > const &a, xyzVector< T > const &b)
 Equal length?
template<typename T >
bool not_equal_length (xyzVector< T > const &a, xyzVector< T > const &b)
 Not equal length?
template<typename T >
std::ostream & operator<< (std::ostream &stream, xyzVector< T > const &v)
 stream << xyzVector output operator
template<typename T >
std::istream & operator>> (std::istream &stream, xyzVector< T > &v)
 stream >> xyzVector input operator

Detailed Description

A 1D histogram based upon a map structure.

Geometric and mathematical utilities.

Vector0's that can perform mathmatical functions.

Mathmatical functions for the MathMatrix class.

construction/destructor of Matrix's with some functions

Cubic spline for all your evil desires.

Bicubic spline for all your hearts desires.

read the header file!

A 2D histogram based upon a map structure.

OneDHistogram

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

TwoDHistogram

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

Bicubic_spline

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

Bicubic_spline

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

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

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

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

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

Cubic_spline

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

Cubic_spline

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

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

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

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

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

MathMatrix

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

MathMatrix_operations

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

MathVector

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

MathMatrix_operations

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

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


Typedef Documentation


Function Documentation

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

Absolute difference.

References max(), and min().

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

Add: xyzVector + T.

Add: xyzVector + Value.

References sd::t.

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

Add: T + xyzVector.

Add: Value + xyzVector.

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

Add: xyzTriple + T.

Add: xyzTriple + Value.

References sd::t.

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

Add: T + xyzTriple.

Add: Value + xyzTriple.

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

Plane angle in degrees: angle value returned.

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

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

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

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

References numeric::xyzVector< T >::dot(), numeric::xyzVector< T >::length(), rosetta_py::utility::r3::mag(), and sin_cos_range().

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

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

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 numeric::xyzVector< T >::angle_of.

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

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

References numeric::xyzTriple< T >::dot(), numeric::xyzTriple< T >::length(), rosetta_py::utility::r3::mag(), and sin_cos_range().

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

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 numeric::xyzTriple< T >::angle_of.

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

Plane angle in radians: angle value returned.

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

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

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

Plane angle in radians: angle value passed.

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

References test::T850_SubClassing::b, dot(), and sin_cos_range().

Referenced by angle_degrees(), and angle_radians().

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

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

References max(), and basic::options::OptionKeys::ddg::min.

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

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

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

Center of 3 xyzVectors.

References numeric::xyzVector< T >::xyzVector().

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

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

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

Center of 2 xyzVectors.

References numeric::xyzVector< T >::xyzVector().

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.

References numeric::xyzVector< T >::xyzVector().

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

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

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

Center of 3 xyzTriples.

References numeric::xyzTriple< T >::xyzTriple().

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

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

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

Center of 4 xyzTriples.

References numeric::xyzTriple< T >::xyzTriple().

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

Center of 2 xyzTriples.

References numeric::xyzTriple< T >::xyzTriple().

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

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

template<typename T >
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)

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

Cosine of angle formed by three consecutive points.

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 numeric::xyzVector< T >::cos_of.

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

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 numeric::xyzTriple< T >::cos_of.

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

Cotangent.

References basic::T().

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

Cross product.

References numeric::xyzVector< T >::xyzVector().

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

Cross product: Return via argument (slightly faster)

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

Cross product: Return via argument (slightly faster)

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

Cross product.

References numeric::xyzVector< T >::xyzVector().

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

Cross product: Return via argument (slightly faster)

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

Cross product.

References numeric::xyzTriple< T >::xyzTriple().

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

Cross product: Return via argument (slightly faster)

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

Cosecant.

References basic::T().

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

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

cube( x ) == x^3

References rosetta_py::utility::rankorder::x.

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

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

Dihedral (torsion) angle: angle value passed.

Note:
This is a Rosetta++ compatibility version that operates in degrees
Parameters:
[in]p1First position in a chain
[in]p2second position in a chain
[in]p3Third position in a chain
[in]p4Fourth position in a chain
[out]angleDihedral angle
Note:
Given four positions in a chain ( p1, p2, p3, p4 ), calculates the dihedral (torsion) angle in degrees between the vectors p2->p1 and p3->p4 while sighting along the axis defined by the vector p2->p3 (positive indicates right handed twist).
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
Returns:
None

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

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

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

Dihedral (torsion) angle: angle value returned.

Note:
This is a Rosetta++ compatibility version that operates in degrees
Parameters:
[in]p1First position in a chain
[in]p2second position in a chain
[in]p3Third position in a chain
[in]p4Fourth position in a chain
Note:
Given four positions in a chain ( p1, p2, p3, p4 ), calculates the dihedral (torsion) angle in degrees between the vectors p2->p1 and p3->p4 while sighting along the axis defined by the vector p2->p3 (positive indicates right handed twist).
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
Returns:
Dihedral angle

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

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

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

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

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

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

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

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

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

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

References test::T850_SubClassing::b, cross(), dot(), basic::T(), and rosetta_py::utility::rankorder::x.

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

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

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

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

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

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

Distance.

References square().

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

Distance.

References square().

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

Distance squared.

References square().

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

Distance squared.

References square().

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

Divide: xyzVector / T.

Divide: xyzVector / Value.

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

Divide: xyzTriple / T.

Divide: xyzTriple / Value.

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

Dot product.

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

Dot product.

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

Dot product.

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

Dot product.

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

Dot product.

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

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

Note:
Use eigenvector_jacobi if eigenvectors are also desired
Parameters:
[in]aInput xyzMatrix
[in]tolTolerance for termination of Jacobi iterations
Note:
Use eigenvector_jacobi if eigenvectors are also desired
Returns:
Eigenvalues of a (generates an xyzVector)

References ObjexxFCL::abs(), color_pdb::i, jacobi_rotation(), numeric::xyzMatrix< T >::left_multiply_by_transpose(), NetLink::r, numeric::xyzMatrix< T >::right_multiply_by(), and basic::T().

Referenced by instantiate_numeric_funs().

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

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

Note:
Use eigenvalue_jacobi if eigenvectors are not desired
Parameters:
[in]aInput xyzMatrix
[in]tolTolerance for termination of Jacobi iterations
[out]JOutput xyzMatrix of eigenvectors of input xyzMatrix a
Note:
Use eigenvalue_jacobi if eigenvectors are not desired
Returns:
Eigenvalues of a (generates an xyzVector)

References ObjexxFCL::abs(), color_pdb::i, jacobi_rotation(), numeric::xyzMatrix< T >::left_multiply_by_transpose(), NetLink::r, numeric::xyzMatrix< T >::right_multiply_by(), basic::T(), and numeric::xyzMatrix< T >::to_identity().

Referenced by numeric::model_quality::findUU(), and instantiate_numeric_funs().

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

Equal within specified relative and absolute tolerances?

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

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

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

are two Real values are equal up to some epsilon

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

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

Equal length?

References numeric::xyzTriple< T >::length_squared().

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

Equal length?

References numeric::xyzVector< T >::length_squared().

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 rosetta_py::utility::rankorder::x.

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

Greatest common divisor.

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

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

Greater than or equal within specified relative and absolute tolerances?

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

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

References color_pdb::i.

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

Greater than within specified relative and absolute tolerances?

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

template<typename T >
bool numeric::in_sin_cos_range ( T const &  x,
T const &  tol = T( .001 ) 
) [inline]

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

References basic::T(), and loops_kic::tol.

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

Inner product ( == dot product )

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

Inner product ( == dot product )

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

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

xyzMatrix * xyzVector in-place product

xyzMatrix xyzVector in-place product

Note:
Input xyzVector is modified
Parameters:
[in]mInput xyzMatrix
[in,out]vInput xyzVector to be modified
Note:
Input xyzVector is modified
Returns:
m * v (modifies the input xyzVector)

References basic::T(), and rosetta_py::utility::rankorder::x.

Referenced by instantiate_numeric_funs(), numeric::BodyPosition< T >::invert(), numeric::BodyPosition< T >::operator()(), and numeric::BodyPosition< T >::transform().

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

xyzMatrix^T * xyzVector in-place transpose product

Note:
Input xyzVector is modified

References basic::T(), and rosetta_py::utility::rankorder::x.

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

template<typename T >
xyzMatrix< T > numeric::inverse ( xyzMatrix< T > const &  a) [inline]
bool numeric::is_a_finitenumber ( double  s,
double  a,
double  b 
) [inline]
template<typename T >
bool numeric::isinf ( value) [inline]
template<typename T >
bool numeric::isnan ( value) [inline]

portable check to see if a value is NaN.

References value.

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

Jacobi rotation.

Note:
Compute the orthogonal transformation used to zero out a pair of off-diagonal elements
Parameters:
[in]mInput xyzMatrix
[in]iRow index of element to zero out
[in]jColumn index of element to zero out
[out]rOrthogonal transformation used by eigenvalue_jacobi and eigenvector_jacobi to zero out the (i,j) and (j,i) elements of input xyzMatrix m
Note:
Compute the orthogonal transformation used to zero out a pair of off-diagonal elements
Returns:
None

References ObjexxFCL::abs(), NetLink::r, basic::options::OptionKeys::in::file::s, sd::t, basic::T(), and numeric::xyzMatrix< T >::to_identity().

Referenced by eigenvalue_jacobi(), eigenvector_jacobi(), and instantiate_numeric_funs().

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

Less than or equal within specified relative and absolute tolerances?

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

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

Computes log(x) in the given base.

Referenced by numeric::statistics::kl_divergence().

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

Less than within specified relative and absolute tolerances?

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

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

References ObjexxFCL::fmt::X().

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

References ObjexxFCL::fmt::X().

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

xyzVector with max coordinates of two xyzVectors

References numeric::xyzVector< T >::xyzVector().

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

max( short int, short int )

Referenced by abs_difference(), boltzmann_accept_probability(), ObjexxFCL::DimensionExpressionMax::clone(), complete_link_clustering(), numeric::deriv::dihedral_deriv_second(), ObjexxFCL::fmt::E(), eq_tol(), numeric::kdtree::HyperRectangle::extend(), ObjexxFCL::fmt::F(), ObjexxFCL::FArray1D< double >::FArray1D(), ObjexxFCL::FArray2D< double >::FArray2D(), ObjexxFCL::FArray3D< T >::FArray3D(), ObjexxFCL::FArray4D< T >::FArray4D(), ObjexxFCL::FArray5D< T >::FArray5D(), ObjexxFCL::FArray6D< T >::FArray6D(), gcd(), ge_tol(), gen_pep_bb_sequential(), numeric::kdtree::get_percentile_bounds(), gt_tol(), ObjexxFCL::fmt::I(), ObjexxFCL::KeyFArray1D< T >::KeyFArray1D(), ObjexxFCL::KeyFArray2D< T >::KeyFArray2D(), ObjexxFCL::KeyFArray3D< T >::KeyFArray3D(), ObjexxFCL::KeyFArray4D< T >::KeyFArray4D(), ObjexxFCL::KeyFArray5D< T >::KeyFArray5D(), ObjexxFCL::KeyFArray6D< T >::KeyFArray6D(), numeric::fourier::kiss_fftndr(), numeric::fourier::kiss_fftndri(), le_tol(), lt_tol(), main(), utility::max(), ObjexxFCL::max(), max(), ObjexxFCL::DimensionExpressionMax::operator()(), numeric::deriv::p1_theta_deriv(), proj_angl(), numeric::fourier::kiss_fftndr_state::resize(), numeric::model_quality::rsym_eigenval(), numeric::interpolation::Histogram< X, Y >::set_params(), utility::io::skip(), ObjexxFCL::fmt::skip(), ObjexxFCL::fmt::space(), numeric::kdtree::transform_percentile(), ObjexxFCL::DimensionExpressionMax::value(), ObjexxFCL::fmt::X(), and numeric::deriv::x_and_dtheta_dx().

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

max( a, b, c )

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

max( a, b, c, d )

References max().

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

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

References max().

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

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

References max().

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

xyzTriple with max coordinates of two xyzTriples

References numeric::xyzTriple< T >::xyzTriple().

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

References end.

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

Returns the median from a vector1 of Real values.

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

Midpoint of 2 xyzVectors.

References numeric::xyzVector< T >::xyzVector().

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

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

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

Midpoint of 2 xyzTriples.

References numeric::xyzTriple< T >::xyzTriple().

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)

short int numeric::min ( short int const  a,
short int const  b 
) [inline]
template<typename T >
xyzVector< T > numeric::min ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)

xyzVector with min coordinates of two xyzVectors

References numeric::xyzVector< T >::xyzVector().

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

min( a, b, c )

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

min( a, b, c, d )

References basic::options::OptionKeys::ddg::min, and min().

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

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

References basic::options::OptionKeys::ddg::min, and min().

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

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

References basic::options::OptionKeys::ddg::min, and min().

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

xyzTriple with min coordinates of two xyzTriples

References numeric::xyzTriple< T >::xyzTriple().

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 rosetta_py::utility::rankorder::x.

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

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

Multiply: T * xyzVector.

Multiply: Value * xyzVector.

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

Multiply: xyzVector * T.

Multiply: xyzVector * Value.

References sd::t.

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

Multiply: xyzTriple * T.

Multiply: xyzTriple * Value.

References sd::t.

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

Multiply: T * xyzTriple.

Multiply: Value * xyzTriple.

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

nearest< R >( x ): Nearest R

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

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

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

References nearest_ssize(), and numeric::constants::f::pi_2.

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

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

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

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

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

References nearest_ssize(), and numeric::constants::f::pi_2.

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

nearest_int( x ): Nearest int

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

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

nearest_size( x ): Nearest std::size_t

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

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

nint( x ): Nearest int

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

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

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

References modulo().

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

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

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

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

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

References modulo().

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

Not equal length?

References numeric::xyzTriple< T >::length_squared().

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

Not equal length?

References numeric::xyzVector< T >::length_squared().

template<typename T >
bool numeric::operator!= ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
) [inline]

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

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

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

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

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

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

xyzTriple != T

xyzTriple != Value

References sd::t.

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

T != xyzTriple.

Value != xyzTriple.

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

T != xyzVector.

Value != xyzVector.

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

xyzMatrix != T

xyzMatrix != Value

References sd::t.

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

T != xyzMatrix.

Value != xyzMatrix.

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

compare to matrices for inequality

Parameters:
MATRIX_LHSlhs matrix
MATRIX_RHSrhs matrix
Returns:
!( MATRIX_LHS == MATRIX_RHS)
template<typename T >
bool numeric::operator!= ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
) [inline]
Returns:
operator != (Comparison) MathVectors
template<typename T >
bool numeric::operator!= ( BodyPosition< T > const &  p1,
BodyPosition< T > const &  p2 
)
template<typename T >
bool numeric::operator!= ( MathVector< T > const &  VECTOR,
T const &  X 
) [inline]
Returns:
operator MathVector != X (Comparison with T value)

References ObjexxFCL::fmt::X().

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

xyzVector != T

xyzVector != Value

References sd::t.

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

References ObjexxFCL::fmt::X().

template<typename T >
bool numeric::operator!= ( Quaternion< T > const &  q1,
Quaternion< T > const &  q2 
)
template<typename T >
MathVector< T > numeric::operator* ( T const &  X,
MathVector< T > const &  VECTOR 
) [inline]
Returns:
operator MathVector * MathVector
template<typename T >
xyzVector< T > numeric::operator* ( xyzVector< T > const &  v,
T const &  t 
)
template<typename T >
T numeric::operator* ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
) [inline]
template<typename T >
MathVector< T > numeric::operator* ( MathVector< T > const &  VECTOR,
T const &  X 
) [inline]
Returns:
operator MathVector * MathVector
template<typename T >
xyzVector< T > numeric::operator* ( T const &  t,
xyzVector< T > const &  v 
)
template<typename T >
numeric::operator* ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
) [inline]

xyzMatrix * xyzVector

Note:
Same as product( xyzMatrix, xyzVector )
Parameters:
[in]mInput xyzMatrix
[in]vInput xyzVector
Note:
Same as product( xyzMatrix, xyzVector )
Returns:
m * v (generates an xyzVector)
template<typename T >
MathMatrix< T> numeric::operator* ( const MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
) [inline]

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

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

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

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

multiply scalar with matrix

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

multiply matrix with scalar

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

multiply matrix with vector

Parameters:
MATRIX_LHSlhs matrix
VECTORvector to be multiplied
Returns:
resulting vector

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

template<typename T >
xyzMatrix< T > numeric::operator* ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
xyzMatrix< T > numeric::operator* ( xyzMatrix< T > const &  m,
T const &  t 
)
template<typename T >
xyzMatrix< T > numeric::operator* ( T const &  t,
xyzMatrix< T > const &  m 
)
template<typename T >
xyzTriple< T > numeric::operator* ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
Quaternion< T > numeric::operator* ( Quaternion< T > const &  q2,
Quaternion< T > const &  q1 
)
template<typename T >
MathMatrix< T>& numeric::operator*= ( MathMatrix< T > &  MATRIX_LHS,
const T &  SCALAR 
) [inline]

multiply matrix with scalar

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

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

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

sum two matrixs of equal size

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

add matrix to value

Parameters:
VALUE_LHSlhs value to be added
MATRIX_RHSrhs matrix
Returns:
matrix that has the value added to each value of the lhs given matrix
template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR) [inline]
Returns:
operator +MathVectors
template<typename T >
xyzVector< T > numeric::operator+ ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
xyzVector< T > numeric::operator+ ( T const &  t,
xyzVector< T > const &  v 
)
template<typename T >
xyzMatrix< T > numeric::operator+ ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
xyzMatrix< T > numeric::operator+ ( xyzMatrix< T > const &  m,
T const &  t 
)
template<typename T >
xyzMatrix< T > numeric::operator+ ( T const &  t,
xyzMatrix< T > const &  m 
)
template<typename T >
xyzTriple< T > numeric::operator+ ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
xyzTriple< T > numeric::operator+ ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
xyzTriple< T > numeric::operator+ ( T const &  t,
xyzTriple< T > const &  v 
)
template<typename T >
MathMatrix< T> numeric::operator+ ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
) [inline]

add value to matrix

Parameters:
MATRIX_LHSlhs matrix
VALUE_RHSrhs value to be added
Returns:
matrix that has the value added to each value of the lhs given matrix
template<typename T >
xyzVector< T > numeric::operator+ ( xyzVector< T > const &  v,
T const &  t 
)
template<typename T >
MathVector< T > numeric::operator+ ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
) [inline]
Returns:
operator MathVector + MathVector
template<typename T >
MathMatrix< T>& numeric::operator+= ( MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
) [inline]

add one matrix to another

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

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

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

add scalar to matrix

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

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

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

subtract two matrixs of equal size

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

subtract value from matrix

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

subtract matrix from value

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

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

template<typename T >
xyzMatrix< T > numeric::operator- ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
xyzMatrix< T > numeric::operator- ( xyzMatrix< T > const &  m,
T const &  t 
)
template<typename T >
xyzMatrix< T > numeric::operator- ( T const &  t,
xyzMatrix< T > const &  m 
)
template<typename T >
xyzTriple< T > numeric::operator- ( xyzTriple< T > const &  v,
T const &  t 
)
template<typename T >
MathVector< T > numeric::operator- ( MathVector< T > const &  VECTOR) [inline]
Returns:
operator -MathVectors

References basic::T().

template<typename T >
xyzVector< T > numeric::operator- ( xyzVector< T > const &  v,
T const &  t 
)
template<typename T >
xyzTriple< T > numeric::operator- ( T const &  t,
xyzTriple< T > const &  v 
)
template<typename T >
MathVector< T > numeric::operator- ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
) [inline]
Returns:
operator MathVector - MathVector
template<typename T >
MathMatrix< T>& numeric::operator-= ( MathMatrix< T > &  MATRIX_LHS,
const MathMatrix< T > &  MATRIX_RHS 
) [inline]

subtract one matrix from another

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

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

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

subtract scalar from matrix

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

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

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

divide matrix with scalar

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

divide scalar by matrix

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

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

template<typename T >
xyzMatrix< T > numeric::operator/ ( xyzMatrix< T > const &  m,
T const &  t 
)
template<typename T >
MathVector< T > numeric::operator/ ( MathVector< T > const &  VECTOR,
T const &  X 
) [inline]
Returns:
operator MathVector / MathVector
template<typename T >
MathMatrix< T>& numeric::operator/= ( MathMatrix< T > &  MATRIX_LHS,
const T &  SCALAR 
) [inline]

divide matrix by scalar

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

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

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

divide one matrix by another

Parameters:
MATRIX_LHSmatrix to divided
MATRIX_RHSmatrix to divide by
Returns:
the changed lhs matrix
template<typename T >
bool numeric::operator< ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)

xyzTriple < xyzTriple

xyzTriple < xyzTriple: Lexicographic order

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

T < xyzTriple.

Value < xyzTriple.

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

xyzTriple < T

xyzTriple < Value

References sd::t.

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

xyzVector < T

xyzVector < Value

References sd::t.

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

T < xyzVector.

Value < xyzVector.

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

xyzMatrix < T

xyzMatrix < Value

References sd::t.

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

T < xyzMatrix.

Value < xyzMatrix.

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

stream << Quaternion output operator

References basic::options::OptionKeys::ufv::right, and ObjexxFCL::uppercase().

template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
BodyPosition< T > const &  p 
)
std::ostream & numeric::operator<< ( std::ostream &  os,
MultiDimensionalHistogram const &  mdhist 
)
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  output,
const IntervalSet< T > &  interval 
) [inline]
template<typename T >
std::ostream& numeric::operator<< ( std::ostream &  stream,
xyzVector< T > const &  v 
)

stream << xyzVector output operator

References basic::options::OptionKeys::ufv::right, and ObjexxFCL::uppercase().

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

stream << xyzMatrix output operator

References basic::options::OptionKeys::ufv::right, and ObjexxFCL::uppercase().

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

stream << xyzTriple output operator

References basic::options::OptionKeys::ufv::right, and ObjexxFCL::uppercase().

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

xyzTriple <= T

xyzTriple <= Value

References sd::t.

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

T <= xyzTriple.

Value <= xyzTriple.

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

xyzVector <= T

xyzVector <= Value

References sd::t.

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

T <= xyzVector.

Value <= xyzVector.

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

xyzMatrix <= T

xyzMatrix <= Value

References sd::t.

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

T <= xyzMatrix.

Value <= xyzMatrix.

template<typename T >
bool numeric::operator<= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator== ( xyzMatrix< T > const &  a,
xyzMatrix< T > const &  b 
)
template<typename T >
bool numeric::operator== ( BodyPosition< T > const &  p1,
BodyPosition< T > const &  p2 
)
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(), basic::T(), and ObjexxFCL::fmt::X().

template<typename T >
bool numeric::operator== ( xyzTriple< T > const &  a,
xyzTriple< T > const &  b 
)
template<typename T >
bool numeric::operator== ( const MathMatrix< T > &  MATRIX_LHS,
const T &  VALUE_RHS 
) [inline]

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

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

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

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

T == xyzTriple.

Value == xyzTriple.

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

T == xyzVector.

Value == xyzVector.

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

xyzMatrix == T

xyzMatrix == Value

References sd::t.

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

T == xyzMatrix.

Value == xyzMatrix.

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

xyzVector == T

xyzVector == Value

References sd::t.

template<typename T >
bool numeric::operator== ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
) [inline]
template<typename T >
bool numeric::operator== ( xyzTriple< T > const &  v,
T const &  t 
)

xyzTriple == T

xyzTriple == Value

References sd::t.

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

compare to matricess for equality

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

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

template<typename T >
bool numeric::operator== ( T const &  X,
MathVector< T > const &  VECTOR 
) [inline]
Returns:
operator X == MathVector(Comparison with T value)
template<typename T >
bool numeric::operator== ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
template<typename T >
bool numeric::operator== ( const T &  VALUE_LHS,
const MathMatrix< T > &  MATRIX_RHS 
) [inline]

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

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

xyzTriple > T

xyzTriple > Value

References sd::t.

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

xyzVector > T

xyzVector > Value

References sd::t.

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

T > xyzVector.

Value > xyzVector.

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

T > xyzMatrix.

Value > xyzMatrix.

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

xyzMatrix > T

xyzMatrix > Value

References sd::t.

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

T > xyzTriple.

Value > xyzTriple.

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

T >= xyzTriple.

Value >= xyzTriple.

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

T >= xyzVector.

Value >= xyzVector.

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

xyzTriple >= T

xyzTriple >= Value

References sd::t.

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

xyzVector >= T

xyzVector >= Value

References sd::t.

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

xyzMatrix >= T

xyzMatrix >= Value

References sd::t.

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

T >= xyzMatrix.

Value >= xyzMatrix.

template<typename T >
bool numeric::operator>= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
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 rosetta_py::utility::rankorder::R, read_row(), and sd::t.

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

stream >> Quaternion input operator

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

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

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

stream >> xyzTriple input operator

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

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

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

stream >> xyzVector input operator

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

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

template<typename T >
MathVector< T > numeric::operator^ ( T const &  X,
MathVector< T > const &  VECTOR 
) [inline]
template<typename T >
numeric::outer_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
) [inline]

xyzVector xyzVector outer product

Parameters:
[in]aInput xyzVector
[in]bInput xyzVector to be modified
Returns:
Outer product of a and b ( a * b^T ) (generates an xyzMatrix)

Referenced by instantiate_numeric_funs().

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

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

References remainder().

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

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

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

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

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

References remainder().

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

xyzMatrix * xyzVector product

xyzMatrix xyzVector product

Note:
Same as xyzMatrix * xyzVector
Parameters:
[in]mInput xyzMatrix
[in]vInput xyzVector
Note:
Same as xyzMatrix * xyzVector
Returns:
m * v (generates an xyzVector)
template<typename T >
Quaternion< T > numeric::product ( Quaternion< T > const &  q2,
Quaternion< T > const &  q1,
bool const  precise 
)
template<typename T >
T numeric::proj_angl ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B 
) [inline]
Returns:
projection angle between two MathVectors 0->A and 0->B

References proj_angl().

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

References proj_angl().

template<typename T >
T numeric::proj_angl ( MathVector< T > const &  VECTOR_A,
MathVector< T > const &  VECTOR_B,
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(), basic::options::OptionKeys::ddg::min, numeric::MathVector< T >::norm(), and basic::T().

Referenced by proj_angl().

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

geometric center

Projection matrix onto the line through a vector.

Note:
compute the geometric center of a list of points Projection matrix onto the line through a vector
Parameters:
[in]vInput xyzVector
Returns:
Projection matrix onto the line through v (generates an xyzMatrix)

References numeric::xyzVector< T >::length_squared().

Referenced by instantiate_numeric_funs(), and rotation_matrix().

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 rosetta_py::utility::rankorder::x.

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 sd::t, and rosetta_py::utility::rankorder::x.

Referenced by operator>>().

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

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

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

References rosetta_py::utility::rankorder::x.

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

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

Remainder and result of conversion to a different type.

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

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

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]
Parameters:
[in]RInput xyzMatrix
[out]thetaAngle 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]
Remarks:
If the rotation matrix was created with double theta = pi, rotation_axis does not produce sign errors in the axis elements (likely because pi is truncated to a second quadrant angle and off-diagonal elements of R are in accordance with the axis element signs).

However, using float precision, the main equations of rotation_axis (if clause) break (give sign errors in the axis elements) when theta = 0.99999999*pi, thereby requiring the special method of the second else clause. If the rotation matrix was created with double precision, near zero angles rotation_axis starts to become inaccurate at theta = 1e-6 (cos_theta = 1-5.0e-13), is very inaccurate at theta = 1e-7, and breaks (axis elements cannot be recovered) at theta = 1e-8.

With float precision, near zero angles, rotation _axis starts to become inaccurate at theta = 1e-2 (cos_theta = 1-5.0e-5), is very inaccurate at theta = 1e-3, and breaks (axis elements cannot be recovered) at theta = 1e-8. These cases are handled separately by the first else clause.

Returns:
Axis of rotation (generates an xyzVector)

References ObjexxFCL::abs(), numeric::NumericTraits< T >::pi(), sin_cos_range(), basic::T(), numeric::xyzMatrix< T >::trace(), and rosetta_py::utility::rankorder::x.

Referenced by instantiate_numeric_funs().

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

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

Rotation matrix about a helical axis through the origin through an angle.

Parameters:
[in]axisHelical axis
[in]thetaAngle of rotation
Returns:
Rotation matrix about axis through the angle theta (generates an xyzMatrix)

References numeric::xyzVector< T >::normalized(), projection_matrix(), rosetta_py::utility::rankorder::R, and basic::T().

Referenced by instantiate_numeric_funs(), rotation_matrix_degrees(), and rotation_matrix_radians().

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

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

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

Referenced by instantiate_numeric_funs().

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

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

Secant.

References basic::T().

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

Sign transfered value.

References ObjexxFCL::abs().

Referenced by numeric::model_quality::rmsfitca2(), and numeric::model_quality::rmsfitca3().

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, basic::T(), loops_kic::tol, utility_exit, and rosetta_py::utility::rankorder::x.

Referenced by angle_of(), angle_radians(), arccos(), cos_of(), numeric::HomogeneousTransform< double >::euler_angles_rad(), and rotation_axis().

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

Sine of angle formed by three consecutive points.

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 numeric::xyzVector< T >::sin_of.

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

Sine of angle between two vectors.

References numeric::xyzTriple< T >::cos_of, and square().

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.

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 numeric::xyzTriple< T >::sin_of.

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

Sine of angle between two vectors.

References numeric::xyzVector< T >::cos_of, and square().

utility::vector1< ClusteringTreeNodeOP > numeric::single_link_clustering ( utility::vector1< utility::vector1< Real > > &  distance_matrix,
Size  n_clusters 
)
template<typename T >
xyzVector< T > numeric::spherical_to_xyz ( sphericalVector< T > const &  spherical) [inline]
template<typename T >
T numeric::square ( T const &  x) [inline]
template<typename T >
void numeric::subtract ( xyzTriple< T > const &  v,
T const &  t,
xyzTriple< T > &  r 
)

Subtract: xyzTriple - T.

Subtract: xyzTriple - Value.

References sd::t.

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

Subtract: T - xyzVector.

Subtract: Value - xyzVector.

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

Subtract: xyzVector - T.

Subtract: xyzVector - Value.

References sd::t.

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

Subtract: T - xyzTriple.

Subtract: Value - xyzTriple.

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

Subtract: xyzTriple - xyzTriple.

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

Subtract: xyzVector - xyzVector.

template<typename T >
xyzVector< T > numeric::transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
) [inline]
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 basic::T().

Referenced by instantiate_numeric_funs(), x_rotation_matrix_degrees(), and x_rotation_matrix_radians().

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

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

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

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

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

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

References x_rotation_matrix().

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

template<typename T >
sphericalVector< T > numeric::xyz_to_spherical ( xyzVector< T > const &  xyz) [inline]
template<typename T >
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 basic::T().

Referenced by instantiate_numeric_funs(), y_rotation_matrix_degrees(), and y_rotation_matrix_radians().

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

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

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

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

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

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

References y_rotation_matrix().

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

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

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

References numeric::xyzMatrix< T >::rows(), and basic::T().

Referenced by instantiate_numeric_funs(), z_rotation_matrix_degrees(), and z_rotation_matrix_radians().

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

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

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

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

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

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

References z_rotation_matrix().

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines