2010-06-21 4 views
6

C'è un modo per calcolare il fattore inverso dei numeri reali?Come calcolare il fattoriale inverso di un numero reale?

Per esempio - 1.5 ! = 1.32934039

C'è qualche modo per ottenere 1.5 indietro se ho il valore 1.32934039?

sto cercando

http://www.wolframalpha.com/input/?i=Gamma^(-1)[1.32934039]

, ma che è un fail.

+3

FY Anche in questo caso non funziona con numeri naturali. Cioè la funzione Γ non ha inversa in generale. –

+3

@Konrad Rudolph: non ha inverso? Non capisco. Ci dovrebbe essere * un po '* inverso. – Lazer

+0

Penso che potresti voler porre la tua domanda su http://mathoverflow.net/ –

risposta

5

Utilizzando wolframalpha.com, è possibile chiedere

Solve[Gamma[x+1]==1.32934039,x] 

Come accennato nei commenti, Gamma non ha un'inversa unico. Vero anche quando stai risolvendo per un fattoriale convenzionale, ad es.

Solve[Gamma[x+1]==6,x] 

cede più risposte, di cui uno è 3.

Invece di usare Gamma [] nel WolframAlpha, è anche possibile utilizzare fattoriale []:

Solve[Factorial[x]==6,x] 
Solve[Factorial[x]==1.32934039,x] 
+2

"Il fattoriale conventuale" è definito solo sui numeri naturali {0, 1, 2, ...}, e per questo l'unico problema è che 0! = 1 !. (Ad esempio, x! = 6 ha solo una radice nei numeri naturali, cioè 3.) –

+1

@Andreas, OP sta chiedendo una generalizzazione dei fattoriali convenzionali nota come funzione gamma. Questo è implementato in Mathematica/WolphramAlpha come Gamma [x + 1] o Fattoriale [x]. Provaci. – brainjam

+0

Naturalmente lo so. Conosco molto bene la funzione Gamma. Ma brainjam dice che "la gamma non ha un inverso unico. Vero anche quando si risolve un fattoriale convenzionale, ad esempio Risolvi [Gamma [x + 1] == 6, x] produce diverse risposte, di cui una è 3. " Questo può essere interpretato come se x! = 6 ha diverse soluzioni sui numeri naturali, che è falso. L'unica soluzione è 3. Forse è solo una brutta formulazione. –

3

Per gli interi si può fare:

i = 2 
n = someNum 
while (n != 1): 
    n /= i 
    i += 1 
return (i==1 ? i : None) 

Il fattoriale di numeri reali non ha inversa. Dici che "ogni funzione deve avere un inverso". Non è corretto Considera la funzione costante f(x)=0. Che cos'è f^-1(42)? Perché una funzione sia inversa deve essere sia un'iniezione e una suriezione.

+0

Dovrebbe essere 'i = 1', la divisione e l'incremento dovrebbero essere scambiati e si può semplicemente restituire' i'. –

+0

Non dice "ogni funzione" (ma forse l'ha modificata?). Ma 'Γ (x)' su '[2, ∞)' è (a differenza di 'f (x) = 0') iniettivo. Ci dovrebbe essere un'inversione almeno su quel sottodominio. – Ken

+0

A: grazie, capisco i concetti inversi però. Quello che ho detto è stato nel contesto della funzione gamma - perché sembra che sia una funzione non decrescente di uno, almeno per numeri reali positivi. – Lazer

5

David Cantrell dà una buona ravvicinamento delle Γ -1 (n) su this page:

 
k = the positive zero of the digamma function, approximately 1.461632 
c = Sqrt(2*pi)/e - Γ(k), approximately 0.036534 
L(x) = ln((x+c)/Sqrt(2*pi)) 
W(x) = Lambert W function 
ApproxInvGamma(x) = L(x)/W(L(x)/e) + 1/2