Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
#1

Умножение матриц делением на полосы (строки или столбцы) — ленточная схема - C++

04.01.2012, 19:04. Просмотров 1702. Ответов 3
Метки нет (Все метки)

Нужна помощь в разборе алгоритма, до меня никак не доходит по какой схеме этот алгоритм работает.
http://www.intuit.ru/department/calc...aralltp_7.html
Пункт 7.3. вроде хорошо описанно, но я все равно не могу понять.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2012, 19:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Умножение матриц делением на полосы (строки или столбцы) — ленточная схема (C++):

Умножение треугольных матриц«Методы обработки разреженных матриц» - C++
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ к элементам свёрнутой матрицы...

Умножение матриц в Access или поиск альтернативного решения задачи - MS Access
Здравствуйте. Я абсолютный новичок в Access, по работе есть необходимость создания небольшой базы и ее обработки. Одина из задач...

Перемножение матриц, умножение матриц на вектор, сложение матриц - Delphi
Помогите пожалуйста написать программу, которая производит основные действия с матрицами произвольных размеров (перемножения 2х матриц,...

Матрица n*m: упорядочить по возрастанию или по убыванию строки или столбцы матрицы - Java SE
Помогите плиз! матрица n*m: упорядочить по возрастанию или по убыванию строки или столбцы матрицы по минимальному или максимальному элементу

Умножение матриц с интерфейсом и возможность заполнения исходных матриц из файла - Delphi
Здравствуйте. Я сделал программу, которая умножает матрицы с интерфейсом, только проблема в том что необходимо заполнять сами матрицы...

Транспонирование, умножение матриц, сложение матриц Реализовать в одной программере - Turbo Pascal
транспонирование, умножение матриц, сложение матриц; B^3-A^T Реализовать в одной программере. Помогите решить

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
04.01.2012, 22:36 #2
всё просто:
как бы вы умножали матрицы в одном потоке?? (для наглядности - квадратные размера size*size)
C++
1
2
3
4
5
6
7
8
9
for(int i = 0;i<size; ++i){
//!!!
    for(int j = 0; j<size; ++j){
        c[i][j] = 0;
        for (int k = 0; k<size; ++k)
            c[i][j] += a[i][k]*b[k][j];
    }
//!!!
}
теперь, если мы хотим распараллелить задачу, нужно просто вынести блок кода обрамлённый восклицательными знаками в отдельные потоки. В этом случае вы получите искомый вами алгоритм.

ps:
умножение матриц неплохой (вернее, классический) пример для параллельных вычислений и очень дурной пример для многопоточности.
1
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
05.01.2012, 04:05  [ТС] #3
Vladimir., Может действительно все так просто... просто я пытался сделать по картинкам, алгоритм вроде понял, но слишком запарно получается...

А вообще потом нужно сделать его для параллельных вычислений, но это уже другая история=)

Еще раз спасибо, реально думал что все гораздо сложнее.
0
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 482
17.01.2012, 04:42  [ТС] #4
Такой вопрос возможно ли применить алгоритм параллельного ленточного умножения для матриц
N*M*K

точнее говоря можно ли при любом количестве процессов и при любой размерности матриц применить этот алгоритм???

просто везде примеры квадратных матриц, а про прямоугольные нигде ни слова...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2012, 04:42
Привет! Вот еще темы с ответами:

Умножение матриц (не работает для неквадратных матриц) - C (СИ)
Доброго времени суток. Написал код для перемножения двух матриц. При вводе квадратной матрицы всё работает нормально. При вводе матриц с...

Чтение матриц с внешнего файла, умножение матриц... - Pascal
Вот не могу составить программу... Необходимо считать матрицы А и В с внешнего файла (input). Матрица А размерностью 5х7, В размерностью...

Блок-схема. В данной действительной матрице порядка N*N. Найти строки(столбцы), элементы которых упрядочены по возрастанию. - Алгоритмы
В данной действительной матрице порядка N*N. Найти строки(столбци) элементы которых упрядочины по возрастанию! Завтра экзамен,а из-за...

Как с массива удалять столбцы или строки? - F#
Как с массива удалять столбцы или строки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.01.2012, 04:42
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru