Смекни!
smekni.com

ЛИСП-реализация операций над матрицами (стр. 1 из 2)

Содержание

Введение........................................................................................................... 2

1 Постановка задачи....................................................................................... 4

2 Математические и алгоритмические основы решения задачи................... 7

2.1 Сумма матриц............................................................................................ 7

2.2 Разность матриц........................................................................................ 7

2.3 Умножение матрицы на число λ............................................................... 8

2.4 Умножение матриц.................................................................................... 9

2.5 Транспонирование матрицы................................................................... 10

3 Функциональные модели и блок-схемы решения задачи......................... 12

4 Программная реализация решения задачи............................................... 18

5 Пример выполнения программы............................................................... 27

Заключение.................................................................................................... 29

Список использованных источников и литературы.................................... 30


Введение

Многие теоретические и практические вопросы приводят не к одному уравнению, а к целой системе уравнений с несколькими неизвестными. Особенно важен случай системы линейных уравнений, т.е. системы m уравнений 1ой степени с n неизвестными:

a11x1 + … + a1n xn = b1 ;

a21x1 + … + a2n xn = b2 ;

………………………………

am1x1+ … + amnxn = bm .

Здесь x1, … , xn – неизвестные, а коэффициенты записаны так, что индексы при них указывают на номер уравнения и номер неизвестного. Значение систем 1ой степени определяется не только тем, что они простейшие. На практике часто имеют дело с заведомо малыми величинами, старшими степенями которых можно пренебречь, так что уравнения с такими величинами сводятся в первом приближении к линейным. Не менее важно, что решение систем линейных уравнений составляет существенную часть при численном решении разнообразных прикладных задач. Ещё Г.Лейбниц (1693) обратил внимание на то, что при изучении систем линейных уравнений наиболее существенной является таблица, состоящая из коэффициентов, и показал, как из этих коэффициентов (в случае m = n) строить так называемые определители, при помощи которых исследуются системы линейных уравнений. Впоследствии такие матрицы, или матрицы, стали предметом самостоятельного изучения, так как обнаружилось, что их роль не исчерпывается приложениями к теории систем линейных уравнений. Современная алгебра, понимаемая как учение об операциях над любыми математическими объектами, является одним из разделов математики, формирующих общие понятия и методы для всей математики. Для современной алгебры характерно то, что в центре внимания оказываются свойства операций, а не объектов, над которыми проводятся данные операции. Классическим разделом алгебры является линейная алгебра, т.е. теория векторных пространств и модулей, частью которых являются сформировавшиеся ещё в XIX веке теория линейных уравнений и теория матриц. Идеи и методы линейной алгебры применяются во многих разделах математики. Так, основным предметом изучения функционального анализа являются бесконечномерные векторные пространства.


1 Постановка задачи

Требуется разработать программу, реализующую основные операции алгебры матриц: сложение, вычитание, умножение, транспонирование, а также умножение матрицы на число.

Пример 1. Над матрицами А и В выполнить основные операции:

.

Сумма матриц:

.

Разность матриц:

.

Транспонирование матрицы A и B:

.

Умножение матрицы A на число 3:

.

Умножение матриц

:

Пример 2. Над матрицами А и В выполнить основные операции:

.

Сумма матриц:

Невозможно вычислить сумму матриц, так как число строк матрицы A не равно числу строк матрицы B.

Разность матриц:

Невозможно вычислить разность матриц, так как число строк матрицы A не равно числу строк матрицы B..

Транспонирование матрицы A и B:

Так как матрица A не квадратная невозможно выполнить ее транспонирование.

.

Умножение матрицы A на число 5:

.

Умножение матриц

:

.

2 Математические и алгоритмические основы решения задачи

2.1 Сумма матриц

Суммой двух матриц А и В одинаковых размеров называется матрица того же размера, элементы которой равны сумме соответствующих элементов матриц А и В. Таким образом, если

(1)

(2)

.

Операция нахождения суммы матриц называется сложением матриц и распространяется на случай конечного числа матриц одинаковы размеров.

2.2 Разность матриц

Так же, как и сумма, определяется разность двух матриц


Операция нахождения разности двух матриц называется вычитанием матриц. Проверкой можно убедиться, что операция сложения матриц удовлетворяет следующим свойствам:

А + В = В + А; (коммутативность)

А + (В + С) = (А + В) + С; (ассоциативность)

А + О = А.

Здесь А, В, С – произвольные матрицы одинаковых размеров; О – нулевая матрица того же размера.

2.3 Умножение матрицы на число λ

Произведением матрицы А = [аij] на число λ называется матрица, элементы которой получаются из соответствующих элементов матрицы А умножением их на число λ. Произведение обозначим λА. Таким образом от умножения матрицы (1) на число, получим:

, то

Проверкой можно убедиться, что операция умножения матрицы на число удовлетворяет следующим свойствам:

1) А = А;

2) (λ + μ)А = λА + μΑ;

3) λ(А + В) = λΑ+ λВ;

4) λ( μА) = (λμ)А;

5) А + (-А) = О.

Здесь А, В – произвольные матрицы; μ, λ - произвольные числа; О – нулевая матрица.

2.4 Умножение матриц

Произведение АВ матрицы А на матрицу В определяется только в том случае, когда число столбцов матрицы А равно числу строк матрицы В. Пусть матрицы А и В такие, что число столбцов матрицы А равно числу строк матрицы В:

В этом случае произведением матрицы А на матрицу В, которые заданы в определенном порядке (А – 1ая, В – 2ая), является матрица С, элемент которой сij определяется по следующему правилу:

cij = ai1b1j + ai2b2j + … + ainbnj = ∑ n α = 1 aiαbαj,

где i = 1,2, …, m; j = 1, 2, …, k.

Для получения элемента сij матрицы произведения С = АВ нужно элементы i-й строки матрицы А умножить на соответствующие элементы j-го столбца матрицы В и полученные произведения сложить.

Число строк матрицы С = АВ равно числу строк матрицы А, а число столбцов – числу столбцов матрицы В.

Умножение матриц некоммутативно, т.е.

АВ ≠ ВА.

Проверкой можно показать, что умножение матриц удовлетворяет следующим свойствам:

1) А(ВС) = (АВ)С; (ассоциативность);

2) λ(АВ) = (λА)В = А(λВ);

3) А(В + С) = АВ + АС. (дистрибутивность).

Здесь А, В, С – матрицы соответствующих определению умножения матриц размеров; λ - произвольное число.

Операция умножения двух прямоугольных матриц распространяется на случай, когда число столбцов в 1ом множителе равно числу строк во 2ом, в остальных случаях произведение не определяется. А также, если матрицы А и В – квадратные одного и того же порядка, то умножение матриц всегда выполнимо при любом порядке следования сомножителей.

2.5 Транспонирование матрицы

Транспонированием матрицы называется такое преобразование матрицы, при котором строки и столбцы меняются ролями при сохранении номеров. Транспонированная матрица обозначается АТ.

.

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


3 Функциональные модели и блок-схемы решения задачи

Функциональные модели и блок-схемы решения задачи представлены на рисунках 1 – 7.

Условные обозначения:

MATRIX1 – первая матрица;

MATRIX2 – вторая матрица;

ROW1, R1 – количество строк в первой матрице;

ROW2, R2 – количество строк во второй матрице;

COL1, C1 – количество столбцов в первой матрице;

COL2, C2 – количество столбцов во второй матрице;