JuliaSIMD / JuliaSIMD/LoopVectorization.jl
tracking Special Functions' support
- Lenguaje dominante
- Julia
- Estrellas
- 789
- Forks
- 73
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
This is a follow-up of #232. Right now I would be interested in LV's support of the whole `erf` family (`erfc` and `erfcx` in particular), but since we are at it maybe it is useful to track the whole [special functions' family](https://juliamath.github.io/SpecialFunctions.jl/dev/functions_overview/):
- [ ] gamma(z) gamma function \Gamma(z)Γ(z)
- [ ] loggamma(x) accurate log(gamma(x)) for large x
- [ ] logabsgamma(x) accurate log(abs(gamma(x))) for large x
- [ ] logfactorial(x) accurate log(factorial(x)) for large x; same as loggamma(x+1) for x > 1, zero otherwise
- [ ] digamma(x) digamma function (i.e. the derivative of loggamma at x)
- [ ] invdigamma(x) invdigamma function (i.e. inverse of digamma function at x using fixed-point iteration algorithm)
- [ ] trigamma(x) trigamma function (i.e the logarithmic second derivative of gamma at x)
- [ ] polygamma(m,x) polygamma function (i.e the (m+1)-th derivative of the loggamma function at x)
- [ ] gamma(a,z) upper incomplete gamma function \Gamma(a,z)Γ(a,z)
- [ ] loggamma(a,z) accurate log(gamma(a,x)) for large arguments
- [ ] gamma_inc(a,x,IND) incomplete gamma function ratio P(a,x) and Q(a,x)
- [ ] beta_inc(a,b,x,y) incomplete beta function ratio Ix(a,b) and Iy(a,b)
- [ ] gamma_inc_inv(a,p,q) inverse of incomplete gamma function ratio P(a,x) and Q(a,x)
- [ ] beta(x,y) beta function at x,y
- [ ] logbeta(x,y) accurate log(beta(x,y)) for large x or y
- [ ] logabsbeta(x,y) accurate log(abs(beta(x,y))) for large x or y
- [ ] logabsbinomial(x,y) accurate log(abs(binomial(n,k))) for large n and k near n/2
- [ ] expint(ν, z) exponential integral
- [ ] expinti(x) exponential integral
- [ ] expintx(x) scaled exponential integral
- [ ] sinint(x) sine integral
- [ ] cosint(x) cosine integral
- [x] erf(x) : ref. #232
- [ ] erf(x,y)
- [ ] erfc(x) complementary error function,
- [ ] erfcinv(x) inverse function to erfc()
- [ ] erfcx(x) scaled complementary error function
- [ ] logerfc(x) log of the complementary error function
- [ ] logerfcx(x) log of the scaled complementary error function
- [ ] erfi(x) imaginary error function defined as -i \operatorname{erf}(ix)−ierf(ix)
- [ ] erfinv(x) inverse function to erf()
- [ ] dawson(x) scaled imaginary error function, a.k.a. Dawson function,
- [ ] airyai(z) Airy Ai function at z
- [ ] airyaiprime(z) derivative of the Airy Ai function at z
- [ ] airybi(z) Airy Bi function at z
- [ ] airybiprime(z) derivative of the Airy Bi function at z
- [ ] airyaix(z), airyaiprimex(z), airybix(z), airybiprimex(z) scaled Airy Ai function and kth derivatives at z
- [ ] besselj(nu,z) Bessel function of the first kind of order nu at z
- [ ] besselj0(z) besselj(0,z)
- [ ] besselj1(z) besselj(1,z)
- [ ] besseljx(nu,z) scaled Bessel function of the first kind of order nu at z
- [ ] sphericalbesselj(nu,z) Spherical Bessel function of the first kind of order nu at z
- [ ] bessely(nu,z) Bessel function of the second kind of order nu at z
- [ ] bessely0(z) bessely(0,z)
- [ ] bessely1(z) bessely(1,z)
- [ ] besselyx(nu,z) scaled Bessel function of the second kind of order nu at z
- [ ] sphericalbessely(nu,z) Spherical Bessel function of the second kind of order nu at z
- [ ] besselh(nu,k,z) Bessel function of the third kind (a.k.a. Hankel function) of order nu at z; k must be either 1 or 2
- [ ] hankelh1(nu,z) besselh(nu, 1, z)
- [ ] hankelh1x(nu,z) scaled besselh(nu, 1, z)
- [ ] hankelh2(nu,z) besselh(nu, 2, z)
- [ ] hankelh2x(nu,z) scaled besselh(nu, 2, z)
- [ ] besseli(nu,z) modified Bessel function of the first kind of order nu at z
- [ ] besselix(nu,z) scaled modified Bessel function of the first kind of order nu at z
- [ ] besselk(nu,z) modified Bessel function of the second kind of order nu at z
- [ ] besselkx(nu,z) scaled modified Bessel function of the second kind of order nu at z
- [ ] jinc(x) scaled Bessel function of the first kind divided by x. A.k.a. sombrero or besinc
- [ ] ellipk(m) complete elliptic integral of 1st kind K(m)K(m)
- [ ] ellipe(m) complete elliptic integral of 2nd kind E(m)E(m)
- [ ] eta(x) Dirichlet eta function at x
- [ ] zeta(x) Riemann zeta function at x
- [ ] binomial(n, p)
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Start by reading follow-up issue #232 and the linked SpecialFunctions.jl functions overview, then identify which functions are in scope beyond the checked erf item. The issue does not name source files, tests, or a bounded target, so completion would require agreeing on a smaller function set and defining coverage and correctness checks for it.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- julia
- Área
- performance
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100