10.07.2015 Views

С.П. Шарый - Институт вычислительных технологий СО РАН

С.П. Шарый - Институт вычислительных технологий СО РАН

С.П. Шарый - Институт вычислительных технологий СО РАН

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.7. Методы на основе ортогональных преобразований 309<strong>С</strong>огласно <strong>П</strong>редложению 3.7.2 вычисление вектора Хаусхолдера u вкачестве первого шага требует нахождения из (3.80) вектора ũ, в которомимеется неоднозначность выбора знака второго слагаемого. <strong>П</strong>ривычислениях на цифровых ЭВМ в стандартной арифметике с плавающейточкой имеет смысл братьũ ={A(j : n,j)+‖A(j : n,j)‖2 e, если a jj ≥ 0,A(j : n,j)−‖A(j : n,j)‖ 2 e, если a jj ≤ 0,где e = (1,0,...,0) ⊤ . Тогда вычисление первого элемента в столбцеA(j : n,j), т. е. того единственного элемена, который останется ненулевым,не будет сопровождаться вычитанием чисел одного знака и, какследствие, возможной потерей точности.Ещё одно соображение по практической реализации описанного в<strong>П</strong>редложении 3.7.3 алгоритма состоит в том, что в действительностидаже не нужно формировать в явном виде матрицу отражения ˜H:умножение на неё можно выполнить по экономичной формуле(I −2uu⊤ ) A(j : n,j : n) = A(j : n,j : n)−2u ( u ⊤ A(j : n,j : n) ) .Определённым недостатком метода Хаусхолдера и описываемого вследующем пункте метода вращений в сравнении с методом Гаусса являетсяпривлечение неарифметической операции извлечения квадратногокорня, которая приводит к иррациональностям. Это не позволяетточно (без округлений) реализовать соответствующие алгоритмы в полерациональных чисел, к примеру, в программных системах так называемых«безошибочных вычислений» или языках программированиятипа Ruby [82], которые могут оперировать рациональными дробями счислителем и знаменателем в виде целых чисел.3.7д Матрицы вращения<strong>П</strong>усть даны натуральные числа k, l, не превосходящие n, т. е. размерностипространства R n , и задано значение угла θ, 0 ≤ θ < 2π.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!