Rosetta
|
Namespaces | |
periodic_range | |
spline | |
Classes | |
class | Histogram |
A histogram with fixed-width bins. More... | |
struct | HistogramOP |
struct | HistogramCOP |
struct | HistogramAP |
struct | HistogramCAP |
class | InterpolatedPotential |
struct | TempStruct |
struct | TempStruct< T, 1 > |
Enumerations | |
enum | CatmullRomSplineBoundaryType { PERIODIC , FLAT , LINEAR } |
enum class | SplineFromStreamMode { none = 0 , x_axis , y_axis , lb_or_ub_function } |
A little helper enum to determine what I'm reading right now in the spline_from_stream() function. More... | |
Functions | |
template<Size N> | |
void | polycubic_interpolation (numeric::interpolation::InterpolatedPotential< N > const &interpolated_potential, utility::fixedsizearray1< Real, N > const &values, Real &score, utility::fixedsizearray1< Real, N > &dscoreddof) |
template<typename X , typename F > | |
F | interpolated (X const &x, X const &x1, X const &x2, F const &f1, F const &f2) |
Linearly interpolated value: f( x ) More... | |
template<typename X , typename F > | |
F | interpolated (X const &a, F const &f1, F const &f2) |
Linearly interpolated value: f( x ) More... | |
template<typename X , typename F > | |
F | interpolated_delta (X const &a, F const &f1, F const &f2) |
Linearly interpolated delta value: f( x ) - f1. More... | |
template<typename X , typename Y , typename F > | |
F | bilinearly_interpolated (X const &x, X const &x1, X const &x2, Y const &y, Y const &y1, Y const &y2, F const &f11, F const &f12, F const &f21, F const &f22) |
Bilinearly interpolated value: f( x, y ) More... | |
template<typename X , typename Y , typename F > | |
F | bilinearly_interpolated (X const &ax, Y const &ay, F const &f11, F const &f12, F const &f21, F const &f22) |
Bilinearly interpolated value. More... | |
template<typename X , typename Y , typename F > | |
F | bilinearly_interpolated (X const &ax, Y const &ay, X const &bx, Y const &by, F const &f11, F const &f12, F const &f21, F const &f22) |
Bilinearly interpolated value. More... | |
template<typename T , numeric::Size N> | |
Real | multilinear_interpolation (MathNTensor< T, N > const &tensor, utility::fixedsizearray1< Real, N > const &minval, utility::fixedsizearray1< Real, N > const &binwidth, utility::fixedsizearray1< Real, N > const &xs, utility::fixedsizearray1< Real, N > &deriv, bool const &compute_deriv=true) |
Perform multilinear interpolation over an N-dimensional tensor, with derivatives. More... | |
template<typename T , numeric::Size N> | |
numeric::Real | multilinear_interpolation (numeric::MathNTensor< T, N > const &tensor, utility::fixedsizearray1< numeric::Real, N > const &minval, utility::fixedsizearray1< numeric::Real, N > const &binwidth, utility::fixedsizearray1< numeric::Real, N > const &xs) |
Perform multilinear interpolation over an N-dimensional tensor (without derivative computation) More... | |
template<Size N> | |
void | polycubic_interpolation (utility::fixedsizearray1< utility::fixedsizearray1< Real,(1<< N) >,(1<< N) > n_derivs, utility::fixedsizearray1< Real, N > dbbp, utility::fixedsizearray1< Real, N > binwbb, Real &val, utility::fixedsizearray1< Real, N > &dvaldbb) |
Perform cubic interpolation over each of N axes, using the 2^N derivatives at 2^N gridpoints. More... | |
std::string | to_string (CatmullRomSplineBoundaryType const &type) |
template<typename T > | |
T | catmull_rom_interpolate_basic (utility::fixedsizearray1< T, 4 > const &p, Real const &x, Real &dval_dx, utility::fixedsizearray1< T, 4 > &dval_dp, bool const compute_deriv=true) |
template<typename T > | |
T | catmull_rom_interpolate_basic (utility::fixedsizearray1< T, 4 > const &p, T const &x, T &dval_dx, bool const compute_deriv=true) |
template<typename T > | |
T | catmull_rom_interpolate_basic (utility::fixedsizearray1< T, 4 > const &p, T const &x) |
template<typename T , numeric::Size N> | |
T | catmull_rom_interpolate (utility::fixedsizearray1< T, 1<<(2 *N) > const &F_patch, utility::fixedsizearray1< T, N > const &d, utility::fixedsizearray1< T, N > &deriv, bool const compute_deriv) |
template<typename T , numeric::Size N> | |
T | get_val (MathNTensor< T, N > const &F, utility::fixedsizearray1< int, N > &idx, utility::fixedsizearray1< CatmullRomSplineBoundaryType, N > const &boundary, Size const which_dim) |
template<typename T , numeric::Size N> | |
void | get_patch (utility::fixedsizearray1< T, 1<<(2 *N) > &F_patch, utility::fixedsizearray1< Real, N > &d, MathNTensor< T, N > const &F, utility::fixedsizearray1< Real, N > const &minval, utility::fixedsizearray1< Real, N > const &binwidth, utility::fixedsizearray1< Real, N > const &xs, utility::fixedsizearray1< CatmullRomSplineBoundaryType, N > const &boundary) |
template<typename T , numeric::Size N> | |
T | polycubic_interpolate_catmull_rom (MathNTensor< T, N > const &F, utility::fixedsizearray1< Real, N > const &minval, utility::fixedsizearray1< Real, N > const &binwidth, utility::fixedsizearray1< Real, N > const &xs, utility::fixedsizearray1< CatmullRomSplineBoundaryType, N > const &boundary, utility::fixedsizearray1< Real, N > &deriv, bool const &compute_deriv=true) |
Catmull-Rom spline interpolation of an N-dimensional tensor defined on a equispaced grid. More... | |
template<typename T , numeric::Size N> | |
T | polycubic_interpolate_catmull_rom (MathNTensor< T, N > const &F, utility::fixedsizearray1< Real, N > const &minval, utility::fixedsizearray1< Real, N > const &binwidth, utility::fixedsizearray1< Real, N > const &xs, utility::fixedsizearray1< CatmullRomSplineBoundaryType, N > const &boundary) |
Catmull-Rom spline interpolation of an N-dimensional tensor defined on a equispaced grid, without derivative computation. More... | |
spline::SplineGenerator | make_spline (utility::vector1< platform::Real > const &bins_vect, utility::vector1< platform::Real > const &potential_vect, platform::Real const bin_size, utility::vector1< std::tuple< std::string, platform::Real, platform::Real, platform::Real >> const &boundary_functions=utility::vector1< std::tuple< std::string, platform::Real, platform::Real, platform::Real >>()) |
given a file, return a 2D spline More... | |
spline::SplineGenerator | spline_from_file (std::string const &filename, platform::Real const bin_size) |
spline::SplineGenerator | spline_from_stream (std::istream &iss, platform::Real const bin_size) |
Initialize a SplineGenerator from a std::istream. Note: only reads from the currenet line of the istream. More... | |
|
strong |
A little helper enum to determine what I'm reading right now in the spline_from_stream() function.
Enumerator | |
---|---|
none | |
x_axis | |
y_axis | |
lb_or_ub_function |
|
inline |
Bilinearly interpolated value.
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::ax, and spectral_cluster_kmeans_adaptive_kernel_density_bb_dependent_rotlib::Y.
|
inline |
Bilinearly interpolated value.
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::ax, numeric::eq_tol(), and spectral_cluster_kmeans_adaptive_kernel_density_bb_dependent_rotlib::Y.
|
inline |
Bilinearly interpolated value: f( x, y )
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::ax, x, predPRE::y, spectral_cluster_kmeans_adaptive_kernel_density_bb_dependent_rotlib::Y, y1, and y2.
|
inline |
Referenced by polycubic_interpolate_catmull_rom().
|
inline |
|
inline |
|
inline |
|
inline |
References kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, ObjexxFCL::format::F(), get_val(), kmeans_adaptive_kernel_density_bb_dependent_rotlib::idx, enumerate_junctions::int, create_a3b_hbs::k, kmeans_adaptive_kernel_density_bb_dependent_rotlib::n, N, ObjexxFCL::pow(), runtime_assert, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::xs.
Referenced by polycubic_interpolate_catmull_rom().
|
inline |
|
inline |
Linearly interpolated value: f( x )
References a, and vancomycin::f2.
|
inline |
Linearly interpolated value: f( x )
References vancomycin::f2, and x.
Referenced by numeric::interpolation::Histogram< X, Y >::interpolate_linear(), numeric::interpolation::periodic_range::full::interpolated(), and numeric::interpolation::periodic_range::half::interpolated().
|
inline |
Linearly interpolated delta value: f( x ) - f1.
References a, and vancomycin::f2.
spline::SplineGenerator numeric::interpolation::make_spline | ( | utility::vector1< platform::Real > const & | bins_vect, |
utility::vector1< platform::Real > const & | potential_vect, | ||
platform::Real const | bin_size, | ||
utility::vector1< std::tuple< std::string, platform::Real, platform::Real, platform::Real >> const & | boundary_functions | ||
) |
given a file, return a 2D spline
Easier make a spline wrapper from code
References numeric::interpolation::spline::SplineGenerator::add_boundary_function(), numeric::interpolation::spline::SplineGenerator::add_known_value(), a3b_test::bin_size, challenge::ss, and utility_exit_with_message.
Referenced by spline_from_file(), and spline_from_stream().
Real numeric::interpolation::multilinear_interpolation | ( | MathNTensor< T, N > const & | tensor, |
utility::fixedsizearray1< Real, N > const & | minval, | ||
utility::fixedsizearray1< Real, N > const & | binwidth, | ||
utility::fixedsizearray1< Real, N > const & | xs, | ||
utility::fixedsizearray1< Real, N > & | deriv, | ||
bool const & | compute_deriv = true |
||
) |
Perform multilinear interpolation over an N-dimensional tensor, with derivatives.
Straightforward generalization of bilinear interpolation. Currently extrapolates linearly when asked for point outside tensor range TODO: allow periodic; allow different extrapolation behavior (e.g., constant).
[in] | tensor | is the data array, using MathNTensor |
[in] | minval | is the tensor's minimum value in each direction. |
[in] | binwidth | is the bin width in each direction |
[in] | xs | is the position |
[out] | deriv | is the interpolated derivative |
[in] | compute_deriv | – set to false to reduce computation |
References a, numeric::interpolation::periodic_range::half::bin(), create_a3b_hbs::i, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, max(), min(), kmeans_adaptive_kernel_density_bb_dependent_rotlib::n, N, numeric::MathNTensor< T, N >::n_bins(), offset, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::xs.
Referenced by check_multilinear_interpolation(), and multilinear_interpolation().
|
inline |
Perform multilinear interpolation over an N-dimensional tensor (without derivative computation)
Straightforward generalization of bilinear interpolation. Currently extrapolates linearly when asked for point outside tensor range TODO: allow periodic; allow different extrapolation behavior (e.g., constant).
[in] | tensor | is the data array, using MathNTensor |
[in] | minval | is the tensor's minimum value in each direction. |
[in] | xs | is the position at which to evaluate spline |
[in] | binwidth | is the bin width in each direction |
References multilinear_interpolation(), and kmeans_adaptive_kernel_density_bb_dependent_rotlib::xs.
|
inline |
Catmull-Rom spline interpolation of an N-dimensional tensor defined on a equispaced grid, without derivative computation.
References ObjexxFCL::format::F(), polycubic_interpolate_catmull_rom(), and kmeans_adaptive_kernel_density_bb_dependent_rotlib::xs.
|
inline |
Catmull-Rom spline interpolation of an N-dimensional tensor defined on a equispaced grid.
References catmull_rom_interpolate(), ObjexxFCL::format::F(), get_patch(), kmeans_adaptive_kernel_density_bb_dependent_rotlib::n, N, pyrosetta.distributed.cluster.exceptions::T, and kmeans_adaptive_kernel_density_bb_dependent_rotlib::xs.
Referenced by polycubic_interpolate_catmull_rom(), and test_numerical_deriv().
void numeric::interpolation::polycubic_interpolation | ( | numeric::interpolation::InterpolatedPotential< N > const & | interpolated_potential, |
utility::fixedsizearray1< Real, N > const & | values, | ||
Real & | score, | ||
utility::fixedsizearray1< Real, N > & | dscoreddof | ||
) |
References numeric::interpolation::InterpolatedPotential< N >::axis_range(), numeric::interpolation::InterpolatedPotential< N >::bin_width(), bin_torsions::bins, numeric::interpolation::InterpolatedPotential< N >::get_indices(), numeric::interpolation::InterpolatedPotential< N >::grid_size(), create_a3b_hbs::ii, internal_coordinates::indices, beta_nonlocal::jj, N, and test.T040_Types::values.
void numeric::interpolation::polycubic_interpolation | ( | utility::fixedsizearray1< utility::fixedsizearray1< Real,(1<< N) >,(1<< N) > | n_derivs, |
utility::fixedsizearray1< Real, N > | dbbp, | ||
utility::fixedsizearray1< Real, N > | binwbb, | ||
Real & | val, | ||
utility::fixedsizearray1< Real, N > & | dvaldbb | ||
) |
Perform cubic interpolation over each of N axes, using the 2^N derivatives at 2^N gridpoints.
The way encoding gridpoints and derivatives into a linear structure like this is actually pretty simple. Imagine the "right or left" part of a cube, or the "derivative taken or not" on a particular variable, as zero or one. Then "just the actual function value" maps to 000, the z derivative (for example) maps to 001, d2/dydz maps to 011, etc.
[in] | n_derivs | is a 2^N x 2^N matrix: 2^N derivatives at 2^N gridpoints |
[in] | dbbp | is how far along the bin our target point is, in each direction |
[in] | binwbb | is the bin width in each direction |
[out] | val | is the interpolated value |
[out] | dvaldbb | are the interpolated derivatives |
References create_a3b_hbs::ii, beta_nonlocal::jj, and N.
spline::SplineGenerator numeric::interpolation::spline_from_file | ( | std::string const & | filename, |
platform::Real const | bin_size | ||
) |
read in a file, read out a spline. The file should be tab separated, and have two lines The first field of one line should be "x_axis", the next fields should be the x values of the points for the spline The first field of the other line should be "y_axis", the next fields should be the y values for the points on the spline For an example, see "scoring/constraints/epr_distance_potential.histogram"
References a3b_test::bin_size, count, extract_by_sidechain_sasa_score::cutoff, lactamize::filename, utility::from_string(), getline(), line, make_spline(), PB_potential::potential_file, challenge::ss, utility::string_split(), basic::options::OptionKeys::sc::trim, and utility_exit_with_message.
spline::SplineGenerator numeric::interpolation::spline_from_stream | ( | std::istream & | iss, |
platform::Real const | bin_size | ||
) |
Initialize a SplineGenerator from a std::istream. Note: only reads from the currenet line of the istream.
Assumes that the stream contains only the following: "x_axis" followed by N values – mandatory. "y_axis" followed by N values – mandatory. N must match "xaxis". "lb_function" [cutoff] [slope] [intercept] – optional. "ub_function" [cutoff] [slope] [intercept] – optional.
References a3b_test::bin_size, extract_by_sidechain_sasa_score::cutoff, debug_assert, errmsg(), getline(), test.T008_Serialization::iss, make_spline(), SmotifHasher::mode, none, runtime_assert_string_msg, challenge::ss, x_axis, and y_axis.
|
inline |
References FLAT, LINEAR, and PERIODIC.
Referenced by SSM_energies::apply(), DetectSymmetry::apply(), ExemplarMover::apply(), generate_hbond_geometry::apply(), binder::bind_member_functions_for_call_back(), check_options(), check_pose_length(), determine_allowed_dofs(), devel_main(), format(), binder::function_arguments_for_lambda(), binder::function_arguments_for_py_overload(), binder::Context::generate(), utility::DenseBoolMap< NUM_ELEMS, BASE_INDEX >::get(), get_attachment_point_string(), get_rsrpl(), binder::Context::global_insertion_operator(), system_error::init(), binder::line_number(), basic::mpi::listener_tag_to_name(), utility::options::OptionCollection::load_option_cl(), utility::options::OptionCollection::load_option_file(), main(), apps::pilot::frankdt::main(), utility::excn::Exception::msg(), detail::stringifier::operator()(), output_single_motif(), pdb_id(), prepare_helix_bundles(), prepare_smotifs(), retag(), scan_hbond_jumps(), utility::DenseBoolMap< NUM_ELEMS, BASE_INDEX >::set(), FunctorTest::test_task_upload(), numeric::Quaternion< T >::to_string(), numeric::xyzVector< T >::to_string(), binder::Context::trace_line(), vformat(), detail::vformat(), and vsprintf().