Loading [MathJax]/extensions/tex2jax.js
kyosu v0.1.0
Complex Without Complexes
 
All Classes Namespaces Functions Variables Typedefs Modules Pages Concepts
Loading...
Searching...
No Matches

◆ kummer

kyosu::kummer = eve::functor<kummer_t>
inlineconstexpr

Computes the Kummer function (confluent hypergeometric function of the first kind) \(M\) (which is an other name for the hypergeometric function \({}_1F_1\)) and it regularized version \(\mathbf{M}\).

Defined in Header

#include <kyosu/functions.hpp>

Callable Signatures

namespace kyosu
{
//regular call
constexpr auto kummer(auto z, auto a, auto b) noexcept; //1
// Semantic modifyiers
constexpr auto kummer[regularized](auto z, auto a, auto b) noexcept;//2
}
constexpr auto kummer
Computes the Kummer function (confluent hypergeometric function of the first kind) (which is an othe...
Definition: kummer.hpp:77
Main KYOSU namespace.
Definition: cinf.hpp:13

Parameters

  • a, b, z: real or complex inputs.

Return value

  1. Returns the value at z of the Kummer function with a and b parameters. The call kummer(z, a, b) is equivalent to hypergeometric(z, kumi::tuple{a}, kumi::tuple{b})
  2. With the regularized options, returns the value at z of the Regularized Kummer function \(\mathbf{M}\), i.e. \(M\) divided by \(\Gamma(b)\), well defined even if b is a negative integer.

External references

Example

#include <kyosu/kyosu.hpp>
#include <eve/wide.hpp>
#include <iostream>
int main()
{
auto I = kyosu::complex(0.0, 1.0);
std::cout << "kummer(2.0, 1., 1.5) "<< kyosu::kummer(2.0, 1., 1.5) << std::endl;
std::cout << "kummer(2.0, 1., I) "<< kyosu::kummer(2.0, 1., I) << std::endl;
std::cout << "kummer[regularized](2.0, 1., 1.5) "<< kyosu::kummer[kyosu::regularized](2.0, 1., 1.5) << std::endl;
std::cout << "kummer[regularized](2.0, 1., I) "<< kyosu::kummer[kyosu::regularized](2.0, 1., I) << std::endl;
std::cout << "kummer[regularized](0.5, -2.0,-1.0) "<< kyosu::kummer[kyosu::regularized](1.0, 2.0, -3.0) << std::endl;
std::cout << "kummer[regularized](0.5, -2.0,-1.0) "<< kyosu::kummer[kyosu::regularized](1.0, 2.0, -3.001) << std::endl;
return 0;
}
constexpr auto complex
Constructs a kyosu::complex_t instance.
Definition: to_complex.hpp:75