A register of function names, by what a mathematician calls each
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
- 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. - Where mathematicians call a function by its standard symbol alone, the symbol's name is used:
zeta(ζ),beta(B). This is howgamma(Γ) anderfare already named. Where mathematics writes an operator rather than a function, the operator is the spelling: the double factorial is the postfixn!!, as the factorial isn!, and congruence isa = b (mod n). - A name that already means something else in mathematics is not used.
divis the divergence, so the integer quotient isquotient.deltais Kronecker's and Dirac's, so the forward difference isforwarddifference.catalanalone is also Catalan's constant, andharmonicalso the harmonic mean, socatalannumberandharmonicnumber.pochhammer, and the notation(x)_n, mean the rising factorial in special functions and the falling one in combinatorics, so neither is used.
- 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.
- Nothing is added that the library already writes another way.
isprime(n)isn in PP,clamp(x, a, b)ismin(max(x, a), b), the fractional part isx mod 1(floored, so in[0, 1)) and the integer quotient isfloor(a/b). The Heaviside step function is the same case. Its sources disagree on its value at 0, soheavisidewould have to pick one: Wikipedia lists0,1/2,1,[0, 1]and none, MathWorld gives1/2, DLMF 1.16.130, Mathematica'sUnitStep1and itsHeavisideThetanone. Each is already written exactly:iverson(x > 0),iverson(x >= 0)and(1 + sgn(x))/2, so neitherheavisidenorunitstepis 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
- Langage dominant
- C#
- Étoiles
- 831
- Forks
- 79
- Merge moyen
- 1 h 16 min
- PR mergées (30 j)
- 521
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ASC-Community/AngouriMath
-
Substituting for a derivative's variable is dropped: derivative(x^3, x) at x = 1 evaluates to 3 x^2Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
ASC-Community/AngouriMath#2189 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
ASC-Community/AngouriMath#2164 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
ASC-Community/AngouriMath#2160 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
ASC-Community/AngouriMath#2153 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
ASC-Community/AngouriMath#2152 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de ASC-Community/AngouriMath
Issues similaires
-
[Bug] Dashboard renders attachment links that resolve to 404 when the FILES binding is absentOuvertebug 優先: 低
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
-
area-ai bug untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
dotnet/extensions#7893 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
-
documentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100