На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Ортогональная матрица
    Народ, подскажите, как определить, является ли квадратная матрица ортогональной? Насколько я знаю, признак ортогональной матрицы: A*Aт=E, где Ат - транспонированная матрица, Е - единичная матрица. Заранее благодарен!
    Сообщение отредактировано: MARcoDEN -
      Тупо умножить ИМХО проще всего.
      Ещё можно получить гауссом обратную к А матрицу - должна получиться она же, если получилась - значит ортогональная.

      Чего-то я притормаживаю сейчас, так что сильно не бейте если обманул :)
        Цитата HOMO PROGRAMMATIS, 21.04.03, 15:52:30
        Ещё можно получить гауссом обратную к А матрицу - должна получиться она же, если получилась - значит ортогональная.
        Нда с этим ты что-то переврал. :)

        А вот насчет умножить и проверить нормальный вариант. Я ведь так понял, что Aт, он имел в виду транспонированную. Ессно, что зачение единичной, если получится, будет приближенным. Так что проверять нужно насколько отличаются результирующая матрица а не на равенство.

        P.S. Переношу тему в алгоритмы, т.к. к спп она отношения не имеет.
        Сообщение отредактировано: Leprecon -
          Цитата MARcoDEN, 21.04.03, 15:21:11
          Насколько я знаю, признак ортогональной матрицы: A*Aт=E, где Ат - транспонированная матрица, Е - единичная матрица. Заранее благодарен!

          Верно, но не совсем.

          Одно дело ортогональная матрица - из ортогональной системы столбцов. И немного другое дело ортонормированная матрица - ортогональная матрица, в которой норма каждого столбца равна единице.

          Так вот, указанный признак верен, но - это признак ортонормированной матрицы.
          Если надо проверить ортогональность, без требования нормированности столцов, то произведение должно быть всего лишь диагональной матрицей, а не единичной.
            Нет, фишка в том, что нужно проверить ортогональность, используя только исходную матрицу, т.е. А.
            Сообщение отредактировано: MARcoDEN -
              Цитата MARcoDEN, 22.04.03, 19:56:41
              Нет, фишка в том, что нужно проверить ортогональность, используя только исходную матрицу, т.е. А.

              ну так и надо:
              перемножить А на АT и проверить результат на диагональность.
                Цитата shadeofgray, 22.04.03, 21:29:19

                ну так и надо:
                перемножить А на АT и проверить результат на диагональность.

                А примерчик можно?  ::)
                  ExpandedWrap disabled
                    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;
                  Сообщение отредактировано: Math -
                    Огромное спасибо!  :D
                      Привет! Возник вопрос: есть два вектора a, b, равные по норме (все происходит в n-мерном комплексном пространстве), тогда существует ортогональная матрица U, такая, что верно a = Ub. Как это доказать? Считаем, что в данном простанстве ортогональная матрица U - это матрица, для которой UU* = единичная матрица, где * - эрмитово сопряжение (транспонирование и комплексное сопряжение).
                        Подсказка: подумай - что за преобразование пространства определяет умножение на эту матрицу?
                        ;)

                        Только какое это имеет отношение к алгоритмам? :angry:
                          Здравствуйте! Ортогональная матрица определяет поворот, только мне это не помогло.. А задачка решилась вот так: системы {a} и {b} дополняем до ортонормированных базисов, составляем матрицы A и B из базисных вектор-столбцов, тогда искомая матрица U равна AB*. Прошу прощения за то, что поместила сообщение в "Алгоритмы", не нашла, где бы его поместить более подходящим образом, видимо, плохо искала.
                            Так конструктивнее, но через поворот было бы короче и элегантнее.
                            8-)
                              Всем привет) у мну тож задачка на ортонормированную матрицу, нужно просто проверить является ли она таковой или нет, насколько я понял нужно построить транспортировануую к ней матрицу, и если при умножение получиться единичная, то тада она таковой является, я правельно понял?
                                Нет. 8-)
                                Нужно писать "правИльно", "транспоНированНую", "получится" (без мягкого знака). Жаргонизмы я пропускаю.
                                Кроме того, неправильно употребляется местоимение в последнем предложении: "она таковой и является" по тексту отностится к единичной (матрице).
                                :tong: :whistle:
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.0792 ]   [ 15 queries used ]   [ Generated: 5.10.26, 23:41 GMT ]