Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Usain
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 33
#1

Квадратная матрица A называется ортогональной - C++

07.12.2012, 23:14. Просмотров 565. Ответов 1
Метки нет (Все метки)

Квадратная матрица A называется ортогональной, если AT=A-1. Определить
является ли данная матрица ортогональной:
1,00 0,42 0,54 0,66
0,42 1,00 0,32 0,44
0,54 0,32 1,00 0,22
0,66 0,44 0,22 1,00

Ортогональная матрица — квадратная матрица A с вещественными элементами, результат умножения которой на A^T равен единичной матрице E.
Основные свойства ортогональной матрицы:
1.Модуль определителя ортогональной матрицы равен единице.
2.Сумма квадратов элементов любого столбца ортогональной матрицы равна единице.
3.Сумма произведений элементов любого столбца ортогональной матрицы на соответствующие элементы другого столбца равна нулю.
4.Сумма произведений элементов любой строки ортогональной матрицы на соответствующие элементы другой строки равна нулю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 23:14     Квадратная матрица A называется ортогональной
Посмотрите здесь:
C++ Квадратная матрица A называется ортогональной, если AT=A-1
Определить, является ли заданная матрица А(n,n) ортогональной C++
Определить, является ли заданная матрица A(n,n) ортогональной C++
Квадратная матрица C++
Квадратная матрица C++
C++ Квадратная матрица
C++ Квадратная матрица
Квадратная матрица C++
Квадратная матрица C++
C++ Квадратная матрица

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
33parrots
3 / 3 / 0
Регистрация: 25.05.2012
Сообщений: 23
08.12.2012, 08:40     Квадратная матрица A называется ортогональной #2
Транспонировать матрицу намного проще и быстрее, чем найти обратную ей. Поэтому алгоритм таков:
Умножаем А на АТ и проверяем является ли результат единичной матрицей.

Причём саму матрицу Ат можно нигде отдельно в памяти не сохранять, ведь Аtij = Aji. То есть задача сводится к умножению матриц. Алгоритм умножения тот же, который юзают на парах 1го курса - на i-тую строчку ложится j-тый столбик, соответствующие пары элементов перемножаются и записываются в результат Bij.

Ах да, матрица должна быть вида н*н, иначе никак.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru