MEAL Namespace Reference

Namespace in which all modeling and calibration related code is declared. More...

Classes

class  Advocate
 Classes derived from Function are registered for use via an Advocate. More...
 
class  Agent
 Pure virtual base class of Advocate template base class. More...
 
class  Argument
 Pure virtual base class of function arguments. More...
 
class  ArgumentPolicy
 Managers of Function arguments. More...
 
class  ArgumentPolicyAdapter
 Adapts an object with the ArgumentPolicy interface. More...
 
class  Axis
 An argument of a specified type. More...
 
class  BasisRule
 Changes the basis of the parameterization. More...
 
class  BinaryRule
 Abstract base class of binary operators. More...
 
class  BinaryScalar
 Abstract base class of binary functions of two other Scalar functions. More...
 
class  Boost
 Represents a boost (Hermitian, dichroic) transformation. More...
 
class  Boost1
 Represents a boost (Hermitian, dichroic) transformation. More...
 
class  BoostUnion
 Represents a boost (Hermitian, dichroic) transformation. More...
 
class  Cached
 This evaluation policy uses previously cached results when possible. More...
 
class  CalculatePolicy
 Abstract base class of Function parameter policies. More...
 
class  Cast
 Converts an evaluable model to one of another type. More...
 
class  ChainRule
 Parameterizes a Function by one or more Scalar ordinates. More...
 
class  Coherency
 Represents a Hermitian coherency matrix. More...
 
class  Complex
 Pure virtual base class of all complex-valued functions. More...
 
class  Complex2
 Pure virtual base class of all complex 2x2 matrix functions. More...
 
class  Complex2Constant
 Represents a constant complex 2x2 matrix value. More...
 
class  Complex4
 Pure virtual base class of all complex-valued 4x4 matrix functions. More...
 
class  ComplexCartesian
 A complex number. More...
 
class  ComplexCorrelation
 A correlation coefficient on the unit disk in the complex plane. More...
 
class  ComplexRVM
 Rotating Vector Model of Stokes Q and U as a function of pulse phase. More...
 
class  Composite
 Parameter policy for composite functions. More...
 
class  CongruenceTransformation
 A congruence transformation, $\rho^\prime=J\rho J^\dagger$. More...
 
class  Constant
 Represents a constant model with no parameters. More...
 
class  ConstrainedParameter
 A parameter and its constraining Scalar instance. More...
 
class  Convert
 Convert a function to another type. More...
 
class  CrossCoherency
 Partial coherence of 100% polarized modes. More...
 
class  CyclicParameter
 A periodic parameter with bounds. More...
 
class  Depolarizer
 Represents a pure depolarizer transformation. More...
 
class  Evaluable
 Template base class of functions with an evaluate method. More...
 
class  EvaluationPolicy
 Managers of Function value and gradient. More...
 
class  EvaluationTracer
 Traces changes in the result of a function. More...
 
class  Example
 A gain transformation. More...
 
class  ForwardChanged
 Forwards changed signals from other classes. More...
 
class  ForwardResult
 This evaluation policy forwards the result of another function. More...
 
class  Function
 Pure virtual base class of all functions. More...
 
class  FunctionPolicy
 Policies that customize Function behaviours. More...
 
class  Gain
 A gain transformation. More...
 
class  Gaussian
 Gaussian function. More...
 
class  GimbalLockMonitor
 Monitors a rotation during least-squares minimization. More...
 
class  GroupRule
 Abstract base class of closed, associative, binary operators. More...
 
class  Invariant
 Computes the invariant interval. More...
 
class  InverseRule
 Computes the inverse of a model and its partial derivatives. More...
 
class  JonesCloude
 Converts a Jones matrix into a Cloude target coherency matrix. More...
 
class  JonesMueller
 Converts a Jones matrix into a Mueller matrix. More...
 
class  JonesSpinor
 Returns the Spinor representation of a singular coherency matrix. More...
 
class  LeastSquares
 
class  Mean
 Used to accumulate a running mean of Complex2 model parameters. More...
 
class  ModeCoherency
 A coherency matrix parameterized by a logarithmic gain times a boost. More...
 
class  MuellerTransformation
 A Mueller transformation, $\rho^\prime=M_{ik}Tr(\sigma_k\rho)\sigma_i/2$. More...
 
class  Multivariate
 Abstract template base class of multivariate Function implementations. More...
 
class  MultivariatePolicy
 A function of one or more scalar variables. More...
 
class  NegationRule
 Computes the inverse of a model and its partial derivatives. More...
 
class  NoParameters
 Represents a model with no parameters. More...
 
class  NormalizeStokes
 Normalize Stokes parameters by the invariant interval. More...
 
class  NotCached
 An evaluation policy that does not cache calculations. More...
 
class  Null
 Null function holds an arbitrary number of parameters. More...
 
class  OneParameter
 Abstract base class implements parameter storage and access. More...
 
class  OrthogonalModes
 A sum of orthogonally polarized modes. More...
 
class  OrthoRVM
 Orthometric Rotating Vector Model (RVM) More...
 
class  ParameterPolicy
 Managers of Function parameters. More...
 
class  Parameters
 Abstract base class implements parameter storage and access. More...
 
class  ParameterTracer
 Traces changes to a single parameter of a single Function. More...
 
class  Phase
 A complex exponential parameterized by phase. More...
 
class  PhaseGradients
 Multiple phase gradients parameterized by their slopes. More...
 
class  PhysicalCoherency
 A coherency matrix with determinant greater than zero. More...
 
class  Polar
 Represents the polar decomposition of a transformation. More...
 
class  Polynomial
 Polynomial function with an arbitrary number of coefficients. More...
 
class  PositionAngles
 Function returns position angle(s) as a function of frequency. More...
 
class  PowerLaw
 PowerLaw function. More...
 
class  ProductRule
 Represents a product of models. More...
 
class  Project
 Template combines a reference to a Component and its Projection. More...
 
class  Projection
 Manages a Function and the mapping of its parameters into a Composite. More...
 
class  RandomPolar
 Generates a random Polar transformation within limits. More...
 
class  Real4
 Pure virtual base class of all real-valued 4x4 matrix functions. More...
 
class  RotatingVectorModel
 The Rotating Vector Model (RVM) of Radhakrishnan & Cooke. More...
 
class  Rotation
 Represents a rotation (passive unitary transformation) about a free axis. More...
 
class  Rotation1
 Represents a rotation (passive unitary transformation) about a fixed axis. More...
 
class  RVM
 Base class of different Rotating Vector Model parameterizations. More...
 
class  Scalar
 Pure virtual base class of scalar functions. More...
 
class  ScalarAbsolute
 The absolute value of a Scalar function. More...
 
class  ScalarArgument
 Represents a scalar argument, $ a $. More...
 
class  ScalarBesselI0
 Modified Bessel Function of the first kind, order zero. More...
 
class  ScalarConstant
 Represents a constant scalar value with no parameters or arguments. More...
 
class  ScalarCosine
 The cosine of a Scalar function. More...
 
class  ScalarErrorFunction
 The error function $ \mathrm{erf}(x) $ of a Scalar function. More...
 
class  ScalarExponential
 The exponential of a Scalar function. More...
 
class  ScalarHypCosine
 The hyperbolic cosine of a Scalar function. More...
 
class  ScalarHypSine
 The hyperbolic sine of a Scalar function. More...
 
class  ScalarHypTangent
 The hyperbolic tangent of a Scalar function. More...
 
class  ScalarInverseHypTangent
 The inverse hyperbolic tangent of a Scalar function. More...
 
class  ScalarInverseTangent
 The inverse tangent of the ratio of two Scalar functions. More...
 
class  ScalarInverseTangent2
 The inverse tangent of the ratio of two Scalar functions. More...
 
class  ScalarLogarithm
 The logarithm of a Scalar function. More...
 
class  ScalarLogistic
 The logistic of a Scalar function. More...
 
class  ScalarMath
 Convenience interface to building expressions from elements. More...
 
class  ScalarParameter
 Represents a scalar parameter, $ x $. More...
 
class  ScalarPower
 The tangent of a Scalar function. More...
 
class  ScalarRoot
 The square root of a Scalar function. More...
 
class  ScalarSine
 The sine of a Scalar function. More...
 
class  ScalarTangent
 The tangent of a Scalar function. More...
 
class  ScalarVector
 Scalar functions that depend on an index. More...
 
class  ScaledVonMises
 ScaledVonMises function. More...
 
class  ScaledVonMisesDeriv
 ScaledVonMisesDeriv function. More...
 
class  SingularCoherency
 A coherency matrix with determinant equal to zero. More...
 
class  Spinor
 Pure virtual base class of scalar functions. More...
 
class  SpinorJones
 Returns the outer product of two spinors, $ A B^\dagger $. More...
 
class  Steps
 A function with an arbitrary number of steps. More...
 
class  StokesCovariance
 Propagates Stokes parameter covariances through congruence transformation. More...
 
class  StokesError
 Propagates Stokes parameter uncertainty through congruence transformation. More...
 
class  SumRule
 Represents a sum of models. More...
 
class  Tracer
 Traces changes in a single Function instance. More...
 
class  Transformation
 Base class of transformations. More...
 
class  UnaryConvert
 Convert a function to another type using a unary function. More...
 
class  UnaryExample
 Example of a UnaryScalar child. More...
 
class  UnaryRule
 Abstract base class of unary operators. More...
 
class  UnaryScalar
 Abstract base class of unary functions of another Scalar function. More...
 
class  Union
 Represents the union of disjoint vector subspaces. More...
 
class  UnitTangent
 Represents a unit vector in three-dimensional space. More...
 
class  Univariate
 Abstract template base class of univariate Function implementations. More...
 
class  UnivariatePolicy
 A function of one scalar variable. More...
 
class  Value
 Represents a value with no free parameters. More...
 
class  Vectorize
 Converts a higher dimensional function into a ScalarVector. More...
 
class  VectorRule
 VectorRule implements a vector of Functions with a current index. More...
 
class  VonMises
 Von Mises function. More...
 
class  Wrap
 Wrap another function. More...
 

Functions

template<class To , class From >
To * cast (From *from)
 
template<class To , class From >
To * cast (Reference::To< From > &from)
 
void covariance (Scalar *function, unsigned index, std::vector< unsigned > &imap, std::vector< std::vector< double > > &covar)
 
void get_imap (const Function *composite, const Function *component, std::vector< unsigned > &imap)
 
template<class T , class U >
void GaussJordan (std::vector< std::vector< T > > &a, std::vector< std::vector< U > > &b, int nrow=-1, double singular_threshold=0.0)
 
template<class T >
NegationRule< T > * negation (T *model)
 Returns a new negation of the model.
 
template<class T >
void parse (const std::string &filename, T *instance)
 
template<class T >
ProductRule< T > * product (T *A, T *B)
 
template<class T >
ProductRule< T > * product (Reference::To< T > &A, T *B)
 
template<class T >
ProductRule< T > * product (T *A, Reference::To< T > &B)
 
template<class T >
ProductRule< T > * product (Reference::To< T > &A, Reference::To< T > &B)
 
template<class Function , class Grad >
void ProjectGradient (const Project< Function > &model, unsigned &igrad, const std::vector< Grad > &input, std::vector< Grad > &output)
 
template<class Function , class Grad >
void ProjectGradient (const Project< Function > &model, const std::vector< Grad > &input, std::vector< Grad > &output)
 
template<class Function , class Grad >
void ProjectGradient (const std::vector< Project< Function > > &model, const std::vector< Grad > &input, std::vector< Grad > &output)
 
template<class Type >
SumRule< Type > * Sum (Type *a, Type *b)
 
template<class Type >
SumRule< Type > * Difference (Type *a, Type *b)
 
template<class Type >
NegationRule< Type > * Negation (Type *a)
 
template<class Type >
ProductRule< Type > * Product (Type *a, Type *b)
 
template<class Type >
ProductRule< Type > * Quotient (Type *a, Type *b)
 
const ScalarMath operator- (const ScalarMath &b)
 Negation operator.
 
const ScalarMath operator+ (const ScalarMath &b)
 Nothing operator.
 
const ScalarMath operator+ (const ScalarMath &a, const ScalarMath &b)
 Return a ScalarMath instance representing a+b.
 
const ScalarMath operator- (const ScalarMath &a, const ScalarMath &b)
 Return a ScalarMath instance representing a-b.
 
const ScalarMath operator* (const ScalarMath &a, const ScalarMath &b)
 Return a ScalarMath instance representing a*b.
 
const ScalarMath operator/ (const ScalarMath &a, const ScalarMath &b)
 Return a ScalarMath instance representing a/b.
 
bool operator== (const ScalarMath &a, const ScalarMath &b)
 Return true if the expression evaluations are equal.
 
bool operator!= (const ScalarMath &a, const ScalarMath &b)
 Return true if the expression evaluations are not equal.
 
bool operator< (const ScalarMath &a, const ScalarMath &b)
 Return true if the expression evaluation of a is less than that of b.
 
bool operator> (const ScalarMath &a, const ScalarMath &b)
 Return true if the expression evaluation of a is less than that of b.
 
bool operator<= (const ScalarMath &, const ScalarMath &)
 Comparison operator.
 
bool operator>= (const ScalarMath &, const ScalarMath &)
 Comparison operator.
 
const ScalarMath pow (const ScalarMath &x, const ScalarMath &y)
 Return a ScalarMath instance representing x^y.
 
const ScalarMath sqrt (const ScalarMath &x)
 Return a ScalarMath instance representing x^.5.
 
const ScalarMath abs (const ScalarMath &x)
 Return a ScalarMath instance representing |x|.
 
const ScalarMath sin (const ScalarMath &x)
 Return a ScalarMath instance representing sin(x)
 
const ScalarMath cos (const ScalarMath &x)
 Return a ScalarMath instance representing cos(x)
 
const ScalarMath tan (const ScalarMath &x)
 Return a ScalarMath instance representing tan(x)
 
const ScalarMath sinh (const ScalarMath &x)
 Return a ScalarMath instance representing sinh(x)
 
const ScalarMath cosh (const ScalarMath &x)
 Return a ScalarMath instance representing cosh(x)
 
const ScalarMath tanh (const ScalarMath &x)
 Return a ScalarMath instance representing tanh(x)
 
const ScalarMath erf (const ScalarMath &x)
 Return a ScalarMath instance representing erf(x)
 
const ScalarMath exp (const ScalarMath &x)
 Return a ScalarMath instance representing exp(x)
 
const ScalarMath log (const ScalarMath &x)
 Return a ScalarMath instance representing log(x)
 
const ScalarMath atanh (const ScalarMath &x)
 Return a ScalarMath instance representing atanh(x)
 
const ScalarMath atan (const ScalarMath &x)
 Return a ScalarMath instance representing atan(x)
 
const ScalarMath atan2 (const ScalarMath &y, const ScalarMath &x)
 Return a ScalarMath instance representing tan(y/x)
 
std::ostream & operator<< (std::ostream &o, const ScalarMath &sm)
 Useful for quickly printing the values.
 
template<class T >
SumRule< T > * sum (T *A, T *B)
 
template<class T >
SumRule< T > * sum (Reference::To< T > &A, T *B)
 
template<class T >
SumRule< T > * sum (T *A, Reference::To< T > &B)
 
template<class T >
SumRule< T > * sum (Reference::To< T > &A, Reference::To< T > &B)
 
template<typename T , typename M >
UnaryConvert< T, T, M > * convert (T *function, M method)
 
template<typename T >
T * convert (T *function, typename T::Result(*method)(const typename T::Result &))
 
template<class T >
Vectorize< T > * vectorize (T *function)
 
bool isnan (const ScalarMath &x)
 
bool isinf (const ScalarMath &x)
 
const ScalarMathcopysign (const ScalarMath &x, const ScalarMath &y)
 

Detailed Description

Namespace in which all modeling and calibration related code is declared.

The MEAL namespace is documented in the introduction.

Function Documentation

◆ covariance()

void MEAL::covariance ( MEAL::Scalar function,
unsigned  index,
std::vector< unsigned > &  imap,
std::vector< std::vector< double > > &  covar 
)

Utility for computing the covariances of parameters constrained using ChainRule

References covariance().

Referenced by covariance().


Generated using doxygen 1.8.17