MUQ  0.4.3
muq::Modeling Namespace Reference

Namespaces

 PythonBindings
 

Classes

class  CombineVectors
 
class  ConstantPiece
 A muq::Modeling::WorkPiece with no inputs and known, constant outputs. More...
 
class  ConstantVector
 A muq::Modeling::ModPiece with no inputs and a single known vector-valued output. More...
 
class  CwiseUnaryOperator
 
class  DensityBase
 
class  Density
 
class  DensityProduct
 
class  Distribution
 
class  Gamma
 
class  Gaussian
 
class  GaussianBase
 Defines an abstract Gaussian class.@seealso Gaussian. More...
 
class  InverseGamma
 
class  MixtureDistribution
 
class  PyDistribution
 
class  PyGaussianBase
 
class  RandomVariable
 
class  UniformBox
 Defines a normalized uniform distribution over a bounded rectangular domain. More...
 
class  FenicsPiece
 
class  SwigExtract
 Class to extract a c++ class that was exposed to python with Swig. @detials This class is used to unwrap a c++ class that was exposed to python with Swig and then passed to MUQ through pybind11 bindings. The class is defined in a way to enable straightforward conversions with code like. More...
 
struct  DynamicKDTreeAdaptor
 
class  FlannCache
 Create a cache of model evaluations (input/output pairs) More...
 
class  GradientPiece
 
class  IdentityPiece
 A muq::Modeling::WorkPiece that returns its inputs (identity operator) More...
 
class  JacobianPiece
 A wrapper around another ModPiece that evaluates the action of the other piece's Jacobian on a vector. More...
 
class  AffineOperator
 Generic affine operator which adds an offset to a linear operator. @seealso LinearOperator. More...
 
class  AnyAlgebra
 Implement a generic way to do algebric operations on boost::any's. More...
 
class  AnyMat
 
class  AnyAlgebra2
 Implement a generic way to do algebric operations on boost::any's. More...
 
class  AnyVec
 
class  BlockDiagonalOperator
 Defines a block diagonal linear operator in terms of other linear operators. More...
 
class  BlockRowOperator
 Defines a block row matrix in terms of other linear operators. More...
 
class  CompanionMatrix
 Implments a companion matrix as a linear operator. More...
 
class  ConcatenateOperator
 Vertical or horizontal concatenation of other linear operators. More...
 
class  DiagonalOperator
 
class  EigenLinearOperator
 
struct  LinearOperatorFactory< Eigen::Matrix< ScalarType, Eigen::Dynamic, Eigen::Dynamic > >
 
struct  LinearOperatorFactory< Eigen::SparseMatrix< ScalarType > >
 
class  EigenMatrixAlgebra
 Linear algebra for Eigen::Matrix's.
 
class  EigenVectorAlgebra
 Linear algebra for Eigen::Vector's.
 
class  GaussianOperator
 Creates a linear operator for the action of the covariance or precision matrix of a Gaussian distribution. @seealso GaussNewtonOperator, HessianOperator. More...
 
class  GaussNewtonOperator
 Creates a linear operator for the action of a Gauss-Newton Hessian approximation on a vector. @seealso HessianOperator. More...
 
class  GeneralizedEigenSolver
 Abstract base class for operator based generalized eigenvalue solvers. More...
 
class  HessianOperator
 Creates a linear operator for the action of the Hessian of a ModPiece on a vector. Useful for computing the Hessian spectrum with iteratives solvers like LOBPCG. @seealso GaussNewtonOperator. More...
 
class  IdentityOperator
 
class  KroneckerProductOperator
 Defines the Kronecker product of two other linear operators. More...
 
class  LinearOperatorTypeException
 
struct  LinearOperatorFactory
 
class  LinearOperator
 Generic linear operator base class. More...
 
class  LOBPCG
 The Locally Optimal Block Preconditioned Conjugate Gradient Method (LOBPCG) method for matrix-free computation of eigenvalues and eigenvectors. More...
 
class  LyapunovSolver
 
class  ProductOperator
 The product of two linear operators, \(C=A*B\). More...
 
class  ScalarAlgebra
 Linear algebra for scalar objects. More...
 
class  SliceOperator
 Defines a "slice" or "range" of an input vector. More...
 
class  StochasticEigenSolver
 Two-pass stochastic algorithm for computing generalized eigenvalues from matrix products. More...
 
class  SumOperator
 
class  SundialsAlgebra
 
class  ZeroOperator
 
class  LinearSDE
 Defines a linear time invariant stochastic differential equation with Gaussian process noise. More...
 
class  ModGraphPiece
 A muq::Modeling::ModPiece created from a muq::Modeling::WorkGraph. More...
 
class  ModPiece
 Provides an abstract interface for defining vector-valued model components. More...
 
class  MultiLogisticLikelihood
 Class that defines the likelihood function for multinomial logistic regression. More...
 
struct  NodeNameFinder
 A helper struct that determines if a node in the graph has a given name. More...
 
class  ODE
 A class for integrating ODEs with CVODES. More...
 
class  ODEData
 A helper class for Sundial's time integration. More...
 
class  OneStepCachePiece
 
class  ProductPiece
 Returns the components in a single vector input. More...
 
class  PyModPiece
 
class  ReplicateOperator
 A muq::Modeling::ModPiece that replicates a single input vector \(N\) times. More...
 
class  RootfindingIVP
 A rootfinding initial value problem — find the root of a function along an orbit of an ODE. More...
 
class  ScaleVector
 
class  SplitVector
 Provides a mechanism for splitting a vector into multiple pieces. More...
 
class  SumPiece
 Componentwise addition of two or more vectors. More...
 
class  UMBridgeModPiece
 A ModPiece connecting to a model via the UM-Bridge HTTP protocol. More...
 
class  UMBridgeModPieceWrapper
 Wrap a ModPiece in an UM-Bridge Model. More...
 
class  WorkGraph
 A graph of connected muq::Modeling::WorkPiece's. More...
 
class  WorkGraphEdge
 An edge in a muq::Modeling::WorkGraph. More...
 
class  WorkGraphNode
 A node in a muq::Modeling::WorkGraph. More...
 
class  UpstreamPredicate
 This class keeps track of which nodes are upstream (needed to evaluate) a given node. More...
 
class  UpstreamEdgePredicate
 
class  DependentPredicate
 This class keeps track of which nodes are downstream of a specified input. More...
 
class  DependentEdgePredicate
 Determine if the source of an edge is downstream of an input. More...
 
class  WorkGraphPiece
 A muq::Modeling::WorkPiece created from a muq::Modeling::WorkGraph. More...
 
class  WorkPiece
 Base class for MUQ's modelling envronment. More...
 

Typedefs

typedef CwiseUnaryOperator< std::exp, stan::math::exp, stan::math::exp > ExpOperator
 
typedef CwiseUnaryOperator< std::cos, stan::math::cos, stan::math::cos > CosOperator
 
typedef CwiseUnaryOperator< std::sin, stan::math::sin, stan::math::sin > SinOperator
 
typedef CwiseUnaryOperator< std::abs, stan::math::abs, stan::math::abs > AbsOperator
 
typedef CwiseUnaryOperator< std::acos, stan::math::acos, stan::math::acos > AcosOperator
 
typedef CwiseUnaryOperator< std::asin, stan::math::asin, stan::math::asin > AsinOperator
 
typedef CwiseUnaryOperator< std::atan, stan::math::atan, stan::math::atan > AtanOperator
 
typedef CwiseUnaryOperator< std::atanh, stan::math::atanh, stan::math::atanh > AtanhOperator
 
typedef CwiseUnaryOperator< std::cbrt, stan::math::cbrt, stan::math::cbrt > CbrtOperator
 
typedef CwiseUnaryOperator< std::ceil, stan::math::ceil, stan::math::ceil > CeilOperator
 
typedef CwiseUnaryOperator< std::cosh, stan::math::cosh, stan::math::cosh > CoshOperator
 
typedef CwiseUnaryOperator< stan::math::digamma, stan::math::digamma, stan::math::digamma > DigammaOperator
 
typedef CwiseUnaryOperator< std::erf, stan::math::erf, stan::math::erf > ErfOperator
 
typedef CwiseUnaryOperator< std::erfc, stan::math::erfc, stan::math::erfc > ErfcOperator
 
typedef CwiseUnaryOperator< std::floor, stan::math::floor, stan::math::floor > FloorOperator
 
typedef CwiseUnaryOperator< stan::math::inv_logit, stan::math::inv_logit, stan::math::inv_logit > InvLogitOperator
 
typedef CwiseUnaryOperator< stan::math::inv_Phi, stan::math::inv_Phi, stan::math::inv_Phi > InvPhiOperator
 
typedef CwiseUnaryOperator< stan::math::inv_sqrt, stan::math::inv_sqrt, stan::math::inv_sqrt > InvSqrtOperator
 
typedef CwiseUnaryOperator< stan::math::inv_square, stan::math::inv_square, stan::math::inv_square > InvSquareOperator
 
typedef CwiseUnaryOperator< stan::math::inv, stan::math::inv, stan::math::inv > InvOperator
 
typedef CwiseUnaryOperator< stan::math::lgamma, stan::math::lgamma, stan::math::lgamma > LogGammaOperator
 
typedef CwiseUnaryOperator< stan::math::log_inv_logit, stan::math::log_inv_logit, stan::math::log_inv_logit > LogInvLogitOperator
 
typedef CwiseUnaryOperator< std::log, stan::math::log, stan::math::log > LogOperator
 
typedef CwiseUnaryOperator< std::log2, stan::math::log2, stan::math::log2 > Log2Operator
 
typedef CwiseUnaryOperator< std::log10, stan::math::log10, stan::math::log10 > Log10Operator
 
typedef CwiseUnaryOperator< stan::math::logit, stan::math::logit, stan::math::logit > LogitOperator
 
typedef CwiseUnaryOperator< stan::math::Phi, stan::math::Phi, stan::math::Phi > PhiOperator
 
typedef CwiseUnaryOperator< std::round, stan::math::round, stan::math::round > RoundOperator
 
typedef CwiseUnaryOperator< std::sinh, stan::math::sinh, stan::math::sinh > SinhOperator
 
typedef CwiseUnaryOperator< std::sqrt, stan::math::sqrt, stan::math::sqrt > SqrtOperator
 
typedef CwiseUnaryOperator< stan::math::square, stan::math::square, stan::math::square > SquareOperator
 
typedef CwiseUnaryOperator< std::tan, stan::math::tan, stan::math::tan > TanOperator
 
typedef CwiseUnaryOperator< std::tanh, stan::math::tanh, stan::math::tanh > TanhOperator
 
typedef CwiseUnaryOperator< std::tgamma, stan::math::tgamma, stan::math::tgamma > TgammaOperator
 
typedef CwiseUnaryOperator< stan::math::trigamma, stan::math::trigamma, stan::math::trigamma > TrigammaOperator
 
typedef boost::filtered_graph< Graph, DependentEdgePredicate, DependentPredicateFilteredGraph
 A filtered graph that only has nodes downstream of a specified input. More...
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, std::shared_ptr< WorkGraphNode >, std::shared_ptr< WorkGraphEdge > > Graph
 Define a directed graph type. More...
 
template<typename T >
using ref_vector = std::vector< std::reference_wrapper< const T > >
 A vector of references to something ... More...
 

Functions

std::shared_ptr< LinearOperatorKroneckerSum (std::shared_ptr< LinearOperator > A, std::shared_ptr< LinearOperator > B)
 
Eigen::MatrixXd KroneckerProduct (Eigen::Ref< const Eigen::MatrixXd > const &A, Eigen::Ref< const Eigen::MatrixXd > const &B)
 
void serveModPiece (std::shared_ptr< ModPiece > modPiece, std::string name, std::string host, int port)
 Serve a ModPiece via network using UM-Bridge. More...
 

Typedef Documentation

◆ AbsOperator

typedef CwiseUnaryOperator<std::abs, stan::math::abs,stan::math::abs> muq::Modeling::AbsOperator

Definition at line 120 of file CwiseUnaryOperator.h.

◆ AcosOperator

typedef CwiseUnaryOperator<std::acos, stan::math::acos,stan::math::acos> muq::Modeling::AcosOperator

Definition at line 121 of file CwiseUnaryOperator.h.

◆ AsinOperator

typedef CwiseUnaryOperator<std::asin, stan::math::asin,stan::math::asin> muq::Modeling::AsinOperator

Definition at line 122 of file CwiseUnaryOperator.h.

◆ AtanhOperator

typedef CwiseUnaryOperator<std::atanh, stan::math::atanh,stan::math::atanh> muq::Modeling::AtanhOperator

Definition at line 124 of file CwiseUnaryOperator.h.

◆ AtanOperator

typedef CwiseUnaryOperator<std::atan, stan::math::atan,stan::math::atan> muq::Modeling::AtanOperator

Definition at line 123 of file CwiseUnaryOperator.h.

◆ CbrtOperator

typedef CwiseUnaryOperator<std::cbrt, stan::math::cbrt,stan::math::cbrt> muq::Modeling::CbrtOperator

Definition at line 125 of file CwiseUnaryOperator.h.

◆ CeilOperator

typedef CwiseUnaryOperator<std::ceil, stan::math::ceil,stan::math::ceil> muq::Modeling::CeilOperator

Definition at line 126 of file CwiseUnaryOperator.h.

◆ CoshOperator

typedef CwiseUnaryOperator<std::cosh, stan::math::cosh,stan::math::cosh> muq::Modeling::CoshOperator

Definition at line 127 of file CwiseUnaryOperator.h.

◆ CosOperator

typedef CwiseUnaryOperator<std::cos, stan::math::cos,stan::math::cos> muq::Modeling::CosOperator

Definition at line 118 of file CwiseUnaryOperator.h.

◆ DigammaOperator

typedef CwiseUnaryOperator<stan::math::digamma, stan::math::digamma,stan::math::digamma> muq::Modeling::DigammaOperator

Definition at line 128 of file CwiseUnaryOperator.h.

◆ ErfcOperator

typedef CwiseUnaryOperator<std::erfc, stan::math::erfc,stan::math::erfc> muq::Modeling::ErfcOperator

Definition at line 130 of file CwiseUnaryOperator.h.

◆ ErfOperator

typedef CwiseUnaryOperator<std::erf, stan::math::erf,stan::math::erf> muq::Modeling::ErfOperator

Definition at line 129 of file CwiseUnaryOperator.h.

◆ ExpOperator

typedef CwiseUnaryOperator<std::exp, stan::math::exp,stan::math::exp> muq::Modeling::ExpOperator

Definition at line 117 of file CwiseUnaryOperator.h.

◆ FilteredGraph

A filtered graph that only has nodes downstream of a specified input.

Definition at line 20 of file ModGraphPiece.h.

◆ FloorOperator

typedef CwiseUnaryOperator<std::floor, stan::math::floor,stan::math::floor> muq::Modeling::FloorOperator

Definition at line 131 of file CwiseUnaryOperator.h.

◆ Graph

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, std::shared_ptr<WorkGraphNode>, std::shared_ptr<WorkGraphEdge> > muq::Modeling::Graph

Define a directed graph type.

Definition at line 13 of file NodeNameFinder.h.

◆ InvLogitOperator

typedef CwiseUnaryOperator<stan::math::inv_logit, stan::math::inv_logit,stan::math::inv_logit> muq::Modeling::InvLogitOperator

Definition at line 132 of file CwiseUnaryOperator.h.

◆ InvOperator

typedef CwiseUnaryOperator<stan::math::inv, stan::math::inv,stan::math::inv> muq::Modeling::InvOperator

Definition at line 136 of file CwiseUnaryOperator.h.

◆ InvPhiOperator

typedef CwiseUnaryOperator<stan::math::inv_Phi, stan::math::inv_Phi,stan::math::inv_Phi> muq::Modeling::InvPhiOperator

Definition at line 133 of file CwiseUnaryOperator.h.

◆ InvSqrtOperator

typedef CwiseUnaryOperator<stan::math::inv_sqrt, stan::math::inv_sqrt,stan::math::inv_sqrt> muq::Modeling::InvSqrtOperator

Definition at line 134 of file CwiseUnaryOperator.h.

◆ InvSquareOperator

typedef CwiseUnaryOperator<stan::math::inv_square, stan::math::inv_square,stan::math::inv_square> muq::Modeling::InvSquareOperator

Definition at line 135 of file CwiseUnaryOperator.h.

◆ Log10Operator

typedef CwiseUnaryOperator<std::log10, stan::math::log10,stan::math::log10> muq::Modeling::Log10Operator

Definition at line 141 of file CwiseUnaryOperator.h.

◆ Log2Operator

typedef CwiseUnaryOperator<std::log2, stan::math::log2,stan::math::log2> muq::Modeling::Log2Operator

Definition at line 140 of file CwiseUnaryOperator.h.

◆ LogGammaOperator

typedef CwiseUnaryOperator<stan::math::lgamma, stan::math::lgamma,stan::math::lgamma> muq::Modeling::LogGammaOperator

Definition at line 137 of file CwiseUnaryOperator.h.

◆ LogInvLogitOperator

typedef CwiseUnaryOperator<stan::math::log_inv_logit, stan::math::log_inv_logit,stan::math::log_inv_logit> muq::Modeling::LogInvLogitOperator

Definition at line 138 of file CwiseUnaryOperator.h.

◆ LogitOperator

typedef CwiseUnaryOperator<stan::math::logit, stan::math::logit,stan::math::logit> muq::Modeling::LogitOperator

Definition at line 142 of file CwiseUnaryOperator.h.

◆ LogOperator

typedef CwiseUnaryOperator<std::log, stan::math::log,stan::math::log> muq::Modeling::LogOperator

Definition at line 139 of file CwiseUnaryOperator.h.

◆ PhiOperator

typedef CwiseUnaryOperator<stan::math::Phi, stan::math::Phi,stan::math::Phi> muq::Modeling::PhiOperator

Definition at line 143 of file CwiseUnaryOperator.h.

◆ ref_vector

template<typename T >
using muq::Modeling::ref_vector = typedef std::vector<std::reference_wrapper<const T> >

A vector of references to something ...

Definition at line 37 of file WorkPiece.h.

◆ RoundOperator

typedef CwiseUnaryOperator<std::round, stan::math::round,stan::math::round> muq::Modeling::RoundOperator

Definition at line 144 of file CwiseUnaryOperator.h.

◆ SinhOperator

typedef CwiseUnaryOperator<std::sinh, stan::math::sinh,stan::math::sinh> muq::Modeling::SinhOperator

Definition at line 145 of file CwiseUnaryOperator.h.

◆ SinOperator

typedef CwiseUnaryOperator<std::sin, stan::math::sin,stan::math::sin> muq::Modeling::SinOperator

Definition at line 119 of file CwiseUnaryOperator.h.

◆ SqrtOperator

typedef CwiseUnaryOperator<std::sqrt, stan::math::sqrt,stan::math::sqrt> muq::Modeling::SqrtOperator

Definition at line 146 of file CwiseUnaryOperator.h.

◆ SquareOperator

typedef CwiseUnaryOperator<stan::math::square, stan::math::square,stan::math::square> muq::Modeling::SquareOperator

Definition at line 147 of file CwiseUnaryOperator.h.

◆ TanhOperator

typedef CwiseUnaryOperator<std::tanh, stan::math::tanh,stan::math::tanh> muq::Modeling::TanhOperator

Definition at line 149 of file CwiseUnaryOperator.h.

◆ TanOperator

typedef CwiseUnaryOperator<std::tan, stan::math::tan,stan::math::tan> muq::Modeling::TanOperator

Definition at line 148 of file CwiseUnaryOperator.h.

◆ TgammaOperator

typedef CwiseUnaryOperator<std::tgamma, stan::math::tgamma,stan::math::tgamma> muq::Modeling::TgammaOperator

Definition at line 150 of file CwiseUnaryOperator.h.

◆ TrigammaOperator

typedef CwiseUnaryOperator<stan::math::trigamma, stan::math::trigamma,stan::math::trigamma> muq::Modeling::TrigammaOperator

Definition at line 151 of file CwiseUnaryOperator.h.

Function Documentation

◆ KroneckerProduct()

Eigen::MatrixXd muq::Modeling::KroneckerProduct ( Eigen::Ref< const Eigen::MatrixXd > const &  A,
Eigen::Ref< const Eigen::MatrixXd > const &  B 
)

◆ KroneckerSum()

std::shared_ptr< LinearOperator > muq::Modeling::KroneckerSum ( std::shared_ptr< LinearOperator A,
std::shared_ptr< LinearOperator B 
)

Returns the Kronecker sum of \(A\in\mathbb{R}^{M_A}\times\mathbb{R}^{N_A}\) and \(B\in\mathbb{R}^{M_B}\times\mathbb{R}^{N_B}\). The Kronecker sum is given by

\[ A\otimes I_{N_B} + I_{M_A} \otimes B, \]

where \(I_N\) is the identity matrix of size \(N\).

Definition at line 50 of file KroneckerProductOperator.cpp.

Referenced by muq::Approximation::ProductKernel::GetProductStateSpace().

◆ serveModPiece()

void muq::Modeling::serveModPiece ( std::shared_ptr< ModPiece modPiece,
std::string  name,
std::string  host,
int  port 
)

Serve a ModPiece via network using UM-Bridge.

Parameters
modPieceThe modPiece to serve via UM-Bridge
hostBind address, may be 0.0.0.0
portPort at which to serve the modPiece

Definition at line 93 of file UMBridgeModPieceServer.h.

References umbridge::serveModels().

Referenced by main(), and serveModPieceWithoutGIL().