Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
(1) округление к ближайшему со стороны нуля машинному числу, получаемое отсечением младших разрядов мантиссы, и
(2) округление к ближайшему машинному числу;
(II) поведение вблизи нуля Если результат вещественной операции оказывается меньше по абсолютной величине, чем минимальное положительное машинное число, то мы различаем
(3) установление результата в нуль и
(4) установление результата равным минимальному по абсолютной величине машинному числy со знаком, совпадающим со знаком вещественного результата,
(III) поведение в случае выхода за диапазон машинных чисел. Осмысленное расширение машинных интервальных операций возможно лишь в исключительных случаях. Поэтому в подобной ситуации будем всегда останавливать вычисления. В теле процедуры LOW можно применить следующую конструкцию, вызывающую останов:
'IF'X'NOTGREATER'
lowerbound
THEN'
'BEGIN' X:=Ø, X:=l/X 'END'
Здесь
lowerbound
обозначает наименьшее число с плавающей точкой, т. е.
.
Пyсть k — количество цифр в мантиссе, основание степени b равно 2 или 10. В тексте процедуры LOW будyт использоваться следующие обозначения:

Две последние константы на двоичной машине должны быть порождены как частное от деления двух целых чисел.

Пункты (I) и (П) дают четыре возможные комбинации их подпунктов (1) —(3), (1) —(4), (2) —(3) и (2) —(4). Поэтому мы приводим четыре варианта для тела процедуры LOW.
У Криста можно найти доказательство того, что приведенные тела процедур действительно реализуют округление ↓ в случае, когда X получен в результате выполнения обычной машинной операции
Теперь, используя процедуру-функцию LOW и определяемую через нее машинную арифметику с округлениями, мы можем без труда реализовать машинные интервальные операции. Интервал А=[а1, а2] представляется в виде 'ARRAY′1, где A[1] равно а1, А [2] равно а2. Заголовки процедур содержат как описание интервалов-операндов А и В, так и описание результирующего интервала С (Текст вышеупомянутых процедур приведен ниже):
Арифметика (1), (3)

Арифмтика (1), (4)

Арифметика (2), (3)

Арифметика (2), (4)

Сложение С = А + В:
![]()
Вычитание С = А — В:
![]()
Умножение С = А × В:

Деление C = A/B:

Вкратце обсудим, как осуществить ввод интервалов. Трудность здесь состоит в том, что при чтении десятичных дробных чисел может появиться погрешность при их преобразовании к внутреннему двоичному представлению. Величина этой погрешности, вообще говоря, неизвестна. Поэтому рекомендуется до ввода умножить границы на величины 10п с тем, чтобы сделать их целыми числами. Эти целые числа считаются без погрешности. После ввода считанные границы делятся на 10п, а применение процедуры LOW гарантирует корректное округление. Ниже приводится текст процедуры ввода, в котором <10п> обозначает выбранную соответствующим образом степень десяти.
Ввод А

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

Это выражение должно быть вычислено в интервальной арифметике. Все коэффициенты и переменная представлены интервалами А10=10, А9 = 9, .... А1 = 1, А0= [—0.02, —001], а X = [—0.1, —0.02]. Мы хотим определить:
или нет?
(см. ниже).

Приложение С
ПРОЦЕДУРЫ НА АЛГОЛЕ
А. Локализация собственных значений
Приведем теперь текст программы, представляющей собой алгол-процедуру для итерационного уточнения границ, в которых лежат собственные значения симметричных трехдиагональных вещественных матриц. Процедура реализует метод одновременной локализации в форме (5 из микромодуля 27). Постановка задачи приведена в конце микромодуля 27. Как и в микромодуле 27, собственные значения симметричной трехдиагональной матрицы
мы будем обозначать через
а характеристический многочлен для
— через р(х). Его значения могут быть вычислены с помощью (10 из микромодуля 27).
При реализации метода (5 из микромодуля 27) необходимо позаботиться о том, чтобы все встречающиеся в его описании операции были заменены на соответствующие машинные интервальные операции. Замену можно осуществить с помощью алгол-процедур из приложения В.
Необходимо также заметить, что все вещественные операции в (5 из микромодуля 27) должны быть выполнены как операции над точечными интервалами. Лишь при соблюдении этого требования можно быть уверенными в том, что локализация собственных значений будет гарантирована. Так, например, если 
вычисляется как интервальное выражение, то результат вычисления объемлет вещественное значение
Поэтому при реализации (5 из микромодуля 27) следует различать случаи, используя функцию sign в виде 
функция эта определена в микромодуле 27. Встречающиеся в процедуре элементы матрицы представлены как интервалы по той же самой причине.
Если метод (5 из микромодуля 27) выполняется так, как это указано выше, то мы получаем последовательность интервалов

которые перестают изменяться после конечного числа шагов и которые на каждом шаге содержат собственное значение λі. В процедуре EIGIMP, реализующей этот метод, в качестве критерия остановки выбрано выполнение равенства

Перечислим формальные параметры процедуры EIGIMP
N Целое число, задающее размерность матрицы.
А Диагональ матрицы. Компоненты
служат для представления границ, лежащих на диагонали интервалов ![]()
В Вектор элементов матрицы, лежащих над ее диагональю. Компоненты
служат для представления
границ составляющих этот вектор интервалов 
X Вектор, состоящий из пар
Служит для
представления интервалов
локализующих
собственные значения
В момент вызова процедуры должен содержать первоначальные приближения
После выполнения процедуры содержит локализации, уточненные согласно (5 из микромодуля 27).
ВО Булевский вектор размерности п, у которого BO[I] имеет значение 'TRUE', если на следующей итерации требуется построить новую локализацию для λі. В противном случае BO[I] = 'FALSE'. Если очередная локализация оказалась равной предыдущей, то соответствующая компонента ВО устанавливается в 'FALSE'. Перед вызовом EIGIMP комопненты ВО, соответствующие уточняемым компонентам X, должны быть установлены в 'TRUE', a остальные — в 'FALSE'. После выхода из EIGIMP ВО [I] = 'FALSE' для всех I.
ЕРС Вещественная неотрицательная компонента ε, такая что если ширина локализации
удовлетворяет соотношению
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |


