Научная статья на тему 'Библиотека функций числового подмножества системы компьютерной алгебры Аналитик-2000'

Библиотека функций числового подмножества системы компьютерной алгебры Аналитик-2000 Текст научной статьи по специальности «Математика»

CC BY
60
7
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Т Н. Швалюк

Настоящая работа содержит краткое описание библиотеки операций и функций арифметического подмножества системы компьютерной алгебры АНАЛИТИК-2000. Функции и операции библиотеки определены над целыми, рациональными и десятичными числами произвольной длины. Библиотеку можно использовать автономно для расширения области применения численных методов при необходимости вычислений с высокой точностью.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Present work contains the brief description of library of operations and functions of a arithmetic subset of a system of computer algebra ANALYTIC-2000. The functions and operation of library are determined on whole, rational and decimal numbers of any length. The library can be used independently for expansion of the area of application of numerical methods if necessary calculations with high accuracy.

Текст научной работы на тему «Библиотека функций числового подмножества системы компьютерной алгебры Аналитик-2000»

е, < е/

I

max D

i = 1

f д z,.

(4)

Применяя формулы (1) и (4), можно вычислить погрешности для всей области значений входных вершин.

Особенно просто формулы оценок погрешностей выглядят для нейронных сетей [3,4]. Функциями вершин графа нейронной сети будут либо адаптивные сумматоры

^ аг- • х{, либо функции одной переменной /(ж). Для

г = 1

адаптивного сумматора погрешности входных ребер оце-

ниваются как е

<е/ I

а.

где ei

погрешности

i = 1

входных ребер, £ - погрешность вершины, - веса синапсов сумматора. Для функции с одной входной связью оценки погрешностей выглядят следующим образом: £1 <£/|/'(Z)| , где £1 - погрешность входного ребра, £ -

погрешность выходного ребра, Z - точное значение входного ребра вершины /

ЗАКЛЮЧЕНИЕ

Полученные в работе формулы позволяют оценивать погрешности вычислений в вершинах графов сложных функций многих переменных при заданных погрешностях выходных вершин этих графов. Особенно просто формулы оценки погрешностей вычислений выглядят для элементов нейронных сетей.

ПЕРЕЧЕНЬ ССЫЛОК

1. Горбань А.Н., Сенашова М.Ю. Быстрое дифференцирование, двойственность и обратное распространение ошибок // Вычислительные технологии / Издательство СО РАН. - Новосибирск. 1999. Т. 4. С. 55- 68.

2. Горбань А.Н. Обучение нейронных сетей. М.": изд. СССР-США СП "Параграф", 1990. 160 с.

3. Senashova Masha Yu., Gorban Alexander N., and Wunsch Donald. Back-Propagation of Accuracy // Proc. IEEE/INNS International Coonference of Neural Networks, Houston, IEEE. - 1997. - P.1998-2001.

4. Сенашова М.Ю. Оценки погрешностей сигналов в нейронных сетях // Вычислительные технологии / Издательство СО РАН. - Новосибирск. 2000. Т. 5, №3. С. 83 - 109.

УДК 681.32

БИБЛИОТЕКА ФУНКЦИЙ ЧИСЛОВОГО ПОДМНОЖЕСТВА СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ АНАЛИТИК-2000

Т.Н.Швалюк

Настоящая работа содержит краткое описание библиотеки операций и функций арифметического подмножества системы компьютерной алгебры АНАЛИТИК-2000. Функции и операции библиотеки определены над целыми, рациональными и десятичными числами произвольной длины. Библиотеку можно использовать автономно для расширения области применения численных методов при необходимости вычислений с высокой точностью.

Present work contains the brief description of library of operations and functions of a arithmetic subset of a system of computer algebra ANALYTIC-2000. The functions and operation of library are determined on whole, rational and decimal numbers of any length. The library can be used independently for expansion of the area of application of numerical methods if necessary calculations with high accuracy.

Алгебры чисел с мантиссами произвольной длины и алгебра рациональных чисел (АРЧ) являются принципиально необходимой составной частью ориентированных на реализацию аналитических и численно-аналитических методов систем программирования (систем компьютерной алгебры).

Такие алгебры входили в состав всех языков семейства АНАЛИТИК, которые под руководством академика В.М.Глушкова, начиная с середины 60-х годов, разрабатывались в институте Математических Машин и Систем НАН Украины. Эти алгебры аппаратно реализовывались

на ЭВМ серии МИР [1-3], а с конца 80-х годов программно реализуются на ПЭВМ [4-8]. Языком реализации становится Си [9]. Реализация таких алгебр в системах аналитических преобразований оказалась естественной, так как эти системы изначально ориентированы на объекты, большого объема со сложной структурой [10-15].

Арифметическое подмножество новой версии семейства (АНАЛИТИК-2000) образует достаточно полная библиоте-ка элементарных функций. Она расширена так же за счет некоторых специальных функций языка АНАЛИТИК-2000.

Библиотека может использоваться автономно в режиме диалога или в составе других вычислительных систем.

В зависимости от заданного в программе режима вычислений функций выполняются в различных модификациях. Так в режиме вычислений в алгебре рациональных чисел трансцендентные функции от целых, рациональных или символьных аргументов не выполняются. Например, cos(1/3) в этом режиме не вычисляется. Библиотека так же частично реализует вычисления в алгебре комплексных чисел. Пример 1.

4-4 = i* 2 .

Пример 2.

ln(-2.1) = 0.7419 + i*n .

Такие соотношения намного облегчают использование символьных преобразований при программной реализации выкладок в области комплексных чисел.

Включение рациональных чисел в системы компьютерной алгебры в первую очередь связано с проблемой приводимости или точного нуля, так как при приведении подобных и других сопоставлениях символьные выражения не позволяют определять масштаб коэффициентов и проводить обычные для численных методов округления. Пример 3.

В выражении а + 10-1000*Ь нельзя автоматически пренебречь вторым членом в процессе численно-аналитических преобразований, так как при нечисловых значениях а и Ь не видны масштабы этих величин.

Для реализации численно-аналитических методов АРЧ также необходима при определении свойств функций в

окрестностях полюсов, точек ветвления, при интегрировании быстроосциллирующих функций и исследовании других особенностей. Пример 4.

У функции у = хр/1 характер ветвления зависит от точного значения (четности или нечетности) р и 1. Что тоже не допускает никаких округлений.

Эффективность реализации АРЧ в составе языков семейства АНАЛИТИК часто делает выгодным использование точных числовых преобразований при применении некоторых численных методов. Так при решении систем плохо обусловленных линейных уравнений часто вместо работы с десятичными числами оказывается более выгодной работа в алгебре рациональных чисел. Пример 5.

Для вычисления определителя:

0.119898

0.1641975

0.2869378

0.943139

0.745249

0.2577296

0.1623903

0.2043867

0.2591862

0.3012919

0.856415

0.1172839

0.2049556

0.673671

0.532321

0.1840926

0.1159930

0.1459905

0.1851330

0.2152085

0.856415

0.117284

0.2049556

0.673671

0.532321

0.1840926

0.1159931

0.1459905

0.1851330

0.2152085

0.171283

0.234568

0.409911

0.1347341

0.1064641

0.3681851

0.2319861

0.2919824

0.3702666

0.4304172

0.1027698

0.1407408

0.2459466

0.808404

0.638785

0.2209111

0.1391917

0.1751893

0.2221599

0.2582503

0.856415

0.117284

0.2049555

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0.673670

0.532320

0.1840926

0.1159931

0.1459912

0.1851333

0.2152086

0.685132

0.938272

0.1639644

0.538936

0.425856

0.147274

0.927945

0.1167931

0.1481067

0.1721669

0.1198981

0.1641976

0.2869377

0.943138

0.745248

0.2577295

0.1623903

0.2043881

0.2591868

0.3012921

0.342566

0.469136

0.819822

0.269468

0.212928

0.73637

0.463972

0.583962

0.740535

0.860835

0.685132

0.938272

0.1639644

0.538936

0.425856

0.147274

0.927944

0.1167931

0.1481067

0.1721670

методом Гаусса при получении 6 верных знаков для подтверждения результата приходится выполнять вычисления трижды: с разрядностью 6 знаков (результат - .302601Е-52), затем для проверки с удвоенной разрядностью 12 знаков (результат -.302605920028Е-52) и затем 24 знаками (результат -.302605920012582099257137Е-52). Процесс заканчивается, когда первых шесть знаков при втором и третьем вычислениях совпадают. В алгебре рациональных чисел точный результат: 30 2 605 92*10-60 получается втрое быстрее1.

Общим видом объекта АРЧ в составе АНАЛИТИК-2000 является пара чисел разделенных знаком деления: р/1 (подмножество для 1=1 образует кольцо положительных и отрицательных целых чисел произвольной длины).

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

Особое значение для реализации АРЧ имеет алгоритм автоматического сокращения числителя и знаменателя в рациональном числе (деление целых - если знаменатель результата равен 1). Реализация АРЧ в системе АНАЛИТИК-2000 отличается тем, что при таком сокращении удалось избежать отдельного деления числи-

теля и знаменателя на общий наибольший делитель.

Вместо этого параллельно с рекуррентной процедурой

алгоритма Эвклида числитель и знаменатель отдельно вычисляются по рекуррентным формулам соответственно:

ui + 1 = ui + Р(ui - 1) ,

Vi + 1 = Vi + P(Vi - 1) ,

где в - число нулевых разрядов в конце результата i+1 шага алгоритма Эвклида.

Всего библиотека содержит 38 операций и функций в область определения, которых входят объекты числового подмножества языка АНАЛИТИК-2000. Эти функции условно делятся на следующие группы: арифметические операции: +, -, *, /, **; тригонометрические функции: sin, cos, tg, ctg; обратные тригонометрические функции: arcsin, arccos, arctg, arcctg;

гиперболические тригонометрические функции: sh, ch, th, cth;

логарифмические функции: lg, In; exp(x) - ex;

sign(x) - sign (x) = 1, если x > 0; sign (x) = 0, если x = 0 ; sign(x) = -1 , если x < 0 ; abs(x) - абсолютное значение аргумента; ent(x) - целая часть x, т.е. наибольшее целое, не превосходящее x;

1.Точное время зависит от конкретной ЭВМ. Так на Intel Celeron 500Mhz / RAM 64Mb / HDD 10Gb общее время трех итераций 5 мс, время точного счета 1,5 мс.

int (x) - целая часть x (отбрасывание дробной части); frc(x) - дробная часть x, определяемая как x-ent(x); sqrt(x) - jx ;

rac(x) - преобразование десятичного x в рациональное; min(V) - минимальное значение на множестве всех компонент вектора V;

max(V) - максимальное значение на множестве всех компонент вектора V;

gcd(x,y) - наибольший общий делитель двух целых чисел; ПОРЯДОКМ - двоичный порядок x, представленного во внутреннем формате языка АНАЛИТИК-2000; MAHTHCCA(x) - мантисса x, представленного во внутреннем формате языка АНАЛИТИК-2000; NUM(x) - числитель; DEN(x) - знаменатель;

ing - определенный интеграл (по формуле Симпсона);

sum - сумма;

prod - произведение;

agr - агрегация. Функция является свернутым представлением вектора. Результатом выполнения является вектор, аналогично тому, как sum и prod являются свернутыми суммами и произведениями последовательных слагаемых и сомножителей.

Во внутреннем представлении аргументы и значения перечисленных функций являются специально организованными массивами, над которыми определены соответствующие алгоритмы.

К числу основных алгоритмов относятся алгоритм вычисления косинуса, через который вычисляются все остальные тригонометрические функции. Он состоит из

двух этапов, на первом этапе вычисляется cos(x/2n), где n зависит от заданной точности (разрядности). На втором этапе с помощью реккуретной формулы

cos(x/2>) = 2*cos(x/2( 1 -1 ))**2 - 1

вычисляется cos(x).

Базовой функцией для вычисления логарифмов и гиперболических функций является экспонента, которая аналогично вычисляется через exp(x/2**n). И затем с помощью рекуррентной формулы

exp (x/2i) = exp (x/2( i -1 ))**2

вычисляется exp(x).

При вычислении ln, jx, arccos и деления чисел с плавающей точкой строится итерационный процесс.

Например, результат деления a/b получается через вычисление 1/b, для которого используется итеррацион-ная формула

Уi+l=Уi+Уi*(1-b*У),

где y+1 - текущее приближение и y ^ 1 /b .

Вычисление таких функций как sign, abs, ent и других получается в результате достаточно простых преобразований соответствующих массивов. Эффективность их вычисления достигается засчет некоторых приемов программирования, которые также будут приведены в планируемой отдельной публикации.

Так как методы и алгоритмы западных систем обычно не публикуются, единственной возможностью сравнения эффективности является сравнение кривых зависимости времени от числа десятичных знаков. Из приведенных ниже графиков видно, что эффективность основных функций библиотеки мало отличается от эффективности функций таких популярных в настоящее время систем как MATHEMATICA и REDUCE.

На рисунках 1-3 изображено типичное соотношение эффективности для АНАЛИТИК-2000, MATHEMATICA и REDUCE на примерах фунций ln, sin, arcsin. Графики даны в логарифмической шкале, время в относительных

1

единицах, которые зависят от частоты процессора .

Рисунок 1 - Время выполнения функции 1п в зависимости от числа десятичных знаков мантиссы

1.Для эксперимента использовался Intel Celeron 500Mhz / RAM 64Mb / HDD 10Gb.

Рисунок 2 - Время выполнения функции sin в зависимости от числа десятичных знаков мантиссы

О -I-1-1-1-1-1-1

100 250 500 1000 2500 5000 10000

Разрядность, дес.тнакн

АНАЛИТИК — - — MATEMATICA---REDUCE

Рисунок 3 - Время выполнения функции arcsin в зависимости от числа десятичных знаков мантиссы

Необходимо отметить, что при оперировании с длинными десятичными числами также существуют большие теоретические и практические возможности увеличения 2. эффективности засчет распараллеливания вычислительного процесса при использовании современной вычислительной техники. 0

Автор глубоко благодарен Алексеенко Т.Н., Кондрашо-ву С.В., Теслеру Г.С., Фишману Ю.С. за неоценимую по-

5.

мощь в работе.

ПЕРЕЧЕНЬ ССЫЛОК

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6.

1. АНАЛИТИК (Алгоритмический язык для описания вычислительных процессов с использованием аналитических преоб- 7 разований)/ Глушков В.М., Боднарчук В.Г., Гринченко Т.А.,

Дородницына А.А., Клименко В.П., Летичевский А.А., Погре-бинский С.Б., Стогний А.А., Фишман Ю.С. // Кибернетика -№3. - Киев, 1971. - С.102 - 134.

АНАЛИТИК-74 / Глушков В.М., Гринченко Т.А., Дородницына А.А., Драх А.М., Капитонова Ю.В., Клименко В.П., Крес Л.Н., Летичевский А.А., Погребинский С.Б., Савчак О.Н., Стогний А.А., Фишман Ю.С. // Кибернетика - №5. - Киев, 1978. - С.114-147.

АНАЛИТИК-79 / Глушков В.М., Гринченко Т.А., Дородницына А.А., Драх А.М., Клименко В.П., Погребинский С.Б., Савчак О.Н., Фишман Ю.С., Царюк Н.П. // Киев, 1983. -72 с. - (Препр. /АН УССР Ин-т кибернетики; 83-12). АНАЛИТИК-89 / Бублик Б.А., Фишман Ю.С. и др. // Харьков, 1989. - 78 с. - Деп. в ВИНИТИ 29.06.89, N 4305-689 The Programming System ANALYTIC-93 / A.A.Morosov, V.P.Klimenko, J.C.Fishman // Computer algebra applications. -St.Petersburg, 1993. - P.34-36.

АНАЛИТИК-93/Морозов А.А., Клименко В.П., Фишман Ю.С., Бублик Б.А. и др.//Кибернетика и системный анализ - №5. -Киев, 1995. - С.127-156.

АНАЛИТИК-2000 - ЯЗЫК КОМПЬЮТЕРНОЙ АЛГЕБРЫ. (Ориентированный на задачи, требующие высокого уровня ис-

Г.М.Шило: 1НТЕРВАЛИ I 1НТЕРВАЛЬН1 СТРУКТУРИ

кусственного интеллекта.) / Клименко В.П., Фишман Ю.С., Ляхов А.Л., Кондратов С.В., Швалюк Т.Н. // Четвертый сибирский конгресс по прикладной и индустриальной математике (ИНПРИМ-2000). - Тезисы докладов. - Часть IV -Новосибирск, 2000. - С.107-108.

8. АНАЛИТИК-2000 / Морозов А.А., Клименко В.П., Фишман Ю.С., Ляхов А.Л., Кондратов С.В., Швалюк Т.Н. // Математические машины и системы. - 2001. - №1. - С.65-101.

9. Kernighan B.W. and Ritchie D.M. (1978). The C Programming Language, Prentice-Hall, Englewood Cliffs, New Jersey.

10. Вычисление элементарных функций на ЭВМ / Благовещенский Ю.В., Теслер Г.С.// К.: Техника, 1977. - 208 с.

11. Вычисление функций на ЭВМ / Попов Б.А., Теслер Г.С. // К.: Наукова думка, 1984. - 600с.

12. Арифметические операции над числами произвольной длины и произвольного диапазона / Дородницына A.A. // Кибернетика. - 1967. - № 4. - С.39-42.

13. Компьютерная алгебра / Абрамов С.А., Зима Е.В., Ростовцев В.А.// Программирование. №5.-Москва, 1992.-С.4-25.

14. Системы символьной математики Mathematica 2 и Mathe-matica 3 / Дьяконов В.П.// М.: СК ПРЕСС, 1998. - 320 с.

15. REDUCE. User's Manual. Version 3.4. / Hearn A.C. // The RAND Corparation, Santa Monica, 1991. - 200 p.

УДК 519.863

1НТЕРВАЛИ I 1НТЕРВАЛЬН1 СТРУКТУРИ

Г.М.Шило

Рассмотрены виды интервальных входных данных и интервальных структур. Исследованы их основные свойства. Показано использование интервальных структур для оценки функций и расчета допусков с учетом внешних воздействий.

Розглянуто види iнтервальних вх1дних даних та iнтер-вальних структур. Дослiдженi ¿х основт властивостi. Показано використання iнтервальних структур для ощнювання функщй i обчислення допускiв з урахуванням ди зовтштх впливiв.

Kinds of interval input data and interval structures are considered. Their main properties are investigated. The using of interval structures to estimate functions and calculate tolerances taking into account external perturbations is shown.

ВСТУП

1снують р1зш способи опису невизначеностей даних: 1мов1ршсш модел1, теор1я невизначених множин, штер-вальна математика [1, 2]. Перевагою штервально! математики е можлив1сть обчислення гарантованих розв'язюв. При цьому необхщно мати шформащю лише про меж1 параметр1в модель Правила виконання арифметичних операцш залежать вщ виду вхщних даних.

Арифметичш операцп над штервальними параметрами, яю змшюються взаемно незалежно виконуються за правилами класично! штервально! арифметики [3] або !"! розширень [4-6]. Однак досить часто параметри матема-тичних моделей мають взаемно однозначну вщповщшсть. В цьому випадку 1снуюч1 штервальш арифметики не можуть застосовуватись в повному обсязь

1дея оцшки дшсного числа штервалом, яка покладена в основу штервально! математики, для оцшки множин набу-вае вигляду двохступеневих штервальних структур. Таю задач1 виникають, наприклад при оцшюванш функцш [7] i врахуванш дп навколишнього середовища [8]. Можлива р1зна комбшащя межових точок, яю характеризують множину (рис.1). При цьому утворюються штервальш структури з плаваючими межами (рис.1, а), з плаваючими штервалами (рис.1, б) та твши (рис.1, в). 3 цих структур найбшьш дослщжеш властивосп твШв [7], яю засто-совуються для оцiнювання функцiй.

Fb(x) -1-1-1-1-4—

X X X

а)

Fi(x) -1-1-1-1-н-

6)

Т(х) -1-1-1-1-+--

в)

Рисунок 1 - 1нтервалът структури: а) з плаваючими межами; 6) з плаваючими ттервалами; в) твти

Метою роботи е дослщження властивостей шших iHTep-вальних структур при pi3Hèx видах iHTepâaëbHèx даних.

1. OCHOBHt ОЗНАЧЕНИЯ

ОЗНАЧЕННЯ 1. 1нтервальш äaHi a та b називаються взаемно однозначними, якщо Miœ кожним елементом iнтepвaлу a iraye взаемно однозначна вiдповiднiсть з кожним елементом штервалу b.

ОЗНАЧЕННЯ 2. Комутацшним iнтepвaлом називаеть-ся штервал, який визначаеться спiввiдношeннями:

i Надоели баннеры? Вы всегда можете отключить рекламу.