Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Вниз

Математическая бибилиотека   Найти похожие ветки 

 
Математ   (2003-08-04 19:12) [0]

Нужна бибилиотека для работы с числами произвольной длинны - т.е. "не жалкий Int64" - а для гигантских чисел - без потерь точности, очень прошк помочь, если кто знает линк.


 
HolACost   (2003-08-04 19:50) [1]

А вот поисчи, но имхо, лучше ищи что-нить на сях - быстрее работать явно будет....


 
McSimm   (2003-08-04 19:53) [2]

>HolACost
Да, еще надо проследить, чтобы все идентификаторы были написаны маленькими буквами, а то большие сильно тормозят вычисления

:)


 
HolACost   (2003-08-04 20:00) [3]

Ну да, а то программа не будет под виндами работать и простая математика не будет пахать!


 
Mystic   (2003-08-04 20:14) [4]

> Нужна бибилиотека для работы с числами произвольной длинны

Возникает вопрос --- зачем?

1. Если для шифрования, то не лучше ли поискать готовые решения?

2. Для каких-то своих нужд можно и самому написать... Реализация + - * / тянет на где-то на день...

3. Расчетные задачи проще решать в специализированых пакетах, нежели в Delphi.


 
RIMMER   (2003-08-05 03:58) [5]

Еще вроде у Форсайта в книжке описаны были приемы работы с гигантскими числами в виде массивов. Не ты первый - поищи.


 
Думкин   (2003-08-05 05:07) [6]

> Математ (04.08.03 19:12)
За орешки? Не дам.


 
Alex Konshin   (2003-08-05 06:27) [7]

Кажется в JCL есть большие числа.


 
Danilka   (2003-08-05 07:53) [8]

Mystic © (04.08.03 20:14)
>Возникает вопрос --- зачем?

Несколько лет назад, когда я делал свой калькулятор :)) меня вдруг очень удивила такая большая точность стандартного виндявого калькулятора 32-33 разряда. Ни один из изветсных мне тогда калькуляторов такой точности не давал. Закачал с www.download.com кучу великую калькуляторов - максимум 8 разрядов. Эксель - тоже 8 разрядов. Вобщем, меня тогда это сильно заинтересовало.
Кстати, в Орокле вычисления с точностью до 40 знаков:
begin
dbms_output.put_line(1/9);
end;
вот это возвращает:
,1111111111111111111111111111111111111111


 
icWasya   (2003-08-05 10:40) [9]

http://algolist.manual.ru


 
Igorek   (2003-08-05 10:42) [10]

http://www.rsdn.ru/Forum/?mid=79173


 
Mystic   (2003-08-05 10:43) [11]

>большая точность стандартного виндявого калькулятора 32-33 разряда

Я это заметил... Да только зачем мне эта точность? Если данные вводить в парсеках (3 * 10^16 м), то точность этого калькулятора позволит оперировать расстояниями с точностью диаметра протона (1.6 * 10^-15)... Где я возьму такую точность исходных данных?


 
pasha_golub   (2003-08-05 11:07) [12]

2Mystic
В ядерной физике :-) в масштабах Вселенной


 
Empleado   (2003-08-05 11:21) [13]

Помнится такая задачка была в университете, курсе на втором. Только конспектов у меня с собой нету :((


 
Думкин   (2003-08-05 13:39) [14]

> Empleado © (05.08.03 11:21)
Если конспекты не в голове - то это бумага, равно как и диплом.


 
pasha_golub   (2003-08-05 14:02) [15]

2Думкин

МАЛАДЕЦ, вах! :-)


 
AFrolov   (2003-08-05 15:21) [16]

2 Mystic © (05.08.03 10:43)
А насчет огромной точности - в масштабе вселенной не надо. И про протоны с нейтронами тоже. Если к парсекам в метрах + диаметр протона в метрах то боюсь что разрадности уже не хватит и получится в результате только парсеки а об нейтронах и прочих кварках в результате сложения и воспоминания не будет.
Теперь 2 более земных примера:
1. Обращение матрицы Гильберта порядка 10х10 (это матрица элемент которой равен 1/(i+j-1) индексация с 0). Обратите ее обычным Гаусом и после этого перемножте исходную и обратную. Полюбуйтесь на получившийся хлам.
2. Задачи экстраполяции к пределу. Например метод Ромберга - самый классический метод. Сделайте эту процедуру порядка так 11 и продолжите повышать порядок экстраполяции - увидете что вопреки теоретическим оценкам - точность результата не растет а падает.


 
AFrolov   (2003-08-05 15:32) [17]

2 Математ (04.08.03 19:12)
рассказывай по мылу зачем нужна - если дело достойное то может и поделюсь.


 
Mystic   (2003-08-05 15:44) [18]

1. Существуют методы, позволяющие производить уточнение
полученного решения.

2. Для каждой конкретной задачи выбор метода решения должен быть разумным.

3. Обращать матрицу десятого порядка на калькуляторе? Увольте!

4. >> равен 1/(i+j-1) индексация с 0 Все же индексация с единицы ;)

>> A = hilb(10);
>> B = inv(A);
>> A * B

ans =

Columns 1 through 5

1.0001 0.0000 -0.0002 -0.0000 0.0001
0.0001 1.0000 -0.0002 -0.0000 0.0000
0.0001 0.0000 0.9999 -0.0000 0.0000
0.0001 0.0000 -0.0001 1.0000 0.0000
0.0000 0.0000 -0.0001 -0.0000 1.0000
0.0000 0.0000 -0.0001 -0.0000 0.0000
0.0000 0.0000 -0.0001 -0.0000 0.0000
0.0000 0.0000 -0.0001 -0.0000 0.0000
0.0000 0.0000 -0.0001 -0.0000 0.0000
0.0000 0.0000 -0.0001 -0.0000 0.0000

Columns 6 through 10

0.0001 -0.0001 0.0000 -0.0001 0.0000
0.0001 -0.0002 0.0001 -0.0001 0.0000
0.0000 -0.0001 0.0001 -0.0001 0.0000
0.0000 -0.0000 -0.0000 -0.0000 0.0000
-0.0000 -0.0000 0.0001 -0.0000 0.0000
1.0000 -0.0000 0.0000 -0.0000 0.0000
0.0000 0.9999 0.0001 -0.0000 0.0000
0.0001 -0.0000 1.0000 -0.0000 0.0000
0.0000 -0.0001 0.0000 1.0000 0.0000
0.0000 -0.0000 0.0000 -0.0000 1.0000


Неплохое начальное приближение?


 
AFrolov   (2003-08-05 16:19) [19]

2 Mystic © (05.08.03 15:44)

1. Методы существуют - это факт. Но иногда подобрать метод или его изобрести не проще чем решить саму задачу. Длинная арифметика - способ избавления от ошибок округления, при должной длине эфективность 100%.
2. Насчет разумности выбора спора нет. Но не всегда человек эту разумность может проявить. Длинная арифметика - размен мозгов на машинное время. Мозги нынче гораздо дороже железок... Пусть лучше комп посчитает ночку чем изобретать разумный подход целый год.
3. Ну не такой же я извращенец. Речь конечно идет о компьютерной реализации и всего лишь о классическом примере.
4. Максимальная погрешность элемента порядка 10e-4 для ряда задач - хорошо. А для некоторых недопустимо много. Особенно если это только промежуточный результат и с ним еще предстоит много вычислений или он подставляется в качестве парамета плохообусловленной задачи. Насчет индексации промашка вышла признаю. - и + перепутал.


 
Calm   (2003-08-05 17:01) [20]

На королевстве Дельфи, помнится, кто-то выкладывал на всеобщее скачивание.


 
Mystic   (2003-08-05 18:28) [21]

1. Чтобы полностью избавиться от ошибок округления пользуются Maple или подобными средствами... Во всяком случае подобные приложения весьма специфичны и обычно возникают в теоретических задачах...

3. Разговор у нас шел про точность в 32 разряда на стандартном калькуляторе Windows. Имхо, там такая точность лишь мешает.


 
Думкин   (2003-08-06 06:12) [22]

> AFrolov © (05.08.03 16:19)
А вот не надо. Иногда подыскать метод - и решения - это и есть вся дессра. Не надо плакатьо - все там плавали.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.008 c
1-68355
Yuraz
2003-08-08 13:08
2003.08.21
Мастера, как после trunc(Date) обратно получить дату?


14-68485
Работодатель
2003-07-29 15:18
2003.08.21
А чем мы хуже? У нас тоже появилась вакансия!


14-68507
HolACost_
2003-08-05 16:35
2003.08.21
UU, XX, Base64


14-68544
Yanis
2003-07-30 15:20
2003.08.21
Автозаполнение


9-68140
Кен
2003-02-20 07:20
2003.08.21
Glscene Как сохранить в текст GLCamera1.TargetObject.Direction и





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский