2014 dxdy logo

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

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




 
 Приведение матрицы к диагонально-преобладающему виду
Сообщение29.11.2009, 12:01 
Аватара пользователя
Как составить эффективный алгоритм приведения хорошо обусловленной матрицы(которую можно разрешить методом итераций) к диагонально-преобладающему виду. Я сделал так: сначала выделил строки с преобладающими элементами и расположил их так, чтобы этот преобладающий элемент стоял на диагонали матриц, а потом делаю так: прибавляю к каждой "не преобразованной на предыдущем этапе" строке сумму остальных строк матрицы, помноженных на некоторые коэффициенты, которые я определяю "тупым" перебором. Но работает второ этап долго. Очень долго. Мне нужно первое: какие должны быть граничные значения у коэффициентов? (скажем от -10 до 10) и с каким шагом эффективнее всего эти коэффициенты перебирать? (1/100, 1/10) И как это все определить по исходной матрице?
Либо предложите другой алгоритм сведения матрицы к диагонально-преобладающему виду.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение29.11.2009, 13:42 
Аватара пользователя
Непойму, просматривают тему многие, но ничего не пишут. Я плохо объяснил проблему, или она такая сложная, что никто ничего не знает? Я могу подробнее написать. Ответьте кто-нибудь.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение29.11.2009, 14:13 
Аватара пользователя
 !  galileopro,

форум — это не chat. Здесь нельзя ожидать ответа в тот же день и час.
Многие участники заходят раз в день, раз в неделю.
При всей Вашей нужде и нетерпении, Ваше сообщение расценивается как «подъем темы» (пункт I.1.м правил).

Возможно, Вам бы быстрее ответили в Computer Science:
maxal в сообщении #93749 писал(а):
...Корневой раздел предназначен для обсуждения алгоритмов (без привязки к языку программирования) и других теоретических и практических вопросов информатики, не попадающих под тематику ни одного из подразделов.

...При необходимости модераторы могут переместить тему из одного раздела в другой.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение29.11.2009, 14:22 
Аватара пользователя
Хорошо. Если не трудно, то переместите тему. Просто у меня уже есть опыт, когда в теме не было ответов и за несколько месяцев. Я пытаюсь понять доступно ли я изложил проблему.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение30.11.2009, 08:38 
Аватара пользователя
Переезжаем в CS.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение30.11.2009, 17:42 
Цитата:
Либо предложите другой алгоритм сведения матрицы к диагонально-преобладающему виду.

Если матрица симметричная, то можете попробовать сначала свести её к трехдиагональному виду с помощью алгоритма Хаусхолдера а потом применить QR или QL алгоритм, который преобразовывает трехдиагональную матрицу к диагональной. При этом, чтобы ускорить сходимость обычно применяют неявные сдвиги. Получается довольно быстро. Эти алгоритмы легко можно найти в интернете.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение01.12.2009, 19:10 
Аватара пользователя
Нет. Не симметричная. Плохо. Я придумал некий алгоритм, но не знаю, насколько он эффективен. Еще варианты будут?

-- Вт дек 01, 2009 19:13:56 --

Сегодня протестирую алгоритм, если он будет нормально работать, то выложу код. Но вообще преподаватель сказал, что он имеет место быть :)

-- Вт дек 01, 2009 19:48:02 --

AKM, спасибо, что переместили)

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение14.12.2010, 21:16 
Столкнулся с той же проблемой..

Куда тему перенесли? Искал по форуму, не смог найти :shock:

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение14.12.2010, 23:02 
Аватара пользователя
TokSeven, тему переместили в Computer Science, это она и есть, Вы её уже прочитали. Тот алгоритм, который я показывал преподу основвывался на случайном подборе коэффициентов, на которые нужно умножать уравнения и затем складывать, поэтому он статичстический и не всегда дает результат за необходимое время. Его сложность тоже оценить нельзя. К сожалению, задача пока не решена. Может кто-то напишет в будующем решение.

 
 
 
 Re: Приведение матрицы к диагонально-преобладающему виду
Сообщение15.12.2010, 11:23 
galileopro в сообщении #266279 писал(а):
Как составить эффективный алгоритм приведения хорошо обусловленной матрицы(которую можно разрешить методом итераций) к диагонально-преобладающему виду.
А с какой целью нужно приводить матрицу к диагонально-преобладающему виду?

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group