. A компьютер для операций с (математическими) функциями (в отличие от обычного компьютера ) работает с функциями на уровне оборудования (т.е. без программирования этих операций).
Содержание
- 1 История
- 2 Позиционные коды функций с одной переменной
- 2.1 Основная идея
- 2.2 R-образный треугольный код
- 2.2.1 Сложение одной цифры
- 2.2.2 Вычитание одной цифры
- 2.2.3 Деление одной цифры параметром R
- 2.2.4 Сложение и вычитание
- 2.2.5 Умножение
- 2.2.6 Выведение
- 2.2.7 Кодирование и декодирование
- 2.2.8 Усечение
- 2.3 Масштабный коэффициент
- 3 Позиционный код для функций много переменных
- 4 См. также
- 5 Ссылки
История
Вычислительная машина для операций с функциями была представлена и разработана Михаилом Карцевым в 1967 году. Среди операций этой вычислительной машины были функции сложение, вычитание и умножение, сравнение функций, те же операции между функцией и числом, нахождение максимума функции, вычисление неопределенного интеграла, вычисление определенного интеграла от производной двух функций, производная двух функций, сдвиг функции по оси X и т. д. По своей архитектуре эта вычислительная машина была (используя современную терминологию) векторным процессором или процессором массива, центральный процессор (ЦП), который реализует набор команд, содержащий инструкции, которые работают с одномерными массивами данных, называемых векторами. В нем был использован тот факт, что многие из этих операций можно интерпретировать как известные операции над векторами: сложение и вычитание функций - как сложение и вычитание векторов, вычисление определенного интеграла производной двух функций - как вычисление векторного произведения двух векторов, сдвиг функции по оси X - как вращение вектора вокруг осей и т. д. В 1966 году Хмельник предложил метод кодирования функций, то есть представление функций «единым» (для функции в целом) позиционным кодом. И поэтому указанные операции с функциями выполняются как уникальные компьютерные операции с такими кодами на «едином» арифметическом блоке.
Позиционные коды функций с одной переменной
Основная идея
Позиционный код целого числа - это числовое обозначение цифр в некотором позиционная система счисления вида
- .
Такой код можно назвать «линейным». В отличие от него, позиционный код одной переменной function имеет вид:
и поэтому он плоский и «треугольный», поскольку цифры в нем образуют треугольник.
Значение позиционного числа выше - это значение суммы
- ,
где - основание системы счисления указанной системы счисления. Позиционный код функции с одной переменной соответствует «двойному» коду вида
- ,
где - целое положительное число, количество принятых значений , а - некоторая функция аргумента .
Добавление позиционных кодов чисел связано с переносить переводить в старшую цифру по схеме
- .
Добавление позиционного коды функций одной переменной также связаны с переносом переноса в старшие разряды по схеме:
- .
Здесь одна и та же передача выполняется одновременно для двух старших разрядов.
R-nary треугольный код
Треугольный код называется R-nary (и обозначается как ), если числа принимают свои значения из набора
- , где и .
Например, a треугольный код - это троичный код , если и четвертичный , если .. Для треугольных кодов R-nary справедливы следующие равенства:
- ,
где - произвольное число. Существует произвольного целого действительного числа. В частности, . Также существует любой функции вида . Например, .
Однозначное сложение
в R-ничных треугольных кодах состоит в следующем:
- в заданной -цифре определяется сумма из добавляемых цифр и два переносят , переведено в эту цифру слева, то есть
- ,
- эта сумма представлена в виде , где ,
- записывается в -цифра сводного кода, и перенос из данной цифры переносится в -digit и - цифра.
Эта процедура описывается (как и для однозначного сложения чисел) таблицей однозначного сложения, где все значения термов и должны присутствовать и все значения переносов, возникающие при разложении суммы . Такую таблицу можно синтезировать для . Ниже мы написали таблицу однозначного сложения для :
Smk | TK(Smk) | | |
---|
. | . | 0 | . | . |
0 | 0 | 0 | 0 | 0 |
. | . | 0 | . | . |
1 | 1 | 0 | 1 | 0 |
. | . | 0 | . | . |
(-1) | (-1) | 0 | (- 1) | 0 |
. | . | 1 | . | . |
2 | (-1) | 1 | (-1) | 1 |
. | . | 1 | . | . |
3 | 0 | 1 | 0 | 1 |
. | . | 1 | . | . |
4 | 1 | 1 | 1 | 1 |
. | . | (-1) | . | . |
(-2) | 1 | (-1) | 1 | (-1) |
. | . | (-1) | . | . |
(-3) | 0 | (-1) | 0 | (-1) |
. | . | (-1) | . | . |
(-4) | (-1) | (- 1) | (-1) | (-1) |
Вычитание одной цифры
в треугольных кодах R отличается от однозначного вычитания. сложение цифр только потому, что в заданном -разрядное значение определяется по формуле
- .
Однозначное деление на th Параметр e R
в треугольных кодах R-nary основан на использовании корреляции:
- ,
из этого следует, что деление каждой цифры вызывает две младшие цифры. Следовательно, цифры, полученные в результате этой операции, представляют собой сумму частного от деления этой цифры на R и двух переносов из двух старших цифр. Таким образом, при делении на параметр R
- в данной -цифре определяется следующая сумма:
- ,
- эта сумма представлена как , где ,
- записывается в - цифра результирующего кода и несет из заданной цифры переводится в -digit и -digit.
Эта процедура описывается таблицей однозначного деления по параметру R, где все значения терминов и все значения переносов, возникающие при разложении суммы , должен присутствовать. Такую таблицу можно синтезировать для . Ниже приведена таблица для однозначного деления параметром R для :
Smk | TK(Smk) | | |
---|
. | . | 0 | . | . |
0 | 0 | 0 | 0 | 0 |
. | . | 1 | . | . |
1 | 0 | 0 | 1 | 0 |
. | . | (-1) | . | . |
(-1) | 0 | 0 | (-1) | 0 |
. | . | 0 | . | . |
1/3 | 1 | (-1/3) | 0 | 1 |
. | . | 1 | . | . |
2/3 | (-1) | 1/3 | 1 | (-1) |
. | . | 1 | . | . |
4/3 | 1 | (-1/3) | 1 | 1 |
. | . | 2 | . | . |
5/3 | (-1) | 1/3 | 2 | (-1) |
. | . | 0 | . | . |
(- 1/3) | (-1) | 1/3 | 0 | (-1) |
. | . | (-1) | . | . |
(-2/3) | 1 | (- 1/3) | (-1) | 1 |
. | . | (-1) | . | . |
(-4/3) | (-1) | 1/3 | (-1) | (-1) |
. | . | (-2) | . | . |
(-5/3) | 1 | (-1/3) | (-2) | 1 |
Сложение и вычитание
R-ничных треугольных кодов состоит (как в позиционных кодах чисел) в последовательно выполняемых однозначных операциях. Помните, что однозначные операции во всех цифрах каждого столбца выполняются сим окончательно.
Умножение
R-мерных треугольных кодов. Умножение кода на -цифра другой код состоит из - сдвига код , т.е. его сдвиг на k столбцов влево и на m строк вверх. Умножение кодов и состоит из последующих -сдвигов кода и добавление сдвинутого кода с частичным произведением (как в позиционных кодах чисел).
Получение
R-образных треугольных кодов. Производная функции , определенная выше, равна
- .
Итак, вывод треугольных кодов функции состоит в определении треугольного кода частной производной и его умножение на известный треугольный код производной . Определение треугольного кода частной производной основано на корреляция
- .
Метод вывода состоит из организации переносов из mk-разряда в (m + 1, k) -цифру и в (m-1, k) -цифру, и их суммирование в данной цифре выполняется так же, как и при сложении одной цифры.
Кодирование и декодирование
R-мерных треугольных кодов. Функция, представленная серией вида
- ,
с целыми коэффициентами , может быть представлен R-образными треугольными кодами для этих коэффициентов и функций имеют R-ные треугольные коды (о которых упоминалось в начале раздела). С другой стороны, R-образный треугольный код может быть представлен указанным рядом, так как любой член в позиционном раскрытии функции (соответствующем этому коду) может быть представлен аналогичной серией.
Усечение
R-мерных треугольных кодов. Так называется операция по уменьшению количества «ненулевых» столбцов. Необходимость усечения возникает при появлении переносов за пределы цифровой сети. Усечение заключается в делении на параметр R. Все коэффициенты ряда, представленного кодом, уменьшаются в R раз, а дробные части этих коэффициентов отбрасываются. Также отбрасывается первый член ряда. Такое сокращение допустимо, если известно, что ряды функций сходятся. Усечение заключается в последовательно выполняемых одноразрядных операциях деления по параметру R. Однозначные операции над всеми цифрами строки выполняются одновременно, а переносы из нижней строки отбрасываются.
Масштабный коэффициент
R-мерный треугольный код сопровождается масштабным коэффициентом M, аналогичным показателю степени для числа с плавающей запятой. Коэффициент M позволяет отображать все коэффициенты кодированного ряда в виде целых чисел. Фактор M умножается на R при усечении кода. Чтобы дополнительные коэффициенты M были выровнены, для этого необходимо усечь один из добавленных кодов. Для умножения множители M также умножаются.
Позиционный код для функций многих переменных
Позиционный код для функции двух переменных изображен на рисунке 1. Он соответствует «тройной» сумме вида :: ,. где - целое положительное число, количество значений числа , и - некоторые функции аргументов соответственно. На рисунке 1 узлы соответствуют цифрам , а в кружках значения индексов <198 Отображаются>m 1, m 2, k {\ displaystyle {m1, m2, k}}соответствующей цифры. Позиционный код функции двух переменных называется пирамидальным. Позиционный код называется R-nary (и обозначается как ), если числа принимает значения из набора . При добавлении кодов перенос увеличивается до четырех цифр и, следовательно, .
A позиционный код функции от нескольких переменных соответствует сумме вида
- ,
где - целое положительное число, количество значений цифры и определенные функции аргументов . Позиционный код функции нескольких переменных называется «гиперпирамидальным». На рисунке 2 изображен, например, позиционный гиперпирамидальный код функции трех переменных. На нем узлы соответствуют цифрам , а кружки содержат значения индексов соответствующей цифры. Позиционный гиперпирамидальный код называется R-nary (и обозначается как ), если числа принимает значения из набора . При добавлении кодов перенос распространяется на трехмерный куб, содержащий цифр и, следовательно, .
См. Также
Справочная информация