Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.21;
Скачать: CL | DM;

Вниз

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

 
Математ   (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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.012 c
14-68516
CD
2003-08-05 15:04
2003.08.21
Компонент


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


1-68367
Li
2003-08-08 08:30
2003.08.21
ошибка Access Violation


14-68440
Nucl
2003-08-06 14:26
2003.08.21
ADOQuery или ADOStoredProc


3-68193
egormakarov
2003-07-28 12:17
2003.08.21
Query