Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

A register of function names, by what a mathematician calls each

Ouverte
#2,182 13 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
Active
Stack technique
csharp
Domaine
documentation

Piste de recherche

Start by reading the naming rules, the proposed function table, and the related issues #2180–#2194 listed in the issue. The issue identifies no source files or tests; it calls for settling conventions across many proposed functions, including the zeta naming rule that is still marked “To decide.” Done means the names, accepted aliases, LaTeX forms, and reserved names are settled consistently.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

The names and conventions of functions the library does not have yet, fixed before any of them is implemented, so that they land in any order without being argued again. This replaces a first version that copied an older table and its rule that SymPy's spelling wins. That rule gave lambertw beside zeta, and SymPy's cryptic ff and rf.

The rule
  1. A function is named by what a mathematician calls it. That is its Wikipedia article and MathWorld entry, in lower case, without spaces or the word "function": lambertw (Lambert W function), harmonicnumber, doublefactorial, fallingfactorial.
  2. Where mathematicians call a function by its standard symbol alone, the symbol's name is used: zeta (ζ), beta (B). This is how gamma (Γ) and erf are already named. Where mathematics writes an operator rather than a function, the operator is the spelling: the double factorial is the postfix n!!, as the factorial is n!, and congruence is a = b (mod n).
  3. A name that already means something else in mathematics is not used.
    • div is the divergence, so the integer quotient is quotient.
    • delta is Kronecker's and Dirac's, so the forward difference is forwarddifference.
    • catalan alone is also Catalan's constant, and harmonic also the harmonic mean, so catalannumber and harmonicnumber.
    • pochhammer, and the notation (x)_n, mean the rising factorial in special functions and the falling one in combinatorics, so neither is used.
  4. Mathematica's name is accepted on input where it is another spelling of the same function, and SymPy's where it is unambiguous. Only the chosen name is printed.
  5. Nothing is added that the library already writes another way. isprime(n) is n in PP, clamp(x, a, b) is min(max(x, a), b), the fractional part is x mod 1 (floored, so in [0, 1)) and the integer quotient is floor(a/b). The Heaviside step function is the same case. Its sources disagree on its value at 0, so heaviside would have to pick one: Wikipedia lists 0, 1/2, 1, [0, 1] and none, MathWorld gives 1/2, DLMF 1.16.13 0, Mathematica's UnitStep 1 and its HeavisideTheta none. Each is already written exactly: iverson(x > 0), iverson(x >= 0) and (1 + sgn(x))/2, so neither heaviside nor unitstep is added; both are refused with those three spellings (see #2182).

The sources are listed for each row as evidence, not as the reason.

LaTeX reads back as what it came from. A Greek letter or a capital that could be a variable is wrapped in \operatorname, as phi(n) already draws as \operatorname{\varphi}\left(n\right), since mu * (n + 1) draws as \mu \left(n+1\right). Braces are left for sets. A constant is upright, as pi is \mathrm{\pi}.

Shipped

floor, ceil, round, mod, min, max, gcd, lcm, phi, binomial, sum, product, erf, erfc, digamma, polygamma, gamma, and congruence as a = b (mod n). Also prime(n), valuation, iverson, det, transpose, dot, cross and resultant (#2180), conjugate/conj and arg (#2181), Re and Im (#2185), the double factorial n!! (#2187), and mobius, divisorsigma, primenu, primeomega and primepi (#2188). laplacian, jacobian and hessian (#2190). In review: fallingfactorial, factorialpower and risingfactorial (#2194).

Proposed
Name Also accepted Wikipedia MathWorld Mathematica SymPy LaTeX Convention
fallingfactorial(x, n) factorialpower Falling and rising factorials Falling Factorial FactorialPower ff x^{\underline{n}} x (x - 1) ... (x - n + 1); Knuth's underbar, from Concrete Mathematics
risingfactorial(x, n) Falling and rising factorials Rising Factorial Pochhammer rf x^{\overline{n}} x (x + 1) ... (x + n - 1); Knuth's overbar. A conjugate in an exponent then draws in parentheses, x^{\left(\overline{n}\right)}, so the two read apart
harmonicnumber(n), (n, m) Harmonic number Harmonic Number HarmonicNumber harmonic \operatorname{H}_{n}, \operatorname{H}_{n}^{(m)} the sum of 1/k^m for k up to n
catalannumber(n) Catalan number Catalan Number CatalanNumber catalan \operatorname{C}_{n} binomial(2n, n)/(n + 1)
multinomial(n_1, ..., n_k) Multinomial theorem Multinomial Coefficient Multinomial \binom{n_1 + ... + n_k}{n_1, ..., n_k}
beta(a, b) Beta function Beta Function Beta beta \operatorname{B}\left(a, b\right)
lambertw(z), (k, z) productlog Lambert W function Lambert W-Function ProductLog[z], ProductLog[k, z] LambertW(z, k) \operatorname{W}_{k}\left(z\right) the branch first, as the subscript and Mathematica read; 0 without it
zeta(s), zeta(s, a) Riemann zeta function, Hurwitz zeta function Riemann Zeta Function, Hurwitz Zeta Function Zeta, HurwitzZeta zeta \operatorname{\zeta}\left(s\right), \operatorname{\zeta}\left(s, a\right) To decide: rule 2 gives zeta, rule 1 gives riemannzeta and hurwitzzeta
forwarddifference(f, k) Finite difference Forward Difference DifferenceDelta \operatorname{\Delta}_{k} f f(k + 1) - f(k)
norm(v), (v, p) Norm (mathematics) Vector Norm Norm Matrix.norm \left| v \right|_{p} p = 2 by default; p = +oo is the largest modulus
grad(f, x) gradient Gradient Gradient Grad gradient \nabla f a column
div(F, x) divergence Divergence Divergence Div divergence \nabla \cdot F
curl(F, x) Curl (mathematics) Curl Curl curl \nabla \times F three dimensions only

One constant: eulergamma, \mathrm{\gamma}, needed by digamma, harmonicnumber and zeta. Wikipedia calls it Euler's constant, MathWorld the Euler-Mascheroni Constant, and Mathematica and SymPy EulerGamma. It is spelled out because gamma is already the Γ function.

Reserved until implemented

An unknown name followed by a bracket is read as a product, so zeta(s) is zeta * s today, silently. #2184 refuses the long names by name until each is implemented. Short names that could be somebody's variable before a bracket are not reserved: beta, norm, grad, div, curl, frac.

Related: #809 (the research), #2145, #2147.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Langage dominant
C#
Étoiles
831
Forks
79
Merge moyen
1 h 16 min
PR mergées (30 j)
521

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ASC-Community/AngouriMath

Toutes les issues de ASC-Community/AngouriMath

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.