2014 dxdy logo

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

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


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


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



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


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

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

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


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

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


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

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

Почему не?

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


31/08/22
179
Я так и написал, для классического случая когда справа один столбец, левая часть будет $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
1683
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
179
С доводами согласен, но не понимаю как тот же 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
1683
$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
179
Все понял, всем спасибо.

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

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



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

Сейчас этот форум просматривают: lazarius


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

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