Алгоритмы параллельных вычислений

. Алгоритмы параллельных вычислений. Решение СЛАУ прямыми и итерационными методами с использованием распараллеливания вычислений на многоядерных процессорах. Алгоритм нахождения максимального элемента в массиве. Матричные вычисления.

Матричное уравнение  в действительности является просто множеством линейных систем   Для различных векторов решений  и векторов правых частей , т.е. нужно решить линейную систему с одной матрицей A и многими правыми частями. Решение таких задач мы уже рассмотрели.

К такой задаче тесно примыкают задачи вычисления определителя и нахождения обратной матрицы. Поскольку нахождение обратной матрицы  для матрицы A означает решение матричного уравнения  эту задачу можно решать так же, как и задачу нахождения решений систем линейных уравнений с одной и той же матрицей, но с несколькими различными столбцами свободных членов. Однако если объем вычислений при решении этой задачи возрастает примерно вдвое по сравнению с решением системы  то требования к машинной памяти могут существенно изменяться. Дело в том, что при нахождении обратной матрицы (скажем, элементарными преобразованиями) приходится запоминать все элементы вычисляемой промежуточной матрицы (которая в итоге совпадает с обратной для матрицы ).

На практике часто встречаются формулы вида   которые, естественно, предполагают обращение матриц для вычисления векторов x, y, z. Такой подход весьма неэффективен, поскольку никогда нет необходимости обращать матрицы, чтобы вычислять другие объекты. В большинстве случаев явное обращение матриц приводит к вычислительным потерям.

Определители бесполезны для проведения вычислений в линейной алгебре. Определители нужны лишь в очень немногих разделах матричного исчисления, и редко возникает необходимость вычислять в явном виде значение определителя. Например, правило Крамера чрезвычайно неэффективно для решения систем линейных уравнений. Часто можно слышать: «Я не могу решить систему, поскольку определитель равен нулю». Однако может быть решена система или нет, обнаруживается почти всегда раньше, чем найдено значение определителя. Сама по себе величина определителя не имеет отношения к достоверности вычислений. Например, можно быть уверенным в правильном решении, когда det  и получить совершенно неправильные результаты, когда det Для того чтобы убедиться в этом, достаточно умножить каждое уравнение системы 20-го порядка на множитель

Ссылка на основную публикацию
Adblock detector