2014 dxdy logo

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

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


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


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 08:47 
Заслуженный участник


11/05/08
32166
logout2d в сообщении #323455 писал(а):
Я не знаю как у вас Гаусс дает {-4,1}, у меня он дает {0,0} и при этом он решает СЛАУ правильно! Значит метод работает!

А-а, вот оно что. Метод-то работает, а вот Вы -- не очень.

В любом машинном пакете метод Гаусса решает только невырожденные системы. (Мог бы, в принципе, и вырожденные, но мне таких пакетов не попадалось.) И по Вашей последней ссылке машина об этом честно и говорит: "Матрица вырождена, так что адью".

Но Вы-то ведь пытаетесь искать собственные векторы. И, значит, Ваша система принципиально вырожденна. А находить надо -- общее решение этой системы. Да, именно методом Гаусса, и именно стандартным, причем в векторной форме. Только пальчиками, как на первом курсе учат, а не маткадами.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 09:30 


23/11/09
130
В целом все так и есть.

ewert в сообщении #323677 писал(а):
А-а, вот оно что. Метод-то работает, а вот Вы -- не очень.


Это не совсем верно, я пишу программы разного плана. Я вообще предпочитаю с начало самому научиться решать, а потом перекладывать это в код. Я могу решить вырожденную систему ручками, но не понимаю как можно научить программу решать такие. У меня то задача не просто решить а написать программу для многократного решения задач ИБО (см пред офтоп) ручками можно, но не катит так решать :-)

Подскажите а как "он в принципе МОЖЕТ решать вырожденные системы"
Может я смогу реализовать такой метод, было бы очень неплохо.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 09:40 
Заслуженный участник


11/05/08
32166
logout2d в сообщении #323685 писал(а):
, но не понимаю как можно научить программу решать такие.

Этого я не понимаю. Метод Гаусса достаточно жестко формализован. Пишем расширенную матрицу системы и применяем к ней стандартные преобразования. И раз уж Вы "пишите программы" -- то что может помешать Вам перевести все эти действия в машинный код?...

Разве что ловля нулевых строк (с учетом погрешностей округления). Ну так нормируйте все строчки и задайте порог отсечения.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 09:48 


23/11/09
130
logout2d в сообщении #323685 писал(а):
Метод Гаусса достаточно жестко формализован. Пишем расширенную матрицу системы и применяем к ней стандартные преобразования. И раз уж Вы "пишите программы" -- то что может помешать Вам перевести все эти действия в машинный код?...


Я так и делаю, составляю расширенную матрицу и вперед по стандартному алгоритму.

logout2d в сообщении #323685 писал(а):
Ну так нормируйте все строчки и задайте порог отсечения.


Как нормировать? Какой порог?
Пожалуйста несколько подробней.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 09:57 
Заслуженный участник


11/05/08
32166
Порог -- в некотором смысле от балды. Считаем какую-ниудь норму исходной матрицы (не очень важно какую) и умножаем ее на, скажем, десять в минус двенадцатой; это и будет порог. А потом, при поиске главного элемента в правой нижней подматрице -- полагаем ее нулевой, если все ее элементы оказались ниже этого порога.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 10:19 


23/11/09
130
Хм... метод интересный, сейчас мне не нужен, но позже займусь реализацией.
Спс что просвятил :-)

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 10:24 
Заслуженный участник


11/05/08
32166

(Оффтоп)

logout2d в сообщении #323702 писал(а):
просвятил

к сожалению, сана у меня нету, так что просвЯтить я никак не могу. А метод -- стандартный.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 10:41 


23/11/09
130
ewert в сообщении #323705 писал(а):
А метод -- стандартный


Тем более спасибо, не знал о таком :-)

ewert в сообщении #323677 писал(а):
(Мог бы, в принципе, и вырожденные, но мне таких пакетов не попадалось.)


Правда возникает вопрос если он стандартный то почему не реализовывается в стандартных пакетах типа Маткада. Правда возникает и ответ, там и так есть поиск собственных чисел и векторов каким методом неважно, надо думать там более приспособленный метод. Ну это уже совсем другая тема.

 Профиль  
                  
 
 Re: Сингулярное разложение матриц. Помогите разобраться
Сообщение25.05.2010, 10:56 
Заслуженный участник


11/05/08
32166
logout2d в сообщении #323706 писал(а):
Правда возникает вопрос если он стандартный то почему не реализовывается в стандартных пакетах типа Маткада.

Там проблемы в первую очередь с интерфейсом. Процедура должна возвращать (например) частное решение и базис ядра матрицы, причем размерность ядра заранее не известна. И главное: трудно сформулировать универсально разумный способ определения ранга матрицы.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2

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



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

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


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

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