EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Core Directory Reference

Files

 
Allocation.h
 The allocator conventions of decisions.md [allocation]: DefaultAllocator, Capacity, and the internal rebinding alias and buffer type every type with a run-time number of elements uses.
 
ChiSquared.h
 The chi-squared distribution's CDF and quantile, with no dependency outside Eigen, for the gates and consistency checks of Consistency.h and the confidence regions of Gaussian.h.
 
Execution.h
 Execution policies (decisions.md [execution-policies]): execution::sequential, the ExecutionPolicy concept, and the internal primitives that every loop over a run-time count of elements runs through, a for-each over indices or over chunks, a reduction, a scan, a gather, a compaction, and a fill, with the iterators they run over, one over indices and one over elements a view makes when read.
 
Forwarding.h
 How a function that stores a matrix argument takes it (decisions.md [forwarded-matrices]): the concept MatrixExpression, which constrains its forwarding reference so that an rvalue is moved, and internal::castScalar(), which forwards a matrix that already has the scalar rather than copying it; and internal::forwardLike(), std::forward_like for every standard library.
 
Macros.h
 The macros every header includes first.
 
Math.h
 Mathematical constants and scalar functions that work in every scalar type the library accepts, where the standard library and Eigen serve only some of them.
 
Multiply.h
 Products of fixed-size matrices by Eigen's fixed-size product at every size: multiply() is \( A B \) by Eigen's coefficient-based product wherever both operands have a fixed size, which Eigen itself chooses only while no dimension reaches eight, and asTriangular() is a triangular factor as a dense matrix to multiply by, which a triangular view never is.
 
NumericError.h
 NumericError, the reasons a factorization or a normalization can fail, and its two names, GaussianError and WeightError (decisions.md [update-outcomes]).
 
Print.h
 Printing: operator<< and std::formatter for every distribution, every filter (which prints its name and nests its state under it), and the library's error codes, so that std::cout << filter and std::println("{}", filter.state()) work.
 
Resampling.h
 The resamplers: function objects that draw ancestors in proportion to weights, which ParticleSet::resample() and the Resample upkeep action call.
 
Solve.h
 Solving by a factorization of a small matrix: transposedSolve() gives \( (A^{-1} B)^T \), the shape of a Kalman gain and of a statistical linearization, from an Eigen factorization of \( A \), and solveInPlace() overwrites \( B \) with \( A^{-1} B \), and inverseFrom() gives \( A^{-1} \), all one column of \( B \) at a time where \( A \) has a small fixed size, which Eigen's solve with a matrix right-hand side does not do.
 
Stamp.h
 What parameters and their views share (decisions.md [view-stamp], [params-and-density]): Stamp, the modification stamp that parameters keep; ValuesCheck and ShapeCheck, by which a view checks that its parameters have not changed under it; ViewHolder, by which a marginal of a view keeps that view; and CallbackGuard, which checks that a callback leaves its parameters alone.
 
Time.h
 Time steps (decisions.md [time-steps]): TimeTraits, which converts a time type to a scalar, the TimeStep concept that a filter's predict() takes its step through, and Steps, a count of a fixed-step model's steps.
 
Triangularization.h
 Triangularization: the triangular factor of a stacked matrix by Householder reflections, in place and without forming the orthogonal factor.
 
Version.h
 The library's version, the same numbers as the CMake project's, and the Eigen version it requires.
 
Weights.h
 Log-weights: the WeightError a normalization can fail with (NumericError.h), and the streaming log-sum-exp that totals them without overflow, sequentially or in chunks under an execution policy: LogSumExp and logSumExp(), which are public, so that a user's code normalizes weights or sums likelihoods as the library does.