2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 x!=a
Сообщение17.07.2007, 09:43 


17/07/07
15
Уважаемые гуру, какие пути решения могут быть.
x!=a
Спасибо :D

 Профиль  
                  
 
 
Сообщение17.07.2007, 10:06 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Относительно $a$? :)

Серьезно, какое решение интересует: численное, асимптотическое, для каких $a$ (порядок)… ?

 Профиль  
                  
 
 
Сообщение17.07.2007, 10:21 


17/07/07
15
a - любое из R

 Профиль  
                  
 
 
Сообщение17.07.2007, 17:16 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Тогда $x = \Gamma^{-1}(a)-1$.

Учтите, что $\Gamma$ не обращается однозначно, Вам придется выбирать одно из бесконечно многих решений.

См. mathworld.

 Профиль  
                  
 
 
Сообщение18.07.2007, 08:57 


17/07/07
15
Спасибо за ссылку :)
Но сдается мне бантик тот же, только вид сбоку :roll:
Если к примеру ограничиться для x и a множеством N, то можно ли определить x однозначно без табличных методов? Есть ли формулы не преобразующие задачу к виду x^x ? Пусть с некоторой потерей точности.
З.Ы. или x^x = a решается "устно" ?

 Профиль  
                  
 
 
Сообщение18.07.2007, 10:18 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
eprst писал(а):
Если к примеру ограничиться для x и a множеством N, то можно ли определить x однозначно без табличных методов?
Функция n! монотонно и быстро возрастает. Если, начиная с n=1, последовательно вычислять n! , то наступит счастливый момент, когда станет верным равенство n! =а или неравенство n!>a. Таким образом, для каждого натурального а задача решается за конечное (и несложно оцениваемое сверху) число шагов.

 Профиль  
                  
 
 
Сообщение18.07.2007, 11:14 


17/07/07
15
Brukvalub писал(а):
Если, начиная с n=1, последовательно вычислять n!

А в чем принципиальное отличие от табличных методов? Загнать в елеметарный while строчку кода слишком просто.
Если переходить к алгоритму, то как решить задачу, что бы для любого a (ограничения см выше) число шагов было бы одинаковым +/- 5-6 :) . Т.е некое аналитическое выражение.

 Профиль  
                  
 
 
Сообщение18.07.2007, 18:13 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Ну, пойдите каким-нибудь итеративным путем. Например, $x_0 = \ln a$, $x_{k+1} = \frac {x_k \ln a}{\ln(x_k!)}$. Если не хочется возиться с $\Gamma$, можно округлять результат вычисления.

Я проверил: для $100!$ получается $4$ итерации, для $123456!$$6$.

P.S. Для $x^x$ все еще проще: $x_{k+1} = \frac {\ln a }{\ln(x_k)}$. Дальше можно строить разложение в ряд (но не Тейлора) по $(\ln\ln a)^{-1}$. Но имеет очень ограниченное значение…

P.P.S. Вместо факториала можно использовать формулу Стирлинга, и жизнь еще упроститься: $\ln (x!) = \ln (\sqrt{2\pi n}(\frac{n}{\rm e})^n)+\frac1{12}n^{-1}-\frac1{360}n^{-3}+\frac1{1260}n^{-5}-\frac1{1680}n^{-7}…$

 Профиль  
                  
 
 
Сообщение19.07.2007, 10:51 


17/07/07
15
незваный гость писал(а):
Например, $x_0 = \ln a$, $x_{k+1} = \frac {x_k \ln a}{\ln(x_k!)}$.

Если не сложно поясните , пусть x!=100, то на каком k остановиться? :lol:
Или надо проверять каждый полученный x_{k}?
незваный гость писал(а):
P.P.S. Вместо факториала можно использовать формулу Стирлинга, и жизнь еще упроститься: $\ln (x!) = \ln (\sqrt{2\pi n}(\frac{n}{\rm e})^n)+\frac1{12}n^{-1}-\frac1{360}n^{-3}+\frac1{1260}n^{-5}-\frac1{1680}n^{-7}…$

Я так понял в вашей записи x=n (ru.wikipedia.org/wiki/Факториал).
И значит надо в результате решить n^n=b, где b=f(a). И все опять сводится к пояснению, просьба о котором была выше. :lol:

 Профиль  
                  
 
 
Сообщение19.07.2007, 18:46 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
eprst писал(а):
Если не сложно поясните , пусть x!=100, то на каком k остановиться? Laughing

1) А на каком Вы хотите? Вы знаете, что 100 не является факториалом целого числа. Поэтому вопрос: а какой, собственно, ответ Вы ожидаете? Точный? Так он приведен выше, через обращение $\Gamma$-функции. Что $a$ не является факториалом? это можно проверить исходя из знакопеременности ошибки: если интервал $(x_{k}, x_{k+1})$ не содержит целого числа, то $a$ не является факториалом целого.

2) Итеративный метод сходится заметно медленнее для небольших $a$. В частности, при $a=100$ потребовалось $28$ итераций, чтобы получить ответ с точностью $10^{-3}$. Мой ответ (4) итерации относился к (а) округлению результатов каждой итерации, и (б) к $a = 100!$ (а не $a=100$).

Пожалуй, моя рекомендация (в предыдущем сообщении) применять округление не хороша. При точном факториале она работает, но при неточном (скажем, $a = 10!+1$) может зациклиться.

3) При $a \leq 10$ итеративный процесс и вовсе расходится.

4) $\Gamma^{-1}$ не выражается в замкнутой форме через элементарные функции, если Вы это имеете в виду. То же, я думаю, относится и к решению $x^x = a$.

eprst писал(а):
Я так понял в вашей записи x=n

Поняли правильно. Ошибся, бывает это со мной.

 Профиль  
                  
 
 
Сообщение19.07.2007, 20:15 


17/07/07
15
Большое спасибо за внимание к теме. Буду ковырять Г-ф-цию.
З.Ы. а "факториал не целого числа" с т.з. определения nonsence :D (в смысле звучит также загадочно и непонятно)
З.З.Ы переход от Г к факториалу тоже загадочен, есть ли там оговорка о кратности аргумента еденице ?:D

 Профиль  
                  
 
 
Сообщение19.07.2007, 21:43 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Обычное понимание выражения «факториал нецелого числа» основано на тождестве $n! = \Gamma(n+1)$.

$\Gamma$ определена на $\mathbb C $ исключая 0 и множество отрицательных целых чисел.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group