Комп'ютер для операцій з функціями

Комп'ютер для операцій з математичними функціями (на відміну від звичайного комп'ютера) оперує з функціями на апаратному рівні (тобто без програмування цих операцій).[1][2][3]

Історія ред.

Обчислювальна машина для операцій з функціями була запропонована і розроблена Карцевим в 1967 році[1]. У число операцій цієї обчислювальної машини входили додавання, віднімання і множення функцій, порівняння функцій, аналогічні операції над функцією і числом, відшукання максимуму функцій, обчислення невизначеного інтеграла, обчислення певного інтеграла від похідної двох функцій, зсув функції з абсциси і т. д. За архітектурою ця обчислювальна машина була (користуючись сучасною термінологією) векторним процесором. У ній використовувався той факт, що багато з цих операцій можуть бути витлумачені як відомі операції над векторами: додавання і віднімання функцій — як додавання і віднімання векторів, обчислення певного інтеграла від похідної двох функцій — як обчислення скалярного добутку двох векторів, зсув функцій з абсциси — як поворот вектора щодо осей координат і т. д.[1] У 1966 році Хмєльник запропонував метод кодування функцій[2] , тобто представлення функції єдиним (для функції в цілому) позиційним кодом. При цьому зазначені операції з функціями виконуються як унікальні машинні операції з такими кодами на єдиному арифметичному пристрої[3]

Позиційні коди функцій одного аргументу[2][3] ред.

Основна ідея ред.

Позиційний код цілого числа   являє собою запис цифр   цього числа в деякій позиційній системі числення, що має вигляд

 

Такий код можна назвати лінійним. На відміну від нього позиційний код функції   одного аргументу   має вигляд

 

тобто є плоским і трикутним, оскільки цифри в ньому утворюють трикутник.

Вказаному позиційному коду цілого числа відповідає сума виду

 ,.

де   — підстава даної системи числення. Вказаному позиційному коду функції одного аргументу відповідає подвійна сума виду

 ,

де   — ціле позитивне число, кількість значень цифри  ,   — певна функція аргументу  .

Додавання позиційних кодів чисел пов'язане з передачею перенесення в старший розряд за схемою

 .

Додавання позиційних кодів функцій одного аргументу також пов'язане з передачею перенесення за схемою

 .

При цьому одне і теж перенесення передається одночасно в два старших розряди.

R-ті трикутні коди ред.

Трикутний код називається R-м (і позначається як  ), якщо числа   приймають значення з множини

  де   и  .

Наприклад, трикутний код є потрійним  , якщо  , і — четверичним  , якщо  .

Для R-х трикутних кодів справедливі наступні рівності:

 ,

де a — будь-яке число. існує   будь-якого цілого дійсного числа. Зокрема,  . Також існує   любої функції виду  . Зокрема,  .

Однорозрядне складання ред.

У R-х трикутних кодах полягає в тому, що

  • у даному  -розряді визначається сума   складових розрядів   і двох перенесень  , що поступили в цей розряд ліворуч, тобто
 ,
  • ця сума представляється у вигляді  , де  ,
  •   записується в  -розряд сумарного коду, а перенесення   з цього розряду передається в  -разряд і  -розряд.

Ця процедура описується(як і при однорозрядному складанні чисел) таблицею однорозрядного складання, де мають бути присутніми усі значення доданків   і   і усі значення перенесень, що виникають при розкладанні суми  . Така таблиця може бути синтезована при  

Нижче приведена таблиця однорозрядного складання при  :

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-х трикутних кодах відрізняється від однорозрядного складання тільки тим, що в даному  -розряді величина   визначається по формулі

 .

Однорозрядне ділення на параметр R ред.

у R-х трикутних кодах ґрунтовано на використанні співвідношення

 ,

звідки витікає, що ділення кожного розряду викликає перенесення в два нижні розряди. Отже, розрядний результат в цій операції є сумою частки від ділення цього розряду на R і перенесень з двох верхніх розрядів. Таким чином, при діленні на параметр R

  • у даному  -розряді визначається сума
 ,
  • ця сума представляється у вигляді  , де  ,
  •   записується в  -розряд результуючого коду, а перенесення   з цього розряду передається в  -разряд і  -розряд.

Ця процедура описується таблицею однорозрядного ділення на параметр 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 також множаться.

Позиційні коди функцій багатьох аргументів[4] ред.

 
Мал. 2 Пірамідальний код функції двох аргументів

Позиційний код функції двох аргументів зображений на мал. 1. Йому відповідає потрійна сума виду

 ,

де   — ціле позитивне число, кількість значень цифри  , а   — певні функції аргументів   відповідно. На мал. 1 вузли відповідають цифрам  , а в кухлях показані значення індексів   відповідної цифри. Позиційний код функції двох аргументів називається пірамідальним. Позиційний код називається R-м(і позначається як  ), якщо числа   набувають значень з множини  . При складанні кодів   перенесення поширюється в чотири розряди і тому  .

Позиційному коду функції декількох аргументів відповідає сума виду

 ,
Файл:GipPirKod.jpg
Мал. 1 Гіперпірамідальний код функції трьох аргументів

де   — ціле позитивне число, кількість значень цифри  , а   — певні функції аргументів  . Позиційний код функції декількох аргументів називається гіперпірамідальним. На мал. 2 показаний для прикладу позиційний гіперпірамідальний код функції трьох аргументів. У нім вузли відповідають цифрам  , а в кухлях показані значення індексів   відповідної цифри. Позиційний гіперпірамідальний код називається R-м(і позначається як  ), якщо числа   набувають значень з множини  . При складанні кодів   перенесення поширюється в a-мерный куб, що містить   розрядів і тому  .

Примітки ред.

  1. а б в Малиновский Б. Н. История вычислительной техники в лицах. — Киев, Фирма "КИТ", ПТОО "АСК". — 1995. — ISBN 5-7707-6131-8.
  2. а б в Хмельник С. И. Кодирование функций. — 1966. — Т. 4.
  3. а б в Хмельник С. И. Компьютерная арифметика функций. Алгоритмы и аппаратура. — Mathematics in Computers. — Россия-Израиль, 2004. — ISBN 978-0-557-07520-1. Архівовано з джерела 11 травня 2008
  4. Хмільник С. И. Декілька типів позиційних кодів функцій // Кібернетика, АН УРСР. — 1970. — Т. 5.