2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Подскажите как лучше сделать в матричных вычислениях
Сообщение20.03.2018, 18:50 


07/01/16
4
Здравствуйте форумчане!
Прошу вашей подсказки в следующих матричных вычислениях, как лучше сделать и посчитать…
Имеем следующее:
$\[\left[ {\begin{array}{*{20}{c}}
  {{x_3}} \\ 
  {{x_4}} 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {{x_1}}&{ - x_2^*} \\ 
  {{x_2}}&{x_1^*} 
\end{array}} \right] \cdot \left[ {\begin{array}{*{20}{c}}
  {{K_1}} \\ 
  {{K_2}} 
\end{array}} \right]\]$ (обозначение * означает комплексное сопряжение), обозначим $\[{X_1} = \left[ {\begin{array}{*{20}{c}}
  {{x_1}}&{ - x_2^*} \\ 
  {{x_2}}&{x_1^*} 
\end{array}} \right]\]$, получим $\[\left[ {\begin{array}{*{20}{c}}
  {{x_3}} \\ 
  {{x_4}} 
\end{array}} \right] = {X_1} \cdot \left[ {\begin{array}{*{20}{c}}
  {{K_1}} \\ 
  {{K_2}} 
\end{array}} \right]\]$.
Далее, $\[\left[ {\begin{array}{*{20}{c}}
  {{r_1}} \\ 
  {{r_2}} 
\end{array}} \right] = X_1^T \cdot \left[ {\begin{array}{*{20}{c}}
  {{h_1}} \\ 
  {{h_2}} 
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
  {{n_1}} \\ 
  {{n_2}} 
\end{array}} \right]\]$, обозначим $\[{R_1} = \left[ {\begin{array}{*{20}{c}}
  {{r_1}} \\ 
  {{r_2}} 
\end{array}} \right]\]$, $\[H = \left[ {\begin{array}{*{20}{c}}
  {{h_1}} \\ 
  {{h_2}} 
\end{array}} \right]\]$, $\[N = \left[ {\begin{array}{*{20}{c}}
  {{n_1}} \\ 
  {{n_2}} 
\end{array}} \right]\]$, получим $\[{R_1} = X_1^T \cdot H + N\]$.
Аналогично, $\[\left[ {\begin{array}{*{20}{c}}
  {{r_3}} \\ 
  {{r_4}} 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {{x_3}}&{{x_4}} \\ 
  { - x_4^*}&{x_3^*} 
\end{array}} \right] \cdot H + N\]$, обозначим $\[{R_2} = \left[ {\begin{array}{*{20}{c}}
  {{r_3}} \\ 
  {{r_4}} 
\end{array}} \right]\]$, $\[X_2^T = \left[ {\begin{array}{*{20}{c}}
  {{x_3}}&{{x_4}} \\ 
  { - x_4^*}&{x_3^*} 
\end{array}} \right]\]$, получим $\[{R_2} = X_2^T \cdot H + N\]$.
Сведем, $\[\left\{ {\begin{array}{*{20}{c}}
  {{R_1} = X_1^T \cdot H + N} \\ 
  {{R_2} = X_2^T \cdot H + N} 
\end{array}} \right.\, \Rightarrow \left[ {\begin{array}{*{20}{c}}
  {{R_1}} \\ 
  {{R_2}} 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right] \cdot \left[ {\begin{array}{*{20}{c}}
  H \\ 
  N 
\end{array}} \right]\]$.
Значения $\[{R_1}\]$, $\[{R_2}\]$, $\[X_1^T\]$, $\[X_2^T\]$ - нам известны.
Методом Крамера попытаемся найти H и N.
$\[H = \dfrac{{\left[ {\begin{array}{*{20}{c}}
  {{R_1}}&1 \\ 
  {{R_2}}&1 
\end{array}} \right]}}{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right]}} = \dfrac{{{R_1} - {R_2}}}{{X_1^T - X_2^T}} \Rightarrow {\left( {X_1^T - X_2^T} \right)^{ - 1}} \cdot \left( {{R_1} - {R_2}} \right)\]$, и тут все получается. При подстановке комплексных чисел посчитанное значение H по данной формуле совпадает с значением H, заданным изначально. Что мне и нужно.
$\[N = \dfrac{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&{{R_1}} \\ 
  {X_2^T}&{{R_2}} 
\end{array}} \right]}}{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right]}} = \dfrac{{{R_2} \cdot X_1^T - {R_1} \cdot X_2^T}}{{X_1^T - X_2^T}}\]$, а вот тут ничего не получается, как бы я не крутил… Вот тут мне и нужна Ваша помощь, как посчитать значение N.
Да, значение N можно конечно найти иначе. Зная посчитанное значение H, $\[N = {R_1} - X_1^T \cdot H\]$. Получается только так…

 Профиль  
                  
 
 Re: Подскажите как лучше сделать в матричных вычислениях
Сообщение20.03.2018, 21:14 


07/01/16
4
Формулу $\[N = \dfrac{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&{{R_1}} \\ 
  {X_2^T}&{{R_2}} 
\end{array}} \right]}}{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right]}} = \dfrac{{{R_2} \cdot X_1^T - {R_1} \cdot X_2^T}}{{X_1^T - X_2^T}}\]$ читать формулой $\[N = \dfrac{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&{{R_1}} \\ 
  {X_2^T}&{{R_2}} 
\end{array}} \right]}}{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right]}} = \dfrac{{X_1^T \cdot {R_2} - X_2^T \cdot {R_1}}}{{X_1^T - X_2^T}}\]$.

 Профиль  
                  
 
 Re: Подскажите как лучше сделать в матричных вычислениях
Сообщение21.03.2018, 03:45 
Заслуженный участник


18/01/15
3110
Применять формулы Крамера к системе, коэффициенты и неизвестные в которой --- матрицы, вообще говоря, нельзя, в следующем смысле. Пусть $A_{11}$, $A_{12}$, $A_{21}$, $A_{22}$ --- четыре $2\times2$ матрицы, $B_1$ и $B_2$ --- две $2\times1$ матрицы (т.е. столбца высоты 2). Мы можем рассмотреть систему "матричных уравнений"
$$ A_{11}X_1+A_{12}X_2=B_1 $$ $$ A_{21}X_1+A_{22}X_2=B_2, $$ где $X_1$, $X_2$ --- неизвестные $2\times1$ матрицы, которые мы хотим найти (а $A_{11},\ldots,B_2$ считаются известными). Возникает искушение формально написать "формулы Крамера" $$ X_1=\frac{\begin{vmatrix} B_1 & A_{12} \\ B_2 & A_{22} \end{vmatrix} } {\begin{vmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{vmatrix} }=\frac{A_{22}B_1-A_{12}B_2}{A_{11}A_{22}-A_{21}A_{12}}$$ и для $X_2$ аналогично. Однако эти формулы не имеют смысла! Прежде всего, нельзя писать $A=\frac{B}{C}$, в случае, когда $B$ и $C$ матрицы (во-первых, у $B$ и $C$ могут быть несовместимые размеры. Во-вторых, даже если $B$ и $C$ --- квадратные матрицы одинакового размера, "левое частное" $C^{-1}B$ может не совпадать с "правым частным" $BC^{-1}$, поскольку умножение матриц, вообще говоря, не коммутативно. И вообще может быть так, что $C$ ненулевая, но не обратимая). Но даже если написать
$X_1=(A_{11}A_{22}-A_{21}A_{12})^{-1}(A_{22}B_1-A_{12}B_2)$
или
$X_1=(A_{22}B_1-A_{12}B_2)(A_{11}A_{22}-A_{21}A_{12})^{-1}$,
это всё равно будет неверно. Говоря короче, нельзя обращаться с матрицами так же, как с числами. Разве что при умножении двух матриц, разбитых на блоки. И то при этом надо следить за соответствием размеров блоков и за порядком умножения.

 Профиль  
                  
 
 Re: Подскажите как лучше сделать в матричных вычислениях
Сообщение28.03.2018, 18:25 


07/01/16
4
vpb, спасибо вам за разъяснения, действительно все так.
Подытожим с учетом некоторых полученных результатов.
Итак, мы имеем систему $\[\left\{ {\begin{array}{*{20}{c}}
  {{r_1} = {x_1}{h_1} + {x_2}{h_2} + {n_1}} \\ 
  {{r_2} =  - x_2^*{h_1} + x_1^*{h_2} + {n_2}} \\ 
  {{r_3} = {x_3}{h_1} + {x_4}{h_2} + {n_1}} \\ 
  {{r_4} =  - x_4^*{h_1} + x_3^*{h_2} + {n_2}} 
\end{array}} \right. \Rightarrow \]$ $\[\left\{ {\begin{array}{*{20}{c}}
  {\left[ {\begin{array}{*{20}{c}}
  {{r_1}} \\ 
  {{r_2}} 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {{x_1}}&{{x_2}} \\ 
  { - x_2^*}&{x_1^*} 
\end{array}} \right] \cdot \left[ {\begin{array}{*{20}{c}}
  {{h_1}} \\ 
  {{h_2}} 
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
  {{n_1}} \\ 
  {{n_2}} 
\end{array}} \right]} \\ 
  {\left[ {\begin{array}{*{20}{c}}
  {{r_3}} \\ 
  {{r_4}} 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {{x_3}}&{{x_4}} \\ 
  { - x_4^*}&{x_3^*} 
\end{array}} \right] \cdot \left[ {\begin{array}{*{20}{c}}
  {{h_1}} \\ 
  {{h_2}} 
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
  {{n_1}} \\ 
  {{n_2}} 
\end{array}} \right]} 
\end{array}} \right. \Rightarrow \]$ $\[\left\{ {\begin{array}{*{20}{c}}
  {{R_1} = X_1^T \cdot H + N} \\ 
  {{R_2} = X_2^T \cdot H + N} 
\end{array}} \right. \Rightarrow \]$ $\[\left[ {\begin{array}{*{20}{c}}
  {{R_1}} \\ 
  {{R_2}} 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right] \cdot \left[ {\begin{array}{*{20}{c}}
  H \\ 
  N 
\end{array}} \right]\]$
Задача найти значение $N$, при том, что $H$ тоже неизвестно.
Из системы нам удалось получить значение $H$.
$\[\tilde H = \dfrac{{\left[ {\begin{array}{*{20}{c}}
  {{R_1}}&1 \\ 
  {{R_2}}&1 
\end{array}} \right]}}{{\left[ {\begin{array}{*{20}{c}}
  {X_1^T}&1 \\ 
  {X_2^T}&1 
\end{array}} \right]}} = \dfrac{{{R_1} - {R_2}}}{{X_1^T - X_2^T}} = {\left( {X_1^T - X_2^T} \right)^{ - 1}} \cdot \left( {{R_1} - {R_2}} \right)\]$, и тут все получается. При подстановке комплексных чисел восстановленное значение $\[\tilde H\]$ по данной формуле совпадает с значением $H$, заданным изначально. Что мне и нужно.
Далее, подставив $\[\tilde H = {\left( {X_1^T - X_2^T} \right)^{ - 1}} \cdot \left( {{R_1} - {R_2}} \right)\]$ в $\[{R_1} = X_1^T \cdot H + N\]$, получим $\[{R_1} = X_1^T \cdot \left( {{{\left( {X_1^T - X_2^T} \right)}^{ - 1}} \cdot \left( {{R_1} - {R_2}} \right)} \right) + N \to \tilde N = {R_1} - \left( {{{\left( {X_1^T - X_2^T} \right)}^{ - 1}} \cdot \left( {{R_1} - {R_2}} \right)} \right)\]$ или $\[\tilde N = \left( {E - {{\left( {E - X_2^TX_1^{ - T}} \right)}^{ - 1}}} \right){R_1} + {\left( {E - X_2^TX_1^{ - T}} \right)^{ - 1}}{R_2}\]$ (данную формулу мне подсказали на форуме http://www.cyberforum.ru/algebra/thread2213949.html#post12255422).
Вроде как отлично! Что требовалось, то и получили и, что самое главное, все работает. Подставив комплексные числа все вычисляется идеально, за исключением случая, при котором $\[X_2^T = X_1^T\]$. У меня, к сожалению, один такой случай предполагается и поэтому не знаю, что предпринять…
Имеется такая таблица значений $\[{x_1}\]$, $\[{x_2}\]$, $\[{x_3}\]$, $\[{x_4}\]$, $\[{K_1}\]$, $\[{K_2}\]$ в зависимости от информационных сигналов $\[{c_1}...\,{c_4}\]$.
Изображение

И вот в первом случае получается как раз, что $\[X_2^T = X_1^T\]$ и, следовательно, $N$, по той формуле вычислить не получается, а необходимо.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group