Компьютер для работы с функциями
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В рамках вычислительной техники и информатики компьютер для операций с (математическими) функциями (в отличие от обычного компьютера ) оперирует функциями на аппаратном уровне (т.е. без программирования этих операций). [1] [2] [3]
История [ править ]
Счетная машина для операций с функциями была представлена и разработана Михаилом Карцевым в 1967 году. [1] Среди операций этой вычислительной машины были сложение, вычитание и умножение функций, сравнение функций, те же операции между функцией и числом, нахождение максимума функции, вычисление неопределенного интеграла , вычисление определенного интеграла от производной двух функций, производной от двух функций. функции, сдвиг функции по оси X и т. д. По своей архитектуре эта вычислительная машина представляла собой (используя современную терминологию) векторный процессор или процессор массивов , центральный процессор (ЦП), реализующий набор команд, содержащий инструкции, оперирующие одномерные массивы данных, называемые векторами . В нем использовано то, что многие из этих операций можно интерпретировать как известные операции над векторами: сложение и вычитание функций — как сложение и вычитание векторов, вычисление определенного интеграла от производной двух функций — как вычисление векторного произведения двух векторов, сдвиг функции по оси X – как поворот вектора вокруг осей и т.д. [1] В 1966 году Хмельник предложил метод кодирования функций: [2] т.е. представление функций «единым» (для функции в целом) позиционным кодом. И поэтому упомянутые операции с функциями выполняются как уникальные компьютерные операции с такими кодами на «единой» арифметической единице . [3]
Позиционные коды функций с одной переменной [ править ]
Основная идея [ править ]
Позиционный код целого числа это числовое обозначение цифр в определенной позиционной системе счисления вида
- .
Такой код можно назвать «линейным». В отличие от него позиционный код одной переменной функция имеет форму:
поэтому он плоский и «треугольный», поскольку цифры в нем составляют треугольник.
Значение позиционного номера выше это сумма
- ,
где является основанием указанной системы счисления. Позиционному коду функции с одной переменной соответствует «двойной» код вида
- ,
где целое положительное число, количество принятых значений , и это определенная функция аргумента .
Сложение позиционных кодов цифр связано с переносом переноса на старшую цифру по схеме
- .
Добавление позиционных кодов однопеременных функций также связано с переносом переноса на старшие разряды по схеме:
- .
Здесь та же передача осуществляется одновременно до двух старших цифр.
R -нарный треугольный код [ править ]
Треугольный код называется R-нарным (и обозначается как ), если числа брать их значения из набора
- , где и .
Например, треугольный код является троичным кодом. , если и четвертичный , если .
Для R -арных треугольных кодов справедливы следующие равенства:
- ,
где является произвольным числом. Существует произвольного целого действительного числа. В частности, . Также существует любой функции вида . Например, .
Однозначное сложение [ править ]
в R-арных треугольных кодах заключается в следующем:
- в данном -цифра определяет сумму цифр, которые добавляются и два переноса , переведенный в эту цифру слева, т.е.
- ,
- эта сумма представлена в виде , где ,
- написано в -цифра сводного кода и перенос от данной цифры переносится в -цифра и — цифра.
Эта процедура описывается (как и при сложении однозначных чисел) таблицей сложения однозначных чисел, где все значения слагаемых и должны присутствовать и все значения переносов, возникающие при разложении суммы . Такая таблица может быть синтезирована для
Ниже мы написали таблицу сложения однозначных чисел для :
средняя школа | ТК (Смк) | |||
---|---|---|---|---|
. | . | 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-арных треугольных кодах отличается от однозначного сложения только тем, что в заданных -цифровое значение определяется по формуле
- .
Однозначное деление по параметру R [ править ]
в R-арных треугольных кодах основан на использовании корреляции:
- ,
отсюда следует, что деление каждой цифры причины переносит на две младшие цифры. Следовательно, цифры, полученные в результате этой операции, представляют собой сумму частного от деления этой цифры на R и двух переносов от двух старших цифр. Таким образом, при делении на параметр R
- в данном -цифра определяется следующая сумма
- ,
- эта сумма представлена как , где ,
- записано в — цифра полученного кода и перенести из данной цифры переводится в -цифра и -цифра.
Эта процедура описывается таблицей однозначного деления по параметру R, где все значения слагаемых и все значения переносов, возникающие при разложении суммы , должен присутствовать. Такая таблица может быть синтезирована для
Ниже будет приведена таблица для однозначного деления по параметру R для :
средняя школа | ТК (Смк) | |||
---|---|---|---|---|
. | . | 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 умножается на R при усечении кода. Чтобы коэффициенты сложения M были выровнены, для этого необходимо усечь один из добавляемых кодов. При умножении также умножаются множители M.
Позиционный код для функций многих переменных [ править ]
Источник: [4]
Позиционный код функции двух переменных изображен на рисунке 1. Он соответствует «тройной» сумме вида:: ,
где целое положительное число, количество значений фигуры , и — определенные функции аргументов соответственно. На рисунке 1 узлы соответствуют цифрам. , а в кружках значения индексов соответствующей цифры. Позиционный код функции двух переменных называется «пирамидальным». Позиционный код называется R-нарным (и обозначается как ), если числа принять значения из набора . При добавлении кодов перенос распространяется на четыре цифры и, следовательно, .
Позиционному коду функции от нескольких переменных соответствует сумма вида
- ,
где целое положительное число, количество значений цифры , и определенные функции аргументов . Позиционный код функции нескольких переменных называется «гиперпирамидальным». На рисунке 2 изображен, например, позиционный гиперпирамидальный код функции трех переменных. На нем узлы соответствуют цифрам , а кружки содержат значения индексов соответствующей цифры. Позиционный гиперпирамидальный код называется R-нарным (и обозначается как ), если числа принять значения из набора . При добавлении кодов перенос распространяется на -мерный куб , содержащий цифры и, следовательно, .
См. также [ править ]
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б с Малиновский, Б. Н. (1995). История компьютерных технологий в их лицах . Киев: Фирма «КИТ». ISBN 5-7707-6131-8 . ( см. также здесь http://www.sigcis.org/files/SIGCISMC2010_001.pdf и английскую версию здесь )
- ^ Jump up to: Перейти обратно: а б с Хмельник, С.И. (1966). «Кодирование функций». 4 . Кибернетика АН СССР.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) (см. также здесь на русском языке ) - ^ Jump up to: Перейти обратно: а б с Хмельник, С.И. (2004). Компьютерная арифметика функций. Алгоритмы и проектирование аппаратного обеспечения . Израиль. ISBN 978-0-557-07520-1 .
{{cite book}}
:|work=
игнорируется ( помощь ) CS1 maint: отсутствует местоположение издателя ( ссылка ) (см. также здесь на русском языке ) - ^ Хмельник С.И. (1970). «Несколько типов кодов позиционных функций». 5 . Кибернетика АН СССР.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) (см. также здесь на русском языке )