Ортогональная матрица
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.157] |
|
|
правила раздела Алгоритмы

| Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Ортогональная матрица
|
Сообщ.
#1
,
|
|
|
|
Народ, подскажите, как определить, является ли квадратная матрица ортогональной? Насколько я знаю, признак ортогональной матрицы: A*Aт=E, где Ат - транспонированная матрица, Е - единичная матрица. Заранее благодарен!
|
|
Сообщ.
#2
,
|
|
|
|
Тупо умножить ИМХО проще всего.
Ещё можно получить гауссом обратную к А матрицу - должна получиться она же, если получилась - значит ортогональная. Чего-то я притормаживаю сейчас, так что сильно не бейте если обманул |
|
Сообщ.
#3
,
|
|
|
|
Цитата HOMO PROGRAMMATIS, 21.04.03, 15:52:30 Нда с этим ты что-то переврал. Ещё можно получить гауссом обратную к А матрицу - должна получиться она же, если получилась - значит ортогональная. А вот насчет умножить и проверить нормальный вариант. Я ведь так понял, что Aт, он имел в виду транспонированную. Ессно, что зачение единичной, если получится, будет приближенным. Так что проверять нужно насколько отличаются результирующая матрица а не на равенство. P.S. Переношу тему в алгоритмы, т.к. к спп она отношения не имеет. |
|
Сообщ.
#4
,
|
|
|
|
Цитата MARcoDEN, 21.04.03, 15:21:11 Насколько я знаю, признак ортогональной матрицы: A*Aт=E, где Ат - транспонированная матрица, Е - единичная матрица. Заранее благодарен! Верно, но не совсем. Одно дело ортогональная матрица - из ортогональной системы столбцов. И немного другое дело ортонормированная матрица - ортогональная матрица, в которой норма каждого столбца равна единице. Так вот, указанный признак верен, но - это признак ортонормированной матрицы. Если надо проверить ортогональность, без требования нормированности столцов, то произведение должно быть всего лишь диагональной матрицей, а не единичной. |
|
Сообщ.
#5
,
|
|
|
|
Нет, фишка в том, что нужно проверить ортогональность, используя только исходную матрицу, т.е. А.
|
|
Сообщ.
#6
,
|
|
|
|
Цитата MARcoDEN, 22.04.03, 19:56:41 Нет, фишка в том, что нужно проверить ортогональность, используя только исходную матрицу, т.е. А. ну так и надо: перемножить А на АT и проверить результат на диагональность. |
|
Сообщ.
#7
,
|
|
|
|
Цитата shadeofgray, 22.04.03, 21:29:19 ну так и надо: перемножить А на АT и проверить результат на диагональность. А примерчик можно? : ![]() |
|
Сообщ.
#8
,
|
|
|
|
![]() ![]() const epsilon = 1E-6;// var A : array [1..n,1..n] of Real; D : Real; I : Integer; J : Integer; K : Integer; Result := True; for I:=1 to N do for J:=1 to N do begin D := 0; for K:=1 to N do D := D + A[K,I]*A[K,J]; if (I=J) and (Abs(D)<epsilon) then Result := False; if (I<>J) and (Abs(D)>=epsilon) then Result := False; end; |
|
Сообщ.
#9
,
|
|
|
|
Огромное спасибо! :D
|
|
Сообщ.
#10
,
|
|
|
|
Привет! Возник вопрос: есть два вектора a, b, равные по норме (все происходит в n-мерном комплексном пространстве), тогда существует ортогональная матрица U, такая, что верно a = Ub. Как это доказать? Считаем, что в данном простанстве ортогональная матрица U - это матрица, для которой UU* = единичная матрица, где * - эрмитово сопряжение (транспонирование и комплексное сопряжение).
|
|
Сообщ.
#11
,
|
|
|
|
Подсказка: подумай - что за преобразование пространства определяет умножение на эту матрицу?
Только какое это имеет отношение к алгоритмам? |
|
Сообщ.
#12
,
|
|
|
|
Здравствуйте! Ортогональная матрица определяет поворот, только мне это не помогло.. А задачка решилась вот так: системы {a} и {b} дополняем до ортонормированных базисов, составляем матрицы A и B из базисных вектор-столбцов, тогда искомая матрица U равна AB*. Прошу прощения за то, что поместила сообщение в "Алгоритмы", не нашла, где бы его поместить более подходящим образом, видимо, плохо искала.
|
|
Сообщ.
#13
,
|
|
|
|
Так конструктивнее, но через поворот было бы короче и элегантнее.
|
|
Сообщ.
#14
,
|
|
|
|
Всем привет) у мну тож задачка на ортонормированную матрицу, нужно просто проверить является ли она таковой или нет, насколько я понял нужно построить транспортировануую к ней матрицу, и если при умножение получиться единичная, то тада она таковой является, я правельно понял?
|
|
Сообщ.
#15
,
|
|
|
|
Нет.
Нужно писать "правИльно", "транспоНированНую", "получится" (без мягкого знака). Жаргонизмы я пропускаю. Кроме того, неправильно употребляется местоимение в последнем предложении: "она таковой и является" по тексту отностится к единичной (матрице). |