Блочно-плавающие векторы и матрицы
11. В арифметике с фиксированной запятой общим принципом является использование такого метода представления векторов и матриц, который до некоторой степени сочетает достоинства фиксированной и плавающей запятой.
В этой схеме всем компонентам вектора или матрицы ставится в соответствие единственный числовой множитель в виде степени 2. Этот множитель выбирается так, чтобы модули самых больших компонент лежали между 1/2 и 1. Такой вектор называется нормализованным блочно-плавающим вектором. Так, например, в (11.1) а есть нормализованный блочно-плавающий вектор, нормализованная блочно-плавающая матрица (мы, естественно, использовали для иллюстрации десятичную систему счисления):
Иногда столбцы матрицы настолько различаются по величине, что каждый столбец представляется как блочно-плавающий вектор. Аналогично и каждую строку мы можем представить как блочно-плавающий вектор. Наконец, мы могли бы получить скалярный множитель, единый для всех строк и столбцов.
Преимущество этой схемы состоит в том, что только одно слово представляет собой порядок, а каждый отдельный элемент запоминается
полным словом без затраты разрядов на порядок, как это было бы в вычислении с плавающей запятой.
Часто на промежуточной стадии вычислений вычисляется такой блочно-плавающий вектор, у которого нет компонент, по модулю больших 1/2. Такой вектор называется ненормализованным блочно-плавающим вектором и иллюстрируется вектором а в (11.2)
В некоторых случаях числовой множитель, соответствующий вектору, не имеет никакого значения; это верно, например, для собственного вектора. Мы определяем нормированный блочно-плавающий вектор как вектор, который должен быть нормализованным блочно-плавающим вектором, имеющим числовой множитель 2°. В таком векторе числовой множитель обычно опускается.