| LSSTApplications
    20.0.0
    LSSTDataManagementBasePackage | 
 
 
 
Go to the documentation of this file.
   24 #ifndef LSST_MEAS_MODELFIT_Prior_h_INCLUDED 
   25 #define LSST_MEAS_MODELFIT_Prior_h_INCLUDED 
   31 namespace lsst { 
namespace meas { 
namespace modelfit {
 
   48         ndarray::Array<Scalar const,1,1> 
const & nonlinear,
 
   49         ndarray::Array<Scalar const,1,1> 
const & 
amplitudes 
   68         ndarray::Array<Scalar const,1,1> 
const & nonlinear,
 
   69         ndarray::Array<Scalar const,1,1> 
const & 
amplitudes,
 
   70         ndarray::Array<Scalar,1,1> 
const & nonlinearGradient,
 
   71         ndarray::Array<Scalar,1,1> 
const & amplitudeGradient,
 
   72         ndarray::Array<Scalar,2,1> 
const & nonlinearHessian,
 
   73         ndarray::Array<Scalar,2,1> 
const & amplitudeHessian,
 
   74         ndarray::Array<Scalar,2,1> 
const & crossHessian
 
  112         ndarray::Array<Scalar const,1,1> 
const & nonlinear
 
  129         ndarray::Array<Scalar const,1,1> 
const & nonlinear,
 
  154         ndarray::Array<Scalar const,1,1> 
const & nonlinear,
 
  156         ndarray::Array<Scalar,2,1> 
const & 
amplitudes,
 
  157         ndarray::Array<Scalar,1,1> 
const & weights,
 
  158         bool multiplyWeights=
false 
  181 #endif // !LSST_MEAS_MODELFIT_Prior_h_INCLUDED 
  
virtual void drawAmplitudes(Vector const &gradient, Matrix const &hessian, ndarray::Array< Scalar const, 1, 1 > const &nonlinear, afw::math::Random &rng, ndarray::Array< Scalar, 2, 1 > const &litudes, ndarray::Array< Scalar, 1, 1 > const &weights, bool multiplyWeights=false) const =0
Draw a set of Monte Carlo amplitude vectors.
Base class for Bayesian priors.
Prior(std::string const &tag="")
virtual Scalar marginalize(Vector const &gradient, Matrix const &hessian, ndarray::Array< Scalar const, 1, 1 > const &nonlinear) const =0
Return the -log amplitude integral of the prior*likelihood product.
double Scalar
Typedefs to be used for probability and parameter values.
Prior(const Prior &)=delete
virtual Scalar evaluate(ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar const, 1, 1 > const &litudes) const =0
Evaluate the prior at the given point in nonlinear and amplitude space.
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
A base class for image defects.
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
table::Key< table::Array< double > > amplitudes
Prior & operator=(const Prior &)=delete
A class that can be used to generate sequences of random numbers according to a number of different a...
Prior & operator=(Prior &&)=delete
virtual void evaluateDerivatives(ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar const, 1, 1 > const &litudes, ndarray::Array< Scalar, 1, 1 > const &nonlinearGradient, ndarray::Array< Scalar, 1, 1 > const &litudeGradient, ndarray::Array< Scalar, 2, 1 > const &nonlinearHessian, ndarray::Array< Scalar, 2, 1 > const &litudeHessian, ndarray::Array< Scalar, 2, 1 > const &crossHessian) const =0
Evaluate the derivatives of the prior at the given point in nonlinear and amplitude space.
std::string const  & getTag() const
virtual Scalar maximize(Vector const &gradient, Matrix const &hessian, ndarray::Array< Scalar const, 1, 1 > const &nonlinear, ndarray::Array< Scalar, 1, 1 > const &litudes) const =0
Compute the amplitude vector that maximizes the prior x likelihood product.