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

Namespaces

 radians
 

Classes

struct  p
 

Typedefs

typedef Eigen::Matrix< Real, 8, 8 > Matrix8
 
typedef Eigen::Matrix< Real, 16, 16 > Matrix16
 
typedef Eigen::Matrix< Real,
Eigen::Dynamic, 1, 0, 16, 1 > 
Vector16
 
using SolverType = linear_algebra::GeneralizedEigenSolver< Matrix16 >
 
typedef
utility::fixedsizearray1< Real, 3 > 
PseudoVector
 
typedef
utility::fixedsizearray1
< PseudoVector, 3 > 
PseudoMatrix
 
typedef struct
numeric::kinematic_closure::p 
poly
 
typedef utility::vector1
< numeric::Size
IndexList
 
typedef
utility::fixedsizearray1
< numeric::Real, 3 > 
Coordinate
 
typedef utility::vector1
< Coordinate
CoordinateList
 
typedef utility::vector1
< numeric::Real
ParameterList
 
typedef utility::vector1
< ParameterList
ParameterMatrix
 

Functions

void triangle (const utility::fixedsizearray1< Real, 3 > &vbond, utility::fixedsizearray1< Real, 3 > &calpha, utility::fixedsizearray1< Real, 3 > &salpha)
 
void triangle (const utility::fixedsizearray1< Real, 3 > &vbond, utility::fixedsizearray1< Real, 4 > &calpha, utility::fixedsizearray1< Real, 4 > &salpha)
 
void sincos (const utility::fixedsizearray1< Real, 3 > &theta, const int flag, utility::fixedsizearray1< Real, 3 > &cosine, utility::fixedsizearray1< Real, 3 > &sine)
 
void sincos (const utility::fixedsizearray1< Real, 3 > &theta, const int flag, utility::fixedsizearray1< Real, 4 > &cosine, utility::fixedsizearray1< Real, 4 > &sine)
 
void triaxialCoefficients (const utility::fixedsizearray1< Real, 3 > &vb, const utility::fixedsizearray1< Real, 3 > &xi, const utility::fixedsizearray1< Real, 3 > &eta, const utility::fixedsizearray1< Real, 3 > &delta, const utility::fixedsizearray1< Real, 3 > &theta, const utility::vector1< int > &order, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &A, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &B, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &C, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &D, utility::fixedsizearray1< Real, 3 > &cal, utility::fixedsizearray1< Real, 3 > &sal, int &f)
 
void cross (const utility::fixedsizearray1< Real, 3 > &L, const utility::fixedsizearray1< Real, 3 > &r0, utility::fixedsizearray1< Real, 3 > &r)
 
void frame (const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &R, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &U)
 
Real eucDistance (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b)
 
Real scpn (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b, const utility::fixedsizearray1< Real, 3 > &c)
 
Real bondangle (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b, const utility::fixedsizearray1< Real, 3 > &c)
 
Real torsion (const utility::fixedsizearray1< Real, 3 > &a, const utility::fixedsizearray1< Real, 3 > &b, const utility::fixedsizearray1< Real, 3 > &c, const utility::fixedsizearray1< Real, 3 > &d)
 
void chainParams (const int &n, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms, Real &vbond, Real &xi, Real &eta, Real &delta, utility::fixedsizearray1< Real, 3 > &R0, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &Q)
 
void chainXYZ (const int &n, const utility::vector1< Real > &b_len1, const utility::vector1< Real > &b_ang1, const utility::vector1< Real > &t_ang1, const bool space, const utility::fixedsizearray1< Real, 3 > &R0, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &Q, utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms)
 
void chainXYZ (const int &n, const utility::vector1< Real > &b_len, const utility::vector1< Real > &b_ang, const utility::vector1< Real > &t_ang, utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms)
 
void chainTORS (const int &n, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms, utility::vector1< Real > &t_ang, utility::vector1< Real > &b_ang, utility::vector1< Real > &b_len, utility::fixedsizearray1< Real, 3 > &R0, utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &Q)
 
void rotateX (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &R, const Real &c, const Real &s, utility::vector1< utility::fixedsizearray1< Real, 3 > > &Rx)
 
void rotateY (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &R, const Real &c, const Real &s, utility::vector1< utility::fixedsizearray1< Real, 3 > > &Ry)
 
void rotateZ (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &R, const Real &c, const Real &s, utility::vector1< utility::fixedsizearray1< Real, 3 > > &Rz)
 
void bridgeObjects (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &atoms, const utility::vector1< Real > &dt, const utility::vector1< Real > &da, const utility::vector1< Real > &db, const utility::vector1< int > &pivots, const utility::vector1< int > &order, utility::vector1< utility::vector1< Real > > &t_ang, utility::vector1< utility::vector1< Real > > &b_ang, utility::vector1< utility::vector1< Real > > &b_len, int &nsol)
 Solve the triaxial loop closure problem for a system of atoms. More...
 
void test_bridgeObjects ()
 
void test_rotateX ()
 
void test_chainTORS ()
 
void test_chainXYZ ()
 
void test_chainParams ()
 
void test_torsion ()
 
void test_bondangle ()
 
void test_scpn ()
 
void test_eucDistance ()
 
void test_frame ()
 
void test_cross ()
 
void test_triaxialCoefficients ()
 
void test_sincos ()
 
void test_triangle ()
 
void chainXYZ (const int &n, const utility::vector1< numeric::Real > &b_len, const utility::vector1< numeric::Real > &b_ang, const utility::vector1< numeric::Real > &t_ang, const bool space, const utility::vector1< numeric::Real > &R0, const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &Q, utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &atoms)
 
void bridgeObjects_nonredundant (const utility::vector1< utility::fixedsizearray1< Real, 3 > > &stub1, const utility::vector1< utility::fixedsizearray1< Real, 3 > > &stub2, const utility::vector1< numeric::Real > &torsions_chain1, const utility::vector1< numeric::Real > &torsions_chain2, const utility::vector1< numeric::Real > &angles, const utility::vector1< numeric::Real > &bonds, utility::vector1< utility::vector1< Real > > &pivot_torsions, int &nsol)
 Nonredundant version of the bridgeObject function stub1 are the coordinates of the first pivot and 2 atoms preceeding it; stub2 are the coordinates of the third pivot and 2 atoms after it; torsions_chain1 are the torsions from pivot1 to pivot2, which has a length of (pivot2 - pivot1 - 2); torsions_chain2 are the torsions from pivot2 to pivot3, which has a length of (pivot3 - pivot2 - 2); angles are the bond angles from pivot1 to pivot3, which has a length of (pivot3 - pivot1 + 1); bonds are the bond lengths from pivot1 to pivot3, which has a length of (pivot3 - pivot1); pivot_torsions are the solutions of pivot tosions whose dimension is nsol * 6 where nsol is the number of solutions. More...
 
Eigen::IOFormat scipy (8, 0,", ",",\n","[","]","[","]")
 
void point_value2 (const utility::fixedsizearray1< Real, 3 > &A, const utility::vector1< Real > &t, utility::vector1< Real > &C)
 dixon functions /// More...
 
void point_value4 (const utility::vector1< Real > &A, const utility::vector1< Real > &t, utility::vector1< Real > &C)
 
void point_value6 (const utility::vector1< Real > &B, const utility::vector1< Real > &t, utility::vector1< Real > &C)
 
void point_value8 (const utility::vector1< Real > &A, const utility::vector1< Real > &t, utility::vector1< Real > &C)
 
void point_value16 (const utility::vector1< Real > &A, const utility::vector1< Real > &t, utility::vector1< Real > &C)
 
void polyProduct2x2 (const utility::fixedsizearray1< Real, 3 > &A, const utility::fixedsizearray1< Real, 3 > &B, utility::vector1< Real > &C)
 
void polyProduct4x2 (const utility::vector1< Real > &A, const utility::fixedsizearray1< Real, 3 > &B, utility::vector1< Real > &C)
 
void polyProduct4x4 (const utility::vector1< Real > &A, const utility::vector1< Real > &B, utility::vector1< Real > &C)
 
void polyProduct4sq (const utility::vector1< Real > &A, utility::vector1< Real > &C)
 
void polyProduct6x6 (const utility::vector1< Real > &A, const utility::vector1< Real > &B, utility::vector1< Real > &C)
 
void polyProduct12x4 (const utility::vector1< Real > &A, const utility::vector1< Real > &B, utility::vector1< Real > &C)
 
void polyProduct8x8 (const utility::vector1< Real > &A, const utility::vector1< Real > &B, utility::vector1< Real > &C)
 
void polyProduct8sq (const utility::vector1< Real > &A, utility::vector1< Real > &C)
 
void vectorDiff (const utility::vector1< Real > &A, const utility::vector1< Real > &B, utility::vector1< Real > &C)
 
void dixonResultant (const utility::vector1< utility::vector1< Real > > &A, const utility::vector1< utility::vector1< Real > > &B, const utility::vector1< utility::vector1< Real > > &C, const utility::vector1< utility::vector1< Real > > &D, utility::vector1< utility::vector1< utility::vector1< Real > > > &R)
 
void build_dixon_matrices (PseudoMatrix const &A, PseudoMatrix const &B, PseudoMatrix const &C, PseudoMatrix const &D, Matrix8 &R0, Matrix8 &R1, Matrix8 &R2)
 
void build_sin_and_cos (utility::vector1< PseudoVector > const &u, utility::vector1< PseudoVector > &sin, utility::vector1< PseudoVector > &cos)
 
void dixon_eig (PseudoMatrix const &A, PseudoMatrix const &B, PseudoMatrix const &C, PseudoMatrix const &D, vector1< int > const &, utility::vector1< utility::fixedsizearray1< Real, 3 > > &cos, utility::vector1< utility::fixedsizearray1< Real, 3 > > &sin, utility::vector1< utility::fixedsizearray1< Real, 3 > > &u, int &num_solutions)
 
void dixon_sturm (const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &A, const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &B, const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &C, const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &D, const utility::vector1< int > &order, utility::vector1< utility::fixedsizearray1< Real, 3 > > &cos, utility::vector1< utility::fixedsizearray1< Real, 3 > > &sin, utility::vector1< utility::fixedsizearray1< Real, 3 > > &tau, int &nsol)
 
void test_point_value2 ()
 
void test_polyProduct6x6 ()
 
void test_polyProduct4sq ()
 
void test_polyProduct4x4 ()
 
void test_polyProduct4x2 ()
 
void test_polyProduct2x2 ()
 
void test_dixon ()
 
void dixon_eig (const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &A, const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &B, const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &C, const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &D, const utility::vector1< int > &order, utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &cos, utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &sin, utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &tau, int &nsol)
 
bool vectorsEqual (const utility::vector1< Real > &A, const utility::vector1< Real > &B)
 
template<class Iterable >
void printVector (const Iterable &V)
 helper functions /// More...
 
template<class MatrixLike >
void printMatrix (const MatrixLike &M)
 prints the matrix More...
 
template<class MatrixLike >
void printTranspose (const MatrixLike &M)
 
template<Size rows>
void multMatrix (const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, rows >, rows > &A, const utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &B, utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &C)
 
template<Size rows>
void multTransMatrix (const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, rows >, rows > &A, const utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &B, utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &C)
 
void initialize_sturm (double *tol_secant, int *max_iter_sturm, int *max_iter_secant)
 
double hyper_tan (double a, double x)
 
int modp (poly *u, poly *v, poly *r)
 
int buildsturm (int ord, poly *sseq)
 
int numroots (int np, poly *sseq, int *atneg, int *atpos)
 
double evalpoly (int ord, double *coef, double x)
 
int numchanges (int np, poly *sseq, double a)
 
int modrf (int ord, double *coef, double a, double b, double *val)
 
void sbisect (int np, poly *sseq, double min, double max, int atmin, int atmax, double *roots)
 
void solve_sturm (const int &p_order, int &n_root, const utility::vector1< double > &poly_coeffs, utility::vector1< double > &roots)
 
Real dot (Coordinate const &a, Coordinate const &b)
 
Coordinate cross (Coordinate const &a, Coordinate const &b)
 
Coordinate norm (Coordinate const &a)
 
std::ostream & operator<< (std::ostream &out, ParameterList const &x)
 
std::ostream & operator<< (std::ostream &out, ParameterMatrix const &xx)
 
Coordinate operator+ (Coordinate const &a, Coordinate const &b)
 
Coordinate operator- (Coordinate const &a, Coordinate const &b)
 
Coordinate operator* (Coordinate const &a, Real const &k)
 
Coordinate operator* (Real const &k, Coordinate const &a)
 
Coordinate operator/ (Coordinate const &a, Real const &k)
 
Coordinate operator/ (Real const &k, Coordinate const &a)
 
template<class T >
Coordinateoperator<< (Coordinate &a, xyzVector< T > const &b)
 
template<class T >
xyzVector< T > & operator<< (xyzVector< T > &a, Coordinate const &b)
 

Variables

string skipl = "\n\n"
 
double RELERROR
 
int MAXIT
 
int MAX_ITER_SECANT
 

Typedef Documentation

Function Documentation

numeric::Real numeric::kinematic_closure::bondangle ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b,
const utility::fixedsizearray1< Real, 3 > &  c 
)

References eucDistance(), rad2deg, and scpn().

Referenced by chainParams(), chainTORS(), and test_bondangle().

void numeric::kinematic_closure::bridgeObjects ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms,
const utility::vector1< Real > &  dt,
const utility::vector1< Real > &  da,
const utility::vector1< Real > &  db,
const utility::vector1< int > &  pivots,
const utility::vector1< int > &  order,
utility::vector1< utility::vector1< Real > > &  t_ang,
utility::vector1< utility::vector1< Real > > &  b_ang,
utility::vector1< utility::vector1< Real > > &  b_len,
int nsol 
)

Solve the triaxial loop closure problem for a system of atoms.

Parameters
[in]atoms- matrix of cartesian coordiantes of N-CA-C atoms indexed as atoms[atom][dimension]
[in]dt- desired torsions for each atom
[in]da- desired bond angle for each atom
[in]db- desired bond length for each atom
[in]pivots- 3 indices (base 1) of atoms to be used as loop closure pivots
[in]order- length 3 vector giving order to solve for the tau parameters (use 1,2,3 if unsure)
[out]t_ang- matrix giving torsion angles for each atom for each solution, indexed as t_ang[solution][atom]
[out]b_ang- matrix giving bond angles for each atom for each solution, indexed as b_ang[solution][atom]
[out]b_len- matrix giving bond lengths for each atom for each solution, indexed as b_len[solution][atom]
[out]nsol- number of solutions found
Global Read:
Global Write:
Returns
Remarks
dt, da, and db are cast to Real precision when placed in t_ang1,2, b_ang1,2 and b_len1,2. Solution is carried out in Real precision. Solutions are cast back to Reals when placed into t_ang.
References:
Author
Evangelos A. Coutsias
Daniel J. Mandell

References ObjexxFCL::format::A(), erraser_analysis::atoms, C, chainParams(), chainXYZ(), basic::options::OptionKeys::out::path::db, deg2rad, dixon_eig(), demo.D060_Folding::f, basic::options::OptionKeys::frags::j, test.G201_Module_Structure::l1, test.G200_Module_Region::loop, multMatrix(), multTransMatrix(), rotateX(), rotateZ(), torsion(), and triaxialCoefficients().

Referenced by bridgeObjects_nonredundant(), and test_bridgeObjects().

void numeric::kinematic_closure::bridgeObjects_nonredundant ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  stub1,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  stub2,
const utility::vector1< numeric::Real > &  torsions_chain1,
const utility::vector1< numeric::Real > &  torsions_chain2,
const utility::vector1< numeric::Real > &  angles,
const utility::vector1< numeric::Real > &  bonds,
utility::vector1< utility::vector1< Real > > &  pivot_torsions,
int nsol 
)

Nonredundant version of the bridgeObject function stub1 are the coordinates of the first pivot and 2 atoms preceeding it; stub2 are the coordinates of the third pivot and 2 atoms after it; torsions_chain1 are the torsions from pivot1 to pivot2, which has a length of (pivot2 - pivot1 - 2); torsions_chain2 are the torsions from pivot2 to pivot3, which has a length of (pivot3 - pivot2 - 2); angles are the bond angles from pivot1 to pivot3, which has a length of (pivot3 - pivot1 + 1); bonds are the bond lengths from pivot1 to pivot3, which has a length of (pivot3 - pivot1); pivot_torsions are the solutions of pivot tosions whose dimension is nsol * 6 where nsol is the number of solutions.

References erraser_analysis::atoms, bridgeObjects(), basic::options::OptionKeys::out::path::db, and basic::options::OptionKeys::frags::j.

void numeric::kinematic_closure::build_dixon_matrices ( PseudoMatrix const &  A,
PseudoMatrix const &  B,
PseudoMatrix const &  C,
PseudoMatrix const &  D,
Matrix8 R0,
Matrix8 R1,
Matrix8 R2 
)

Referenced by dixon_eig().

void numeric::kinematic_closure::build_sin_and_cos ( utility::vector1< PseudoVector > const &  u,
utility::vector1< PseudoVector > &  sin,
utility::vector1< PseudoVector > &  cos 
)
int numeric::kinematic_closure::buildsturm ( int  ord,
poly *  sseq 
)
inline
void numeric::kinematic_closure::chainParams ( const int n,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms,
Real &  vbond,
Real &  xi,
Real &  eta,
Real &  delta,
utility::fixedsizearray1< Real, 3 > &  R0,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  Q 
)
void numeric::kinematic_closure::chainTORS ( const int n,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms,
utility::vector1< Real > &  t_ang,
utility::vector1< Real > &  b_ang,
utility::vector1< Real > &  b_len,
utility::fixedsizearray1< Real, 3 > &  R0,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  Q 
)
void numeric::kinematic_closure::chainXYZ ( const int n,
const utility::vector1< numeric::Real > &  b_len,
const utility::vector1< numeric::Real > &  b_ang,
const utility::vector1< numeric::Real > &  t_ang,
const bool  space,
const utility::vector1< numeric::Real > &  R0,
const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, 3 >, 3 > &  Q,
utility::vector1< utility::fixedsizearray1< numeric::Real, 3 > > &  atoms 
)
void numeric::kinematic_closure::chainXYZ ( const int n,
const utility::vector1< Real > &  b_len1,
const utility::vector1< Real > &  b_ang1,
const utility::vector1< Real > &  t_ang1,
const bool  space,
const utility::fixedsizearray1< Real, 3 > &  R0,
const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Q,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms 
)
void numeric::kinematic_closure::chainXYZ ( const int n,
const utility::vector1< Real > &  b_len,
const utility::vector1< Real > &  b_ang,
const utility::vector1< Real > &  t_ang,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  atoms 
)
Coordinate numeric::kinematic_closure::cross ( Coordinate const &  a,
Coordinate const &  b 
)
void numeric::kinematic_closure::cross ( const utility::fixedsizearray1< Real, 3 > &  L,
const utility::fixedsizearray1< Real, 3 > &  r0,
utility::fixedsizearray1< Real, 3 > &  r 
)

Referenced by frame(), test_cross(), and torsion().

void numeric::kinematic_closure::dixon_eig ( PseudoMatrix const &  A,
PseudoMatrix const &  B,
PseudoMatrix const &  C,
PseudoMatrix const &  D,
vector1< int > const &  ,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  cos,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  sin,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  u,
int num_solutions 
)
void numeric::kinematic_closure::dixon_sturm ( const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  A,
const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  B,
const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  C,
const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  D,
const utility::vector1< int > &  order,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  cos,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  sin,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  tau,
int nsol 
)
void numeric::kinematic_closure::dixonResultant ( const utility::vector1< utility::vector1< Real > > &  A,
const utility::vector1< utility::vector1< Real > > &  B,
const utility::vector1< utility::vector1< Real > > &  C,
const utility::vector1< utility::vector1< Real > > &  D,
utility::vector1< utility::vector1< utility::vector1< Real > > > &  R 
)

References C, DIXON_RESULTANT_SIZE, and DIXON_SIZE.

Real numeric::kinematic_closure::dot ( Coordinate const &  a,
Coordinate const &  b 
)
Real numeric::kinematic_closure::eucDistance ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b 
)
double numeric::kinematic_closure::evalpoly ( int  ord,
double coef,
double  x 
)
inline

References demo.D060_Folding::f.

Referenced by numchanges().

void numeric::kinematic_closure::frame ( const utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  R,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  U 
)
double numeric::kinematic_closure::hyper_tan ( double  a,
double  x 
)
inline
void numeric::kinematic_closure::initialize_sturm ( double tol_secant,
int max_iter_sturm,
int max_iter_secant 
)
inline

References MAX_ITER_SECANT, MAXIT, and RELERROR.

Referenced by dixon_sturm().

int numeric::kinematic_closure::modp ( poly *  u,
poly *  v,
poly *  r 
)
inline
int numeric::kinematic_closure::modrf ( int  ord,
double coef,
double  a,
double  b,
double val 
)
inline
template<Size rows>
void numeric::kinematic_closure::multMatrix ( const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, rows >, rows > &  A,
const utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &  B,
utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &  C 
)
template<Size rows>
void numeric::kinematic_closure::multTransMatrix ( const utility::fixedsizearray1< utility::fixedsizearray1< numeric::Real, rows >, rows > &  A,
const utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &  B,
utility::vector1< utility::fixedsizearray1< numeric::Real, rows > > &  C 
)
Coordinate numeric::kinematic_closure::norm ( Coordinate const &  a)
int numeric::kinematic_closure::numchanges ( int  np,
poly *  sseq,
double  a 
)
inline
int numeric::kinematic_closure::numroots ( int  np,
poly *  sseq,
int atneg,
int atpos 
)
inline
Coordinate numeric::kinematic_closure::operator* ( Coordinate const &  a,
Real const &  k 
)
Coordinate numeric::kinematic_closure::operator* ( Real const &  k,
Coordinate const &  a 
)
Coordinate numeric::kinematic_closure::operator+ ( Coordinate const &  a,
Coordinate const &  b 
)
Coordinate numeric::kinematic_closure::operator- ( Coordinate const &  a,
Coordinate const &  b 
)
Coordinate numeric::kinematic_closure::operator/ ( Coordinate const &  a,
Real const &  k 
)
Coordinate numeric::kinematic_closure::operator/ ( Real const &  k,
Coordinate const &  a 
)
std::ostream & numeric::kinematic_closure::operator<< ( std::ostream &  out,
ParameterList const &  x 
)
template<class T >
Coordinate& numeric::kinematic_closure::operator<< ( Coordinate &  a,
xyzVector< T > const &  b 
)
template<class T >
xyzVector<T>& numeric::kinematic_closure::operator<< ( xyzVector< T > &  a,
Coordinate const &  b 
)
std::ostream & numeric::kinematic_closure::operator<< ( std::ostream &  out,
ParameterMatrix const &  xx 
)
void numeric::kinematic_closure::point_value16 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  t,
utility::vector1< Real > &  C 
)
void numeric::kinematic_closure::point_value2 ( const utility::fixedsizearray1< Real, 3 > &  A,
const utility::vector1< Real > &  t,
utility::vector1< Real > &  C 
)

dixon functions ///

Referenced by dixon_sturm(), and test_point_value2().

void numeric::kinematic_closure::point_value4 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  t,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

void numeric::kinematic_closure::point_value6 ( const utility::vector1< Real > &  B,
const utility::vector1< Real > &  t,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

void numeric::kinematic_closure::point_value8 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  t,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

void numeric::kinematic_closure::polyProduct12x4 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  B,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

void numeric::kinematic_closure::polyProduct2x2 ( const utility::fixedsizearray1< Real, 3 > &  A,
const utility::fixedsizearray1< Real, 3 > &  B,
utility::vector1< Real > &  C 
)

References PP4x2_VECSIZE.

Referenced by dixon_sturm(), and test_polyProduct2x2().

void numeric::kinematic_closure::polyProduct4sq ( const utility::vector1< Real > &  A,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm(), and test_polyProduct4sq().

void numeric::kinematic_closure::polyProduct4x2 ( const utility::vector1< Real > &  A,
const utility::fixedsizearray1< Real, 3 > &  B,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm(), and test_polyProduct4x2().

void numeric::kinematic_closure::polyProduct4x4 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  B,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm(), and test_polyProduct4x4().

void numeric::kinematic_closure::polyProduct6x6 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  B,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm(), and test_polyProduct6x6().

void numeric::kinematic_closure::polyProduct8sq ( const utility::vector1< Real > &  A,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

void numeric::kinematic_closure::polyProduct8x8 ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  B,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

template<class MatrixLike >
void numeric::kinematic_closure::printMatrix ( const MatrixLike &  M)

prints the matrix

This function used to intentionally print the transpose of the matrix. The rational was that "we use row-major indexing". That didn't make any sense to me, and I'd been mislead by the implicit transpose a couple of times, so I got rid of it.

References utility::io::oc::cout.

Referenced by test_chainParams(), test_chainTORS(), test_chainXYZ(), test_dixon(), test_frame(), test_rotateX(), and test_triaxialCoefficients().

template<class MatrixLike >
void numeric::kinematic_closure::printTranspose ( const MatrixLike &  M)
template<class Iterable >
void numeric::kinematic_closure::printVector ( const Iterable &  V)
void numeric::kinematic_closure::rotateX ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  R,
const Real &  c,
const Real &  s,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Rx 
)

Referenced by bridgeObjects(), and test_rotateX().

void numeric::kinematic_closure::rotateY ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  R,
const Real &  c,
const Real &  s,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Ry 
)
void numeric::kinematic_closure::rotateZ ( const utility::vector1< utility::fixedsizearray1< Real, 3 > > &  R,
const Real &  c,
const Real &  s,
utility::vector1< utility::fixedsizearray1< Real, 3 > > &  Rz 
)

Referenced by bridgeObjects().

void numeric::kinematic_closure::sbisect ( int  np,
poly *  sseq,
double  min,
double  max,
int  atmin,
int  atmax,
double roots 
)
inline
Eigen::IOFormat numeric::kinematic_closure::scipy ( ,
,
,
,
,
\n"  ,
""  [","],
""  [","] 
)
Real numeric::kinematic_closure::scpn ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b,
const utility::fixedsizearray1< Real, 3 > &  c 
)

Referenced by bondangle(), and test_scpn().

void numeric::kinematic_closure::sincos ( const utility::fixedsizearray1< Real, 3 > &  theta,
const int  flag,
utility::fixedsizearray1< Real, 3 > &  cosine,
utility::fixedsizearray1< Real, 3 > &  sine 
)
void numeric::kinematic_closure::sincos ( const utility::fixedsizearray1< Real, 3 > &  theta,
const int  flag,
utility::fixedsizearray1< Real, 4 > &  cosine,
utility::fixedsizearray1< Real, 4 > &  sine 
)
void numeric::kinematic_closure::solve_sturm ( const int p_order,
int n_root,
const utility::vector1< double > &  poly_coeffs,
utility::vector1< double > &  roots 
)
inline
void numeric::kinematic_closure::test_bondangle ( )
void numeric::kinematic_closure::test_bridgeObjects ( )
void numeric::kinematic_closure::test_chainParams ( )
void numeric::kinematic_closure::test_chainTORS ( )
void numeric::kinematic_closure::test_chainXYZ ( )
void numeric::kinematic_closure::test_cross ( )
void numeric::kinematic_closure::test_dixon ( )
void numeric::kinematic_closure::test_eucDistance ( )
void numeric::kinematic_closure::test_frame ( )
void numeric::kinematic_closure::test_point_value2 ( )
void numeric::kinematic_closure::test_polyProduct2x2 ( )
void numeric::kinematic_closure::test_polyProduct4sq ( )
void numeric::kinematic_closure::test_polyProduct4x2 ( )
void numeric::kinematic_closure::test_polyProduct4x4 ( )
void numeric::kinematic_closure::test_polyProduct6x6 ( )
void numeric::kinematic_closure::test_rotateX ( )
void numeric::kinematic_closure::test_scpn ( )
void numeric::kinematic_closure::test_sincos ( )

References sincos().

void numeric::kinematic_closure::test_torsion ( )
void numeric::kinematic_closure::test_triangle ( )

References printVector(), and triangle().

void numeric::kinematic_closure::test_triaxialCoefficients ( )
numeric::Real numeric::kinematic_closure::torsion ( const utility::fixedsizearray1< Real, 3 > &  a,
const utility::fixedsizearray1< Real, 3 > &  b,
const utility::fixedsizearray1< Real, 3 > &  c,
const utility::fixedsizearray1< Real, 3 > &  d 
)
void numeric::kinematic_closure::triangle ( const utility::fixedsizearray1< Real, 3 > &  vbond,
utility::fixedsizearray1< Real, 3 > &  calpha,
utility::fixedsizearray1< Real, 3 > &  salpha 
)
void numeric::kinematic_closure::triangle ( const utility::fixedsizearray1< Real, 3 > &  vbond,
utility::fixedsizearray1< Real, 4 > &  calpha,
utility::fixedsizearray1< Real, 4 > &  salpha 
)
void numeric::kinematic_closure::triaxialCoefficients ( const utility::fixedsizearray1< Real, 3 > &  vb,
const utility::fixedsizearray1< Real, 3 > &  xi,
const utility::fixedsizearray1< Real, 3 > &  eta,
const utility::fixedsizearray1< Real, 3 > &  delta,
const utility::fixedsizearray1< Real, 3 > &  theta,
const utility::vector1< int > &  order,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  A,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  B,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  C,
utility::fixedsizearray1< utility::fixedsizearray1< Real, 3 >, 3 > &  D,
utility::fixedsizearray1< Real, 3 > &  cal,
utility::fixedsizearray1< Real, 3 > &  sal,
int f 
)
void numeric::kinematic_closure::vectorDiff ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  B,
utility::vector1< Real > &  C 
)

Referenced by dixon_sturm().

bool numeric::kinematic_closure::vectorsEqual ( const utility::vector1< Real > &  A,
const utility::vector1< Real > &  B 
)

References ObjexxFCL::abs(), and SMALL.

Variable Documentation

int numeric::kinematic_closure::MAX_ITER_SECANT

Referenced by initialize_sturm(), and modrf().

int numeric::kinematic_closure::MAXIT

Referenced by initialize_sturm(), and sbisect().

double numeric::kinematic_closure::RELERROR

Referenced by initialize_sturm(), modrf(), and sbisect().

string numeric::kinematic_closure::skipl = "\n\n"