2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Решение переопределенной СЛАУ
Сообщение15.03.2023, 09:17 


31/08/22
183
Всем доброго здоровья и хорошего настроения.
Каким образом можно решить переопределенную СЛАУ вида $AX=B$ у которой правая часть $B$ состоит из более чем одного столбца?
В решении необходимо обойтись без нахождения обратной матрицы.

Вот если в правой части один столбец, тут все ясно левая часть равна $A^{T}A$, правая $A^{T}B$, что можно решить любым способом.
Например Гауссом, LU и т.д.
Все эффективно и прекрасно.
Но когда появляется второй столбец в правой части. Гауссом или LU уже не решить...
Есть ли какие то эффективные способы решения для такого случая?

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 09:44 


11/07/16
825
Можно применить метод наименьших квадратов. Вычисления механизированы в Математике: см. In LeastSquares[m,b], b can be a matrix: и "Compare to general minimization" там же в "Basic Examples".

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 09:56 
Заслуженный участник
Аватара пользователя


30/01/09
7140
Schrodinger's cat в сообщении #1585466 писал(а):
Каким образом можно решить

Вы руками будете решать? Или программу писать? Или будете использовать какой-то инструмент помощнее? Про Математику вам уже сказали. В МатЛабе также всё решается одним оператором - \.
Schrodinger's cat в сообщении #1585466 писал(а):
Но когда появляется второй столбец в правой части. Гауссом или LU уже не решить..

Почему не?

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 10:00 


31/08/22
183
Я так и написал, для классического случая когда справа один столбец, левая часть будет $A_1=A^{T}A$, правая $B_1=A^{T}B$.
Это и есть МНК. Классическое решение в учебниках обычно предлагают такое $X=\left (A^{T}A  \right )^{-1}A^{T}B$. Но можно обойтись и без вычисления обратной матрицы решая систему не в исходных $A и B$ а в $A_1 и B_1$
Алгоритм ломается когда в $B$ появляется более одного столбца. С обратной матрицей работает, а вот как обойтись без...

Да, пишу алгоритмы на C#.

Почему не, потому что классический Гаусс решает с одним столбцом справа. Он же приводит матрицу к треугольной прямым проходом а обратным мы сопоставляем с правой частью $B$, а как мы сопоставим если одному $X$ придется 2 значения $B$?

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 10:28 
Заслуженный участник


18/09/21
1766
Schrodinger's cat в сообщении #1585473 писал(а):
Почему не, потому что классический Гаусс решает с одним столбцом справа
Гауссу не важно, сколько справа столбцов. Можете делать сколько угодно.
Schrodinger's cat в сообщении #1585473 писал(а):
Он же приводит матрицу к треугольной прямым проходом а обратным мы сопоставляем с правой частью $B$
Посмотрите алгоритм LU-факторизации. Тот же Гаусс, но вообще без столбцов.
После факторизации уже для любого столбца в правой части можно быстро найти обратный к нему.

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 11:35 
Аватара пользователя


12/02/23
65
Schrodinger's cat в сообщении #1585466 писал(а):
... когда появляется второй столбец в правой части. Гауссом или LU уже не решить...
Почему не решить? Все то же самое, что и с одним столбцом.
Или, если угодно, рассматривайте систему с двумя столбцами правой части как све СЛАУ: первая только с первым столбцом, вторая - только со вторым.

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 11:35 


31/08/22
183
С доводами согласен, но не понимаю как тот же MathCAD получает ответ.
Рассмотрим пример
$A=\begin{bmatrix}
2 & 7 & 6\\ 
9 & 2 & 4\\ 
4 & 1 & 7\\ 
8 & 4 & 3
\end{bmatrix}$ $B=\begin{bmatrix}
2 & 6\\ 
3 & 4\\ 
8 & 1\\ 
1 & 7
\end{bmatrix}$
Тогда $A_1=A^TA=\begin{bmatrix}
165 & 68 & 100\\ 
68 & 70 & 69\\ 
100 & 69 & 110
\end{bmatrix}$ $B_1=A^TB=\begin{bmatrix}
71 & 108\\ 
32 & 79\\ 
83 & 80
\end{bmatrix}$

Теперь можно воспользоваться встроенной функцией $lsolve(A_1,B_1)$ и получить ответ $X=\begin{bmatrix}
-0.007 & 0.405\\ 
-0.75 & 0.999\\ 
1.231 & -0.267
\end{bmatrix}$
Через классический метод с обратной матрицей получается тот же ответ.
Как решить через LU/Гаусса?
Сами матрицы LU такие (разлагаем $A^TA$):
$L=\begin{bmatrix}
1 & 0 & 0\\ 
0.412 & 1 & 0\\ 
0.606 & 0.662 & 1
\end{bmatrix}$ $U=\begin{bmatrix}
165 & 68 & 100\\ 
0 & 41.976 & 27.788\\ 
0 & 0 & 30.998
\end{bmatrix}$
Что дальше делать?

-- 15.03.2023, 11:40 --

Niemand в сообщении #1585485 писал(а):
Или, если угодно, рассматривайте систему с двумя столбцами правой части как две СЛАУ: первая только с первым столбцом, вторая - только со вторым.

Ого, не знал что так можно.
И все же как совместить чтобы за один присест решить? В стандартном решении СЛАУ через LU так же фигурирует только 1 столбец.

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 11:42 
Заслуженный участник


18/09/21
1766
$A_1=L\cdot U$
$A_1^{-1}b=(L\cdot U)^{-1}b=U^{-1}L^{-1}b$
Решение для треугольных матриц тривиально.

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 11:47 
Аватара пользователя


12/02/23
65
Schrodinger's cat в сообщении #1585486 писал(а):
В стандартном решении СЛАУ через LU так же фигурирует только 1 столбец.
Кто вам это сказал? В методе Гаусса нет ограничений на размер расширенной матрицы.

 Профиль  
                  
 
 Re: Решение переопределенной СЛАУ
Сообщение15.03.2023, 13:26 


31/08/22
183
Все понял, всем спасибо.

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

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



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

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


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

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