nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
rician.hpp
Go to the documentation of this file.
1
3// toolboxes/stats/include/nk/stats/distributions/rician.hpp
4//
5// Rician (Rice) 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 ricepdf(const Value &x, double s, double sigma,
35 std::pmr::memory_resource *mr = nullptr);
36
48Value ricecdf(const Value &x, double s, double sigma,
49 std::pmr::memory_resource *mr = nullptr);
50
59Value riceinv(const Value &p, double s, double sigma,
60 std::pmr::memory_resource *mr = nullptr);
61
73Value ricernd(::nk::ops::RngContext &rng, double s, double sigma, size_t rows = 1, size_t cols = 1,
74 std::pmr::memory_resource *mr = nullptr);
75
87std::tuple<double, double>
88ricestat(double s, double sigma,
89 std::pmr::memory_resource *mr = nullptr);
90
91
93} // namespace nk::stats
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value ricecdf(const Value &x, double s, double sigma, std::pmr::memory_resource *mr=nullptr)
Rician cdf (p = ricecdf(x, s, sigma)).
Value ricepdf(const Value &x, double s, double sigma, std::pmr::memory_resource *mr=nullptr)
Rician (Rice) pdf (y = ricepdf(x, s, sigma)).
std::tuple< double, double > ricestat(double s, double sigma, std::pmr::memory_resource *mr=nullptr)
Rician mean and variance ([m, v] = ricestat(s, sigma)).
Value riceinv(const Value &p, double s, double sigma, std::pmr::memory_resource *mr=nullptr)
Rician inverse cdf (x = riceinv(p, s, sigma)).
Value ricernd(::nk::ops::RngContext &rng, double s, double sigma, size_t rows=1, size_t cols=1, std::pmr::memory_resource *mr=nullptr)
Rician random samples (r = ricernd(s, sigma, rows, cols)).