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

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




 help, SOS, Парелельное решение СЛАУ
Люди добрые помогите кто может !!!!
Задача у меня такая -- надо реализовать алгоритм который будет при получении на вход СЛАУ большой размерности разбивать его на маленкие части для парального решения.
ОСНОНАЯ ПРОБЛЕМА НЕ МОГУ НАЙТИ АЛГОРИТМЫ.
[вырезано Dan_Te]

 Ссылка
Посмотрите
Дж. Ортега, Введение в параллельные и векторные методы решения линейных систем, изд. "Мир", Москва, 1991

 
Дж. Голуб, Ч. ван Лоун. Матричные вычисления. Мир. 1999
(Глава 6. Параллельные матричные вычисления)

LAPACK (на Фортране)
http://www.netlib.org/lapack/
"The original goal of the LAPACK project was to make the widely used EISPACK and LINPACK libraries run efficiently on shared-memory vector and parallel processors."

Lapack++ - the c++ version of Lapack
http://www.netlib.org/lapack++/

 
Похоже, основное в вопросе - не параллельность, а "СЛАУ большой размерности".
Здесь все существенно зависит от типа и, главное, степени заполненности матрицы: матрица общего вида, 3-диагональная / ленточная, нерегулярно разряженная (типа матриц в МКЭ).
Например, для матриц общего вида может подойти метод сопряженных градиентов. В нем основная процедура - это умножение матрицы на вектор, что может быть эффективно распараллелено.

 
А есть одни универсальный метод для парального решения различных СЛАУ?

 
birinets писал(а):
А есть одни универсальный метод для парального решения различных СЛАУ?

Даже для последовательного решения СЛУ вопрос об одном универсальном методе больше теоретический. На практике никто не применяет общий метод LU разложения для решения трехдиагональных симметричных систем.
А для параллельных систем кроме типа матрицы еще нужно учитывать архитектуру параллельной системы, количество процессоров и т.п.

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


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