|
Умножение теплицевых матриц |
|
|
|
Apr 10 2015, 05:46
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542

|
Требуется оптимизировать функцию ЦОС, в которой наиболее затратными являются функция умножения комплексных матриц и функция обратной матрицы.
Я заметил, что перемножаемые матрицы являются якобы теплицевыми, но не симметричными и не квадратными, т.е. примерно следующих форматов:
{ a+0, a+1, a+2, a+3; a-1, a+0, a+1, a+2; a-2, a-1, a+0, a+1 }
{ a+0, a+1, a+2; a-1, a+0, a+1; a-2, a-1, a+0; a-3, a-2, a-1 }
Встречал алгоритмы, которые позволяют работать с теплицевыми матрицами размером [NxN].
Существуют ли оптимизированные алгоритмы, которые позволяют перемножать теплицевые не квадратные матрицы размером [NxM], где N != M ??? Может кто-нибудь встречал, подскажите, пожалуйста...
может быть теплицевыми являются только квадратные матрицы?
|
|
|
|
|
 |
Ответов
|
Apr 10 2015, 13:33
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Он же, кстати, обычно является первой обязательной стадией QR/QL и SVD разложений, т.к. итерации делают не по плотной матрице, а по три- или дву- диагональным формам. Xenia, для QR/QL/SVD декомпозиций можно использовать только вращение Гивенса, без Хаусхолдера. Или можно комбинировать Хаусхолдера и Гивенса для ускорения вычисления? Можете поделиться какими нибудь статьями с примерами? Как я понимаю, применяемый метод зависит от архитектуры, на которой все будет реализовываться. Например целочисленная QR декомпозиция легко разбивается на вычисление множества вращений Гивенса, которое суть поворот матрицы 2х2, параллелится и делается на обычном кордике.
|
|
|
|
|
Apr 10 2015, 14:48
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(serjj @ Apr 10 2015, 16:33)  Xenia, для QR/QL/SVD декомпозиций можно использовать только вращение Гивенса, без Хаусхолдера. Или можно комбинировать Хаусхолдера и Гивенса для ускорения вычисления? Можете поделиться какими нибудь статьями с примерами? Насколько я знаю, метод Хаусхолдера применялся для этой цели еще со времен "Справочника" (Уилкинсон, Райнш). Оттуда же попал в большинство известных мне матпакетов, где для нахождения собственных значений и векторов приходилось вызывать не одну функцию, а последовательно три штуки: приведение к тридиагональной, QR-итерации и обратные итерации для восстановления соб.векторов. Но потом, когда в пакетах появилась для этих целей одна функция, стало сложно определить, как она внутри себя устроена. Например, MATLAB пишет, что qr() это его встроенная функция и кода не показывает. Тем не менее, подозреваю, что и там используется старый добрый Хаусхолдер. Вот и функция hess(), вычисляющая форму Гессенберга, использует все те же отражения Хаусхолдера, хотя его именем не называется. По части применения в микроконтроллерах взгляните на это: " Применение QR алгоритма для расчёта собственных структур корреляционных матриц на платформе ADSP-TS201 фирмы Analog Devices" - там тоже Хаусхолдер. И, наконец, цитата из " Алгебраическая проблема собственных значений – Часть 64": Цитата ... метод Хаусхолдера требует вдвое меньше умножений, чем метод Гивенса. Уилкинсон Дж.Х., Алгебраическая проблема собственных значений(1970): Цитата Число умножений, необходимое для выполнения процесса Шмидта, равно n3, тогда как триангуляризации Хаусхолдера и Гивенса требуют соответственно 2/3 n3 и 4/3 n3. что, видимо, объясняет причину популярности метода отражений.
|
|
|
|
Сообщений в этой теме
Виктор39 Умножение теплицевых матриц Apr 10 2015, 05:46 andyp Квадратичный алгоритм описан здесь:
http://stackov... Apr 10 2015, 09:19 serjj Речь случайно не о методе наименьших квадратов или... Apr 10 2015, 09:32 andyp Цитата(serjj @ Apr 10 2015, 12:32) Речь с... Apr 10 2015, 11:06 Виктор39 ЦитатаКвадратичный алгоритм описан здесь:
http://s... Apr 10 2015, 10:25 serjj Вот книга (11 МБ djvu, не пролазит как прикрепленн... Apr 10 2015, 11:34 andyp Цитата(serjj @ Apr 10 2015, 14:34) Ну тог... Apr 10 2015, 13:47 Xenia Не плохо было бы с помощью SVD посчитать собственн... Apr 10 2015, 13:09 serjj Хы, да это же похоже на MMSE для OFDM/MIMO OFDM ... Apr 10 2015, 13:55 andyp Цитата(serjj @ Apr 10 2015, 16:55) Хы, да... Apr 10 2015, 14:06 serjj ЦитатаНе совсем похоже. В OFDM матрицы циркулярные... Apr 10 2015, 14:23 andyp Цитата(serjj @ Apr 10 2015, 17:23) Век жи... Apr 10 2015, 14:32 serjj Всегда смотрел в сторону хардверной платформы . Д... Apr 11 2015, 08:04 Виктор39 насколько я понял, лучше для оптимизации формулы X... Apr 13 2015, 09:33 andyp Цитата(Виктор39 @ Apr 13 2015, 12:33) нас... Apr 13 2015, 10:52 serjj SVD операция затратная, но:
1) псевдоинверсия вычи... Apr 13 2015, 10:32 serjj andyp, мне кажется у него другая дилема: считать л... Apr 13 2015, 10:55 andyp Цитата(serjj @ Apr 13 2015, 13:55) andyp,... Apr 13 2015, 11:18  Виктор39 Цитата(andyp @ Apr 13 2015, 14:18) Если э... Apr 13 2015, 11:58   andyp Цитата(Виктор39 @ Apr 13 2015, 14:58) В м... Apr 13 2015, 12:05 Виктор39 Цитата(serjj @ Apr 13 2015, 13:55) мне ка... Apr 13 2015, 11:15 serjj Виктор39, DDE = data directed equalizer? Который N... Apr 13 2015, 12:25 Виктор39 Цитата(serjj @ Apr 13 2015, 15:25) Виктор... Apr 13 2015, 12:46 serjj Цитата4) матрица данных у вас должна быть все таки... Apr 14 2015, 07:19 Виктор39 Цитата(serjj @ Apr 14 2015, 10:19) В доку... Apr 14 2015, 09:18 serjj Инверсия делается для решения системы линейных ура... Apr 14 2015, 09:40 andyp Цитата(serjj @ Apr 14 2015, 12:40) Инверс... Apr 14 2015, 10:24 serjj ЦитатаМожет статься, будет интересно
http://scicom... Apr 14 2015, 11:05 Виктор39 спасибо за помощь Apr 14 2015, 13:17 asoharev не забываем про супербыстрый алгоритм Шура, описан... Apr 24 2015, 08:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|