Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#2,182 16 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Documentação
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
csharp
Domínio
documentation

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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), and fallingfactorial, factorialpower and risingfactorial (#2194). multinomial, the gamma ratio agreed below (#2197), catalannumber (#2198), harmonicnumber (#2200), forwarddifference (#2201) and lambertw (#2202), with K (a x + b) c^(g x + d) = k solved through it (#2203). The constant eulergamma, \mathrm{\gamma}, also read as EulerGamma, with digamma exact at a whole or half-whole argument and harmonicnumber at a half-whole one (#2204).

Proposed
Name Also accepted Wikipedia MathWorld Mathematica SymPy LaTeX Convention
beta(a, b) Beta function Beta Function Beta beta \operatorname{B}\left(a, b\right)
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
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
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

Linguagem predominante
C#
Estrelas
831
Forks
79
Merge médio
1h 16min
PRs com merge (30d)
521

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de ASC-Community/AngouriMath

Todas as issues de ASC-Community/AngouriMath

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.