Программная реализация численных методов в длинной арифметике. Монография
.pdfС метки 2010 по метку 1231 реализуется алгоритм вычитания из делимого де-
лителя и подсчета количества этих вычитаний, то есть расчет значения частного.
После метки 1231 идет корректировка количества разрядов в целой и дробной частях частного.
2.8 Подпрограмма по реализации деления с учетом знаков
Вызов подпрограммы:
call delzn(za, zb, zc, n, nd, a, ad, m, md, b, bd, kcdel, kddel, cdel, ddel, krazr), где: za – знак делимого,
zb – знак делителя. zc – знак частного,
остальные параметры аналогичны параметрам подпрограммы deld при вызове.
Вначале подпрограммы идет запоминание исходных данных,значений дели-
мого и делителя.
Потом идет вычисление знака частного: zc=za×zb.
Потом идет вызов подпрограммы deld для реализации длинного деления.
Потом идет восстановление исходных данных, делимого и делителя.
31
3 Вычисления гамма-функции и гипергеометрических функций
Рассматриваются программные реализации вычисления гамма-функции и гипергеометрических функций в длинной арифметике на однопроцессорном и многопроцессорном комплексах.
Разработанный алгоритм длинной арифметики позволил выполнять все ариф-
метические операции с произвольным количеством разрядов в целой и дробной частях операндов.
На базе длинной арифметики было реализовано вычисление гамма-функции с распараллеливанием вычислительных процедур на многопроцессорных комплек-
сах.
Для написания программ использовались BORLAND С++ в WINDOWS , С,
среда MPI в UNIX.
3.1 Программа по вычислению гамма-функции методом трапеций в
длинной арифметике
Программа осуществляет вычисление гамма-функции в длинной арифметике
сконтрольными точками.
Втакой реализации можно задавать любое количество разрядов в дробной и целой части операндов.
Единственное ограничение - объем оперативной памяти.
Вычисление ln(x) и exp(x) реализовано в длинной арифметике во внешних вы-
зываемых функциях.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
- ввод исходных данных в формате длинной арифметики;
-вычисление гамма - функции методом трапеций в длинной арифметике;
-выдача вычисленного значения гамма-функции в формате длинной арифме-
тики.
32
3.2Программа по вычислению гамма-функции в длинной арифметике на многопроцессорном комплексе с контрольными точками
Программа осуществляет вычисление гамма-функции в длинной арифметике на кластере с контрольными точками.
В такой реализации можно задавать любое количество разрядов в дробной и целой части операндов и считать в любых временных промежутках.
Единственное ограничение - объем оперативной памяти.
Вычисление ln(x) и exp(x) реализовано в длинной арифметике во внешних вы-
зываемых функциях.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
- ввод исходных данных в формате длинной арифметики;
-вычисление гамма-функции методом трапеций в длинной арифметике;
-выдача вычисленного значения гамма-функции в формате длинной арифме-
тики.
Тип ЭВМ: кластер.
Язык: C, среда MPI.
ОС: UNIX.
Объём программы: 63794 байта.
3.3 Программа по вычислению гамма-функции в длинной арифметике
на многопроцессорном комплексе
Программа осуществляет вычисление гамма-функции в длинной арифметике на кластере. В такой реализации можно задавать любое количество разрядов в дроб-
ной и целой части операндов. Единственное ограничение - объем оперативной памя-
ти.
Вычисление ln(x) и exp(x) реализовано в длинной арифметике во внешних вы-
зываемых функциях.
33
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
- ввод исходных данных в формате длинной арифметики;
-вычисление гамма - функции методом трапеций в длинной арифметике;
-выдача вычисленного значения гамма - функции в формате длинной ариф-
метики.
Тип ЭВМ: кластер.
Язык: C, среда MPI.
ОС: UNIX.
Объём программы: 58287 байтов.
3.4 Программа по вычислению гамма – функции по формуле Эйлера в
длинной арифметике
Программа осуществляет вычисление гамма-функции по формуле Эйлера в длинной арифметике. В такой реализации можно задавать любое количество разря-
дов в дробной и целой части операндов. Единственное ограничение - объем опера-
тивной памяти.
Вычисление ln(x) и exp(x) реализовано в длинной арифметике во внешних вы-
зываемых функциях.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
-ввод исходных данных в формате длинной арифметики;
-вычисление гамма - функции по формуле Эйлера в обычной арифметике;
-вычисление гамма - функции по формуле Эйлера в длинной арифметике;
-выдача вычисленного значения гамма - функции в формате обычной и длинной арифметики.
Тип ЭВМ: персональный компьютер с объемом оперативной памяти не меньше
512мгб.
Язык: C в среде BORLAND C++ версии 4.5 и выше.
34
ОС: WINDOWS /ХР.
Объём программы: 49474 байта.
3.5 Программа по вычислению гамма - функции по формуле Эйлера |
в |
длинной арифметике на многопроцессорном комплексе с разделением памяти
Программа осуществляет вычисление гамма-функции по формуле Эйлера в длинной арифметике на многопроцессорном комплексе с разделением памяти. В
такой реализации можно задавать любое количество разрядов в дробной и целой части операндов. Единственное ограничение - объем оперативной памяти.
Вычисление ln(x) и exp(x) реализовано в длинной арифметике во внешних вы-
зываемых функциях.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
- ввод исходных данных в формате длинной арифметики;
-вычисление гамма-функции по формуле Эйлера в длинной арифметике с распараллеливанием вычисления произведения;
-выдача вычисленного значения гамма-функции в формате длинной арифме-
тики.
Тип ЭВМ: многопроцессорный комплекс с разделением памяти .
Язык: C ,среда MPI.
ОС: UNIX.
Объём программы: 53184 байта.
3.6 Программа по вычислению гипергеометрического ряда Гаусса через
интегральное представление в обычной и длинной арифметике
Программа осуществляет вычисление гипергеометрического ряда Гаусса че-
рез интегральное представление:
35
F a, b; c; z |
(c) |
|
1 |
|
|
|
* t b 1 |
* (1 t)c b 1 * (1 tz) a * dt |
|||
|
|
||||
(b) (c |
b) |
||||
|
0 |
|
|||
|
|
|
|
c b 0
вобычной и длинной арифметике.
Втакой реализации можно задавать любое количество разрядов в дробной и целой части операндов.
Единственное ограничение - объем оперативной памяти.
Вычисление exp(x), ln(x), гамма - функции реализовано в длинной арифмети-
ке во внешних вызываемых функциях.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
-ввод исходных данных в формате обычной арифметики;
-вычисление значения гипергеометрического ряда Гаусса в обычной арифме-
тике;
-выдача в формате обычной арифметики;
-ввод исходных данных в формате длинной арифметики;
-вычисление значения гипергеометрического ряда Гаусса в длинной арифме-
тике с контрольными точками;
- выдача в формате длинной арифметики.
Тип ЭВМ: персональный компьютер с объемом оперативной памяти не мень-
ше 512мгб.
Язык: C в среде BORLAND C++ версии 4.5 и выше.
ОС: WINDOWS /ХР.
3.7 Программа по вычислению гипергеометрического ряда Гаусса в обыч-
ной и длинной арифметике
Программа осуществляет вычисление гипергеометрического ряда Гаусса в
обычной и длинной арифметике. В такой реализации можно задавать любое количе-
36
ство разрядов в дробной и целой части операндов. Единственное ограничение -
объем оперативной памяти.
Вычисление exp(x),ln(x), гамма - функции реализовано в длинной арифметике во внешних вызываемых функциях.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
- ввод исходных данных в формате обычной арифметики;
-вычисление значения гипергеометрического ряда Гаусса в обычной арифме-
тике;
-выдача в формате обычной арифметики;
- ввод исходных данных в формате длинной арифметики;
-вычисление значения гипергеометрического ряда Гаусса в длинной ариф-
метике;
-выдача в формате длинной арифметики.
Тип ЭВМ: персональный компьютер с объемом оперативной памяти не меньше 512мгб.
Язык: C в среде BORLAND C++ версии 4.5 и выше.
ОС: WINDOWS /ХР.
Объём программы: 61531 байт исходного текста.
3.8 Решение гипергеометрического дифференциального уравнения в
обычной и длинной арифметике
Программа осуществляет решение гипергеометрического дифференциального
уравнения
z 1 z |
d2 |
|
c a b 1 z * |
d |
|
ab 0 |
|
dz2 |
dz |
||||||
|
|
|
|||||
вобычной и длинной арифметике.
Втакой реализации можно задавать любое количество разрядов в дробной и целой части операндов. Единственное ограничение - объем оперативной памяти.
37
Задавая различные начальные условия, будем получать различные решения. Про-
грамма используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
-ввод исходных данных в формате обычной арифметики;
-вычисление значений решения в заданных пределах через решение уравне-
ния в обычной арифметике;
-выдача результатов в формате обычной арифметики.
-ввод исходных данных в формате длинной арифметики;
-вычисление значений решения в заданных пределах через решение уравне-
ния в длинной арифметике;
- выдача результатов в формате длинной арифметики.
Тип ЭВМ: персональный компьютер с объемом оперативной памяти не мень-
ше 512мгб.
Язык: C в среде BORLAND C++ версии 4.5 и выше.
ОС: WINDOWS/ХР.
3.9 Вычисление гипергеометрического ряда Гаусса с общим членом
(a)n*(b)n/(c)n*z**n/n!
Программа осуществляет вычисление гипергеометрического ряда Гаусса с общим членом
(a)n*(b)n/(c)n*z**n/n!
в обычной и длинной арифметике.
В такой реализации можно задавать любое количество разрядов в дробной и целой части операндов. Единственное ограничение - объем оперативной памяти.
Программа используется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
-ввод исходных данных в формате обычной арифметики;
-вычисление значения гипергеометрического ряда Гаусса в обычной арифме-
тике ;
38
- выдача результатов в формате обычной арифметики;
-ввод исходных данных в формате длинной арифметики;
-вычисление значения гипергеометрического ряда Гаусса в длинной арифме-
тике ;
- выдача результатов в формате длинной арифметики.
Тип ЭВМ: персональный компьютер с объемом оперативной памяти не мень-
ше 512мгб.
Язык: C в среде BORLAND C++ версии 4.5 и выше.
ОС: WINDOWS /ХР.
Объём программы: 40988 байтов.
39
4 Вычисление функций Бесселя, Кельвина, Эйри
Рассматриваются программные реализации вычислений функций Бесселя,
Кельвина,Эйри в обычной и длинной арифметике на однопроцессорном и много-
процессорном комплексах.
Разработанный алгоритм длинной арифметики позволил выполнять все ариф-
метические операции с произвольным количеством разрядов в целой и дробной частях операндов.
Для написания программ использовался BORLAND С++ в WINDOWS, C в UNIX,MPI.
4.1 Программа по вычислению сферических функций Бесселя второго ро-
да в длинной арифметике в BORLAND C++
Программа осуществляет вычисление значений сферических функций Бес-
селя второго рода с помощью ряда в длинной арифметике. В такой реализации можно задавать любое количество разрядов в дробной и целой части операндов.
Единственное ограничение - объем оперативной памяти. Программа исполь-
зуется для задач во многих областях исследований.
Программа обеспечивает выполнение следующих функций:
-ввод исходных данных ;
-вычисление значений сферических функций Бесселя второго рода с помо-
щью ряда в длинной арифметике;
- выдача результатов в формате длинной арифметики.
Тип ЭВМ: персональный компьютер с объемом оперативной памяти не мень-
ше 512мгб.
Язык: C в среде BORLAND C++ версии 4.5 и выше.
ОС: WINDOWS /ХР.
Объём программы: 43891 байт.
40
