nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
ncx2.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/ncx2.hpp
4//
5// Noncentral chi-squared distribution.
6
7#pragma once
8
9#include <memory_resource>
10#include <nk/value/value.hpp>
11
12#include <tuple>
13
14namespace nk {
15
18 namespace ops { class RngContext; } }
19
20namespace nk::stats {
21
34Value ncx2pdf(const Value &x, double k, double lambda,
35 std::pmr::memory_resource *mr = nullptr);
36
50Value ncx2cdf(const Value &x, double k, double lambda,
51 std::pmr::memory_resource *mr = nullptr);
52
61Value ncx2inv(const Value &p, double k, double lambda,
62 std::pmr::memory_resource *mr = nullptr);
63
76Value ncx2rnd(::nk::ops::RngContext &rng, double k, double lambda, size_t rows = 1, size_t cols = 1,
77 std::pmr::memory_resource *mr = nullptr);
78
87std::tuple<double, double> ncx2stat(double k, double lambda);
88
89
91} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value ncx2pdf(const Value &x, double k, double lambda, std::pmr::memory_resource *mr=nullptr)
Noncentral χ² pdf (y = ncx2pdf(x, k, lambda)).
Value ncx2inv(const Value &p, double k, double lambda, std::pmr::memory_resource *mr=nullptr)
Noncentral χ² inverse cdf (x = ncx2inv(p, k, lambda)).
Value ncx2rnd(::nk::ops::RngContext &rng, double k, double lambda, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Noncentral χ² random samples (r = ncx2rnd(k, lambda, rows, cols)).
std::tuple< double, double > ncx2stat(double k, double lambda)
Noncentral χ² mean and variance ([m, v] = ncx2stat(k, lambda)).
Value ncx2cdf(const Value &x, double k, double lambda, std::pmr::memory_resource *mr=nullptr)
Noncentral χ² cdf (p = ncx2cdf(x, k, lambda)).