Текст подпрограммы и версий ( Фортран )
av19r.zip  av19d.zip  av19c.zip 
Тексты тестовых примеров ( Фортран )
tav19r.zip  tav19d.zip  tav19c.zip 
Текст подпрограммы и версий ( Си )
av19r_c.zip  av19d_c.zip  av19c_c.zip 
Тексты тестовых примеров ( Си )
tav19r_c.zip  tav19d_c.zip  tav19c_c.zip 
Текст подпрограммы и версий ( Паскаль )
av19r_p.zip  av19e_p.zip  av19c_p.zip 
Тексты тестовых примеров ( Паскаль )
tav19r_p.zip  tav19e_p.zip  tav19c_p.zip 

Подпрограмма:  AV19R

Назначение

Применение плоского вращения Гивенса.

Математическое описание

Для двух заданных вещественных векторов  Х и  Y размерности  N выполняется преобразование

     |   Xi   |                    |   Xi   |
     |         |    : =    A  *  |         | ,      i  =  1, ..., N   ,     где
     |   Yi   |                    |   Yi   |

                           |    G   S   |
                A   =   |               |   -   матрица вращения Гивенса.
                           |  - S   G   | 

Векторы  Х и  Y не обязательно должны занимать последовательные слова памяти машины и могут располагаться в памяти с некоторыми постоянными интервалами между компонентами, которые называются параметрами приращения.
Эти параметры могут быть меньше нуля, если обработка вектора должна производиться в обратном порядке.

Дж.Форсайт, М.Малькольм, К.Моулер. Машинные методы математических вычислений. М.: Мир, 1980.

Использование

    SUBROUTINE  AV19R (N, SX, INCX, SY, INCY, G, S, IERR) 

Параметры

N - размерность векторов (тип: целый);
SX, SY - вещественные одномерные массивы длины N * | INСХ | и N * | INСY | соответственно, отвечающие векторам  Х и  Y;
         INCX -
         INCY  
параметры приращения, задающие расположение векторов в массивах SХ и SY соответственно (тип: целый);
G, S - переменные, содержащие значения элементов матриц вращения Гивенса (тип: вещественный);
IERR - целая переменная, содержащая на выходе информацию о прохождении счета, при этом:
IЕRR=65 - если задано N = 0 .

Версии

AV19D - применение плоского вращения Гивенса для вещественных  Х и  Y, заданных с удвоенной точностью.
AV19C - применение плоского вращения Гивенса для комплексных  Х и  Y.

Вызываемые подпрограммы

UTAV10 - подпрограмма выдачи диагностических сообщений при работе подпрограмм АV19R и АV19С.
UTAV11 - подпрограмма выдачи диагностических сообщений при работе подпрограммы АV19D.

Замечания по использованию

  1. 

В подпрограмме АV19D параметры SХ, SY, G и S имеют тип DОUВLЕ РRЕСISIОN.

  2. 

В подпрограмме АV19С параметры SХ, SY, G и S имеют тип СОМРLЕХ.

  3.  Если вырабатывается значение IЕRR ≠ 0, то выдается соответствующее диагностическое сообщение и происходит выход из подпрограммы. Выход из подпрограммы происходит также в том случае, когда G = 1. и S = 0.

Пример использования

       DIMENSION  SX(50), SY(50)
       N = 8
       DO 1  J = 1, 50
       SX(J) = FLOAT(J)
   1  SY(J) = FLOAT(J)
       INCX = - 7
       INCY = 4
       G = 3.0
       S = 7.0
       CALL  AV19R (N, SX, INCX, SY, INCY, G, S, IERR)

Результаты:

     SX  =  ( 206., 199., 192., 185., 178., 171., 164., 157. )
                ( 8 элементов с интервалом 7 )

     SY  =  ( - 347, - 286., - 225., - 164., - 103., - 42., 19., 80. )
                ( 8 элементов с интервалом 4 )