Алгоритъм за получаване на n-мерна матрица на ротация

от Уикипедия, свободната енциклопедия

Алгоритъмът за получаване на n-мерна матрица на ротация (NRMG алгоритъм) дава възможност за създаване на матрица за ротация на зададен n-мерен вектор X по посоката на зададен n-мерен вектор Y, т.е. за създаване на матрица M, която удовлетворява уравнението

където има същата норма като вектора и същата посока като , т.е. (,).

NRMG алгоритъмът включва следната последователност от операции:

  • Получаване на матрица на ротация , която извършва ротация на зададения вектор X по посока на координатната ос x1.
  • Получаване на матрица на ротация , която извършва ротация на зададения вектор Y по посока на координатната ос x1.
  • Получаване на матрица на ротация , която извършва ротация на зададения вектор X по посока на зададения вектор Y както следва:

Както се вижда в даденото по-горе описание, базовата операция на NRMG алгоритъма е ротацията на n-мерен вектор по посока на една от координатните оси (напр. по посока на оста ).

В [1] е даден примерен код на Matlab за получаване на n-мерна матрица на ротация по зададени n-мерни вектори X и Y с използване на NRMG алгоритъма.

Ротация на n-мерен вектор по посока на оста [редактиране | редактиране на кода]

Ротация на зададен n-мерен вектор по посока на една от координатните оси (напр. по посока на оста ) може да се извърши посредством n − 1 последователни ротации (xnk, xnk+1), k = 1,...,n − 1 чрез умножение с матрици на Гивънс , в които коефициентите S = sin(θnk) и C = cos(θnk) се изчисляват както следва:

След всяка ротация в текущата координатна равнина (xnk, xnk+1) се получава вектор, който е ортогонален на координатната ос xnk+1. Така последователните ротации в координатните равнини (xnk, xnk+1), k = 1,...,n − 1 дават вектор, който е ортогонален на всички координатни оси с изключение на x1. Матрицата на ротация се получава като произведение на матриците на Гивънс както следва:

Дължината rX = на зададения вектор X и ъглите на ротации θ1, ..., θn-1 от горната формула са всъщност координатите на вектора X, представен в хиперсферична координатна система като XS = [rX, -θ1, ..., -θn-1]T. Ъглите на ротации са включени с отрицателен знак, защото при ротация на зададен вектор по посока на координатна ос x1 ротациите в координатните равнини се извършват от вектора към координатните оси, докато при представянето на вектора в хиперсферична координатна система ъглите се отчитат в обратна посока – от осите към вектора.

Източници[редактиране | редактиране на кода]

  1. Zhelezov, Ognyan. N-dimensional Rotation Matrix Generation Algorithm // American Journal of Computational and Applied Mathematics. Scientific & Academic Publishing Co., 2017.
  • Zhelezov O. I. N-dimensional Rotation Matrix Generation Algorithm, American Journal of Computational and Applied Mathematics, Vol. 7 No. 2, 2017, pp. 51 – 57. doi: 10.5923/j.ajcam.20170702.04.
  • H.G. Golub, J.M. Ortega, 1993, Scientific Computing and Introduction with Parallel Computing, Academic Press, Inc., San Diego
  • G. A. Korn, T.M. Korn, 1961, Mathematical Handbook for Scientists and Engineers (1st ed.), New York: McGraw-Hill. pp. 55 – 79.
  • H. Friedberg, A. Insel, L. Spence, 1997, Linear Algebra (3rd ed), Prentice Hall.
  • M. Cosnard, Y. Robert. Complexity of parallel QR factorization. J. ACM 33, 4 (August 1986), 712 – 723. DOI=10.1145/6490.214102, 1986
  • A. H. Sameh, D. J. Kuck. On Stable Parallel Linear System Solvers. J. ACM 25, 1 (януари 1978), 81 – 91., 1978
  • N. J. Higham, 1996, Accuracy and Stability of Numerical Algorithms, SIAM, Philadelfia
  • G. W.Steward, 1976, The economical storage of plane rotations, Numer. Math, 25, 2 1976, 137 – 139
  • N. K. Bose, 1985, Multidimensional Systems Theory: Progress, Directions, and Open Problems. D.Reidel Publishing Co., Dordrecht, The Netherland
  • A. S. Householder, 1958, „Unitary triangularization of a nonsimetric matrix“, J. ACM 5, 339 – 342, 1958
  • E. Anderson, 2000, „Discontinuous Plane Rotations and the Symmetric Eigenvalue Problem“ LAPACK Working Note 150, University of Tennessee, UT-CS-00-454, 4 декември 2000. page 2