Loading [MathJax]/extensions/tex2jax.js
LSST Applications g0000d66e7c+4a51730b0a,g0485b4d2cb+be65c9c1d7,g0fba68d861+f6d31a8697,g1ec0fe41b4+3ea9d11450,g1fd858c14a+41d169aaf2,g2440f9efcc+8c5ae1fdc5,g2abac59d63+64581b95a4,g35bb328faa+8c5ae1fdc5,g4d2262a081+6c6e5d09ab,g53246c7159+8c5ae1fdc5,g55585698de+6f166a295a,g56a49b3a55+7eddd92ad8,g60b5630c4e+6f166a295a,g67b6fd64d1+97cc007aa2,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g8352419a5c+8c5ae1fdc5,g8852436030+3f3bba821f,g8869f962bc+e44c8a7abf,g89139ef638+97cc007aa2,g94187f82dc+6f166a295a,g989de1cb63+97cc007aa2,g9d31334357+6f166a295a,g9f33ca652e+879172f2e0,gabe3b4be73+8856018cbb,gabf8522325+977d9fabaf,gae5fe98123+8e7c4d07ad,gb1101e3267+ec54132632,gb89ab40317+97cc007aa2,gc91f06edcd+27697e055d,gcf25f946ba+3f3bba821f,gd6cbbdb0b4+1cc2750d2e,gde0f65d7ad+ec03ee3b6a,ge278dab8ac+6b863515ed,ge410e46f29+97cc007aa2,gf35d7ec915+97dd712d81,gf5e32f922b+8c5ae1fdc5,gf67bdafdda+97cc007aa2,w.2025.19
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
lsst::meas::astrom::detail Namespace Reference

Classes

class  BinomialMatrix
 A class that computes binomial coefficients up to a certain power. More...
 

Functions

int computePackedOffset (int order)
 Compute the index of the first coefficient with the given order in a packed 2-d polynomial coefficient array.
 
int computePackedSize (int order)
 Compute this size of a packed 2-d polynomial coefficient array.
 
void computePowers (Eigen::VectorXd &r, double x)
 Fill an array with integer powers of x, so \($r[n] == r^n\).
 
Eigen::VectorXd computePowers (double x, int n)
 Return an array with integer powers of x, so \($r[n] == r^n\).
 

Function Documentation

◆ computePackedOffset()

int lsst::meas::astrom::detail::computePackedOffset ( int order)
inline

Compute the index of the first coefficient with the given order in a packed 2-d polynomial coefficient array.

This defines the ordering as

[(0,0), (0,1), (1,0), (0,2), (1,1), (2,0), ...]

(or the same with indices swapped).

Definition at line 45 of file polynomialUtils.h.

45{ return (order * (order + 1)) / 2; }

◆ computePackedSize()

int lsst::meas::astrom::detail::computePackedSize ( int order)
inline

Compute this size of a packed 2-d polynomial coefficient array.

Definition at line 50 of file polynomialUtils.h.

50{ return computePackedOffset(order + 1); }
int computePackedOffset(int order)
Compute the index of the first coefficient with the given order in a packed 2-d polynomial coefficien...

◆ computePowers() [1/2]

Eigen::VectorXd lsst::meas::astrom::detail::computePowers ( double x,
int n )

Return an array with integer powers of x, so \($r[n] == r^n\).

When multiple powers are needed, this should be signficantly faster than repeated calls to std::pow().

Definition at line 40 of file polynomialUtils.cc.

40 {
41 Eigen::VectorXd r(n + 1);
42 computePowers(r, x);
43 return r;
44}
void computePowers(Eigen::VectorXd &r, double x)
Fill an array with integer powers of x, so .

◆ computePowers() [2/2]

void lsst::meas::astrom::detail::computePowers ( Eigen::VectorXd & r,
double x )

Fill an array with integer powers of x, so \($r[n] == r^n\).

When multiple powers are needed, this should be signficantly faster than repeated calls to std::pow().

Definition at line 33 of file polynomialUtils.cc.

33 {
34 r[0] = 1.0;
35 for (int i = 1; i < r.size(); ++i) {
36 r[i] = r[i - 1] * x;
37 }
38}