Skip to content

Hyperfactorial ​

The hyperfactorial H(n)=∏k=1nkkH(n) = \prod_{k=1}^n k^k, continued to complex arguments: H(z)=Γ(z+1)z/G(z+1)H(z) = \Gamma(z+1)^z / G(z+1).

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageHyperfactorial!
Hyperfactorial(n)the hyperfactorial of n.
Typed signatures
TypePackageApplies
(number) -> numberanalyticalways

Domain: Special functions

Details
  • H(0)=1H(0) = 1, the empty product.
  • Continued off the nonnegative integers by H(z)=Γ(z+1)z/G(z+1)H(z) = \Gamma(z+1)^z / G(z+1) (G = BarnesG); numeric there, checked against a Wolfram kernel to double precision.
  • Exact at a nonnegative integer -- an arbitrarily large exact product, not a decimal.
  • Real, nonnegative domain only: BarnesG's zeros at the nonpositive integers give the continuation poles there, and no reference example calls for a negative or complex argument.

Examples

3 more kept as data, checked against the oracles
Basic #

11 22 33 441^1\,2^2\,3^3\,4^4

live ↗
InHyperfactorial(4)\mathrm{Hyperfactorial}(4)Out27 64827\,648

The empty product

live ↗
InHyperfactorial(0)\mathrm{Hyperfactorial}(0)Out11

Listable

live ↗
InHyperfactorial([1,2,3,4,5,6])\mathrm{Hyperfactorial}(\bigl\lbrack1, 2, 3, 4, 5, 6\bigr\rbrack)Out[1,4,108,27 648,86 400 000,4 031 078 400 000]\bigl\lbrack1, 4, 108, 27\,648, 86\,400\,000, 4\,031\,078\,400\,000\bigr\rbrack

Continued off the integers

live ↗
InHyperfactorial(0.5)\mathrm{Hyperfactorial}(0.5)Out0.880 449 235 173 423 40.880\,449\,235\,173\,423\,4

H(10)H(10), well past double range — exact bigint arithmetic, not a rounded double.

live ↗
InHyperfactorial(10)\mathrm{Hyperfactorial}(10)Out215 779 412 229 418 562 091 680 268 288 000 000 000 000 000215\,779\,412\,229\,418\,562\,091\,680\,268\,288\,000\,000\,000\,000\,000
Scope #

An exact non-integer argument stays symbolic — N() gives the float continuation

live ↗
InHyperfactorial(12)\mathrm{Hyperfactorial}(\frac{1}{2})OutHyperfactorial(12)\mathrm{Hyperfactorial}(\frac{1}{2})
About
Examples9
Checked againstWolfram Language 8 agree1 differ
CrosswalkWolfram Language

Implementation

primitive · numericirreducibly numeric — it evaluates rather than rewrites

nativeenginetypescriptpackages/symbols/analysis/analytic/src/hyperfactorial.ts

See also: BarnesG