File BSplineTools.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
namespace BSplines
class BSplineTools
#include <BSplineTools.h>

Contains methods that can be used by several B-spline classes.

Public Functions

BSplineTools()

Public Static Functions

static int findIdxOfLeftOrEqualDomainKnot(double u, int p, const Eigen::VectorXd &U)
static int findIdxOfLeftDomainKnot(double u, int p, const Eigen::VectorXd &U)
static int findIdxOfRightDomainKnot(double u, int p, const Eigen::VectorXd &U)
static int findIdxOfRightOrEqualDomainKnot(double u, int p, const Eigen::VectorXd &U)
static double knotAverage(int i, int p, const Eigen::VectorXd &U)
static void normalizeKnotVector(Eigen::VectorXd &knotVector)
static Eigen::VectorXd normalizedKnotVector(const Eigen::VectorXd &knotVector)
static double rescaledKnot(double knot, std::pair<double, double> oldLim, std::pair<double, double> newLim)
static void rescaleKnotVector(Eigen::VectorXd &knotVector, std::pair<double, double> oldLim, std::pair<double, double> newLim)
static Eigen::VectorXd rescaledKnotVector(const Eigen::VectorXd &knotVector, std::pair<double, double> oldLim, std::pair<double, double> newLim)
static int differenceOperator(int i, int j, int kappa)