Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2012, 19:41   #1
peretc
Новичок
Джуниор
 
Регистрация: 14.01.2012
Сообщений: 1
По умолчанию Алгоритм циклической редукции

Доброго времени суток!

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

С последовательным вариантом я разобрался, а вот с параллельным никак не догоняю. Информации на этот счет достаточно мало, удается найти только то, что отсутствует фаза замещения.

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

PS Последовательный вариант реализую так:

Код:
int tridag_cpu(double *a, double *b, double *c, double *r, double *x, int n, int stride) {
// 1. прямой ход
for(int nn = n, low = 2; nn > 1; nn /= 2, low *= 2, stride *= 2) {
for(int i = low - 1; i < n; i += stride * 2) {
	float alpha = -a[i] / b[i - stride];
	if(alpha!=alpha) { return 1;  }
	float gamma = -c[i] / b[i + stride];
	if(gamma!=gamma) { return 1; }
	a[i] = alpha * a[i - stride];
	b[i] = alpha * c[i - stride] + b[i] + gamma * a[i + stride];
	c[i] = gamma * c[i + stride];
	r[i] = alpha * r[i - stride] + r[i] + gamma * r[i + stride];

 } 
 } 

 // 2. обратный ход
 x[n/2] = r[n/2] / b[n/2];
 for(stride /= 2; stride >= 1; stride /= 2) {
 for(int i = stride - 1; i < n; i += stride * 2) {
 x[i] = (r[i]
 - (i - stride > 0 ? a[i] * x[i - stride] : 0.0)
 - (i + stride < n ? c[i] * x[i + stride] : 0.0)
 ) / b[i];
 }
 }
 return 0;
 }

Последний раз редактировалось peretc; 15.01.2012 в 00:26.
peretc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм циклической структуры(Pascal) ksu04061992 Помощь студентам 0 30.11.2011 01:02
программирование алгоритмов циклической структуры Elonu Помощь студентам 0 29.03.2011 17:58
Программирование алгоритмов циклической структуры ЭльвинаСС Помощь студентам 0 16.03.2011 14:00
алгоритмы и программ циклической структуры Stapee Помощь студентам 1 21.10.2010 22:05
Программирование алгоритмов циклической структуры. Горящее сердце Помощь студентам 1 17.05.2010 16:22