2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 [Бернули] и его числа, эмм в алгоритм... :D
Сообщение20.09.2006, 04:26 
Аватара пользователя
Искал я значит в инете, искал, нашел!
Но половины из представленных формул не понял. :) да и некоторые части из понятых доже долго музорил пока не выбился из сил...

Нашел здесь линк

Сам по себе я прогер, правдо то что я пытался сделать по другим формулам не всегда отвечало правильно или же вовсе было далеко от правды, и вот мне приглянулась формула (38), как нечто простое и точное из всего представленного, на деле конечно было бы хороше вычислять B2n,но в данном случае и так сгодится.
И вот собсно, я в интегралах не разбираюсь, как там и что должно быть, пробовал читать, и изучать алгоритмы, но что-то связать их с этой формулкой не смог, да и как грамотно вычислить En , мне в принципе тоже не совсем понятно.

Так вот, я понимаю что вы не великие программеры и не все сдесь знаете C++ :) да и я в свою очередь не великий математик, ну ,а что поделать, потребовалось мне в формулке B2n вычислять, и некуда деваться :)

Так вот собсно, что я хотел бы попросить, ведь любую замудрённую формулу, мона разложить и обьяснить. ( типа найти общий язык :D )

Так вот кто хороше понимает изложенное сдесь, хочу разбить это все дело на 2 функции,

первая будет считать Bn , вторая En, не, ну, а малоли пригодится где нить En. :D

Представьте это как задачу такого типа :
Дано,
Найти,
Решение,

и запишите как нибудь, не в сложной форме, чтобы можно было преобразовать способ решения в алгоритм :)

ну вот например : сумма X от 1 до 4 просто обьясняется как x1 + x2 + x3 + x4 например :)
может с интегралами там и сложнее, да и понятное дело что и близко на сумму не похоже, но это был абстрактный пример, чтобы все подсчитывалось, мона догнаться.

Тем кто проникся и желает помочь, буду примного благодарен :)

 
 
 
 
Сообщение20.09.2006, 07:29 
Для вычисления там есть даже явные формулы, выражающие их через предыдущие.
Вопрос. Сколько вы членов хотите вычислить. Первые 200 (может и триста) членов давно вычислены и их числители разложены на простые множители. Я думаю в портале Number theory web вы сможете их найти. Представляете ли вы, что числители (знаменатели легко получаются) растут факториально и сколько требуется разрядов для представления числителя 1000 ного члена.
Ещё вопрос. С какой целью вы собираетесь их вычислять. Возможно для этого не требуется вычисление самих чисел Бернулли.

 
 
 
 
Сообщение21.09.2006, 01:10 
Аватара пользователя
Ну явные, не явные :) я все равно не сильно вкуриваю.

Вычилсять мне нужно для формулы тангенса :D

Про таблицы и тп, проще вычислить по формуле чем составлять таблицу чисел и тд...

$E_(n)$ надо еще в нескольких других формулах, то что Евлеровский Биноминал тож пригодится , если обьясните...

 
 
 
 
Сообщение21.09.2006, 06:25 
Аватара пользователя
Числа Бернулли получаются как решения системы равенств:
$C_1^1B_0=1$
$C_1^2B_1+C_2^2B_0=0$
$C_1^3B_2+C^3_2B_1+C_3^3B_0=0$
$C^4_1B_3+C^4_2B_2+C^4_3B_1+C_4^4B_0=0$
$...$
где $C^n_k=\frac{n!}{k!(n-k)!}$

 
 
 
 
Сообщение21.09.2006, 07:12 
Аватара пользователя
Артамонов Ю.Н. писал(а):
Числа Бернулли получаются как решения системы равенств:
$C_1^1B_0=1$
$C_1^2B_1+C_2^2B_0=0$
$C_1^3B_2+C^3_2B_1+C_3^3B_0=0$
$C^4_1B_3+C^4_2B_2+C^4_3B_1+C_4^4B_0=0$
$...$
где $C^n_k=\frac{n!}{k!(n-k)!}$


Что такое $C^n_k мне понятно...

Только не понятно как решить сие системо например для
$B_9$ ?

то есть чему будет равно $B_9$ исходя из этих равенств?

Только наглядно, чтобы мона было алгоритм написать :)

 
 
 
 
Сообщение21.09.2006, 07:57 
Аватара пользователя
В каждом последующем равенстве по сравнению с предыдущим пояляется только одна новая переменная, причем она входит в уравнение линейно и умножается на известный коэффициент $C^n_k. Поэтому Вы можете последовательно вычислить все нужные Вам числа Бернулли, начав с самого верхнего равенства и делая шаги вниз.

 
 
 
 
Сообщение21.09.2006, 19:11 
Аватара пользователя
:evil:
Вы прогер? Тогда Вам совет — ищите что нибудь другое. Потому как у Вашего процессора быстро поедет крыша либо из-за ограничения разрядной сетки целых, либо из-за точности плавающей точки. Один из самых простых способов — делить синус на косинус, то есть использовать рациональное приближение.

 
 
 
 
Сообщение22.09.2006, 04:47 
Аватара пользователя
незваный гость писал(а):
:evil:
Вы прогер? Тогда Вам совет — ищите что нибудь другое. Потому как у Вашего процессора быстро поедет крыша либо из-за ограничения разрядной сетки целых, либо из-за точности плавающей точки. Один из самых простых способов — делить синус на косинус, то есть использовать рациональное приближение.

Тото и оно :) что точность теряется.

 
 
 
 
Сообщение22.09.2006, 05:17 
Аватара пользователя
:evil:
Виталий писал(а):
Тото и оно :) что точность теряется.

Так в чем задача? В числах Бернулли, вычислении тангенса, или что-то третье? Это все-таки очень разные задачи…

 
 
 
 
Сообщение22.09.2006, 05:29 
Аватара пользователя
незваный гость писал(а):
:evil:
Виталий писал(а):
Тото и оно :) что точность теряется.

Так в чем задача? В числах Бернулли, вычислении тангенса, или что-то третье? Это все-таки очень разные задачи…


В числах бернулли :) а поповоду ограниченности на числа с большим кол-вом заков после запятой, так это ерунда. есть либы которые путём строк снимают такой лимит :)

 
 
 
 
Сообщение22.09.2006, 06:46 
Аватара пользователя
:evil:
Виталий писал(а):
Вычилсять мне нужно для формулы тангенса


Виталий писал(а):
Цитата:
Так в чем задача?
В числах бернулли

Вы уж решите, что Вам нужно… В конце концов, разложение в ряд Тейлора не лучшая формула для тангенса…

Кстати, коль на то пошло, уж если вычислять числа Бернулли, то используя рациональную арифметику.

 
 
 
 
Сообщение22.09.2006, 07:01 
Аватара пользователя
Ну вы меня загрузили :D

Короче просто покажите мне как полностью вычисляется $B(n)$

например как мы пришли к тому что $B(1)$ = -0.5
или $B(6)$ = 1/42

просто как вы решали и всё, я пойму алгоритм. ну покрайней мере то что вы делали перед тем как умножить все на бином кофф и что туда подставляли.

 
 
 
 
Сообщение22.09.2006, 07:19 
Аватара пользователя
:evil:
Артамонов Ю.Н. писал(а):
Числа Бернулли получаются как решения системы равенств:
$C_1^1B_0=1$
$C_1^2B_1+C_2^2B_0=0$
$C_1^3B_2+C^3_2B_1+C_3^3B_0=0$
$C^4_1B_3+C^4_2B_2+C^4_3B_1+C_4^4B_0=0$
$...$
где $C^n_k=\frac{n!}{k!(n-k)!}$

С таким $C^n_k$ я сталкиваюсь впервые. Обычно $C_n^k = \frac{n!}{k!(n-k)!}$.

Ну да ладно. Имеем $\sum\limits_{k=0}^{n}C_{n+1}^{k+1}B_{n-k}=0$. Или $(n+1)B_n + \sum\limits_{k=1}^{n}C_{n+1}^{k+1}B_{n-k}=0$. Откеле $B_n = -\frac1{n+1}\sum\limits_{k=1}^{n}C_{n+1}^{k+1}B_{n-k}$. Что Вы и просите…

 
 
 
 
Сообщение22.09.2006, 07:36 
Аватара пользователя
Эмм а тут что, рекурсив, то есть рекуррентность получается?
Bn само себя вызывает? :shock:

до какой степени хотябы? пока на конце не получится 0?

 
 
 
 
Сообщение22.09.2006, 08:07 
Аватара пользователя
Для рекурсивного нахождения $n$-го числа Бернулли надо знать все предыдущие с номерами от $0$ до $n-1$

Добавлено спустя 2 минуты 42 секунды:

Алгоритм с доказательством
http://www.cs.uwaterloo.ca/journals/JIS ... kaneko.pdf

 
 
 [ Сообщений: 18 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group