Курсовая работа: Разработка пакета прикладных программ для вычисления определителя матрицы
Итак, на основании теорем можно сказать, что для вычисления определителя -го порядка необходимо его разложить по произвольной строке или столбцу.
Свойства определителей:
1. При перестановке двух столбцов определитель меняет знак на противоположный (свойство антисимметрии).
2. Определитель равен нулю, если все элементы какого-нибудь столбца равны нулю или если один из столбцов является линейной комбинацией любых его других столбцов (в частности, определитель, у которого хотя бы два столбца одинаковы, равен нулю).
3. Умножение всех элементов какого-нибудь столбца на скаляр k равнозначно умножению определителя на k (общий множитель элементов строки или столбца можно вынести за знак определителя).
4. Умножение матрицы n-го порядка на скаляр k соответствует умножению ее определителя на kn, т.е.
det(k[A]) = kndet[A].
5. Значение определителя не изменится, если к какому-нибудь столбцу прибавить другой столбец, умноженный на скаляр k.
6. Если два определителя одинаковых порядков различаются между собой только элементами j-го столбца, то их сумма равна определителю, элементы j-го столбца которого равны суммам соответствующих элементов j-х столбцов исходных определителей, а остальные элементы те же, что у исходных (свойство линейности).
Описание метода Крамера
Для системы n линейных уравнений с n неизвестными (над произвольным полем)
с определителем матрицы системы Δ, отличным от нуля, решение записывается в виде
(i-ый столбец матрицы системы заменяется столбцом свободных членов).
В другой форме правило Крамера формулируется так: для любых коэффициентов c1, c2, …, cn справедливо равенство:
В этой форме формула Крамера справедлива без предположения, что Δ отлично от нуля, не нужно даже, чтобы коэффициенты системы были бы элементами целостного кольца (определитель системы может быть даже делителем нуля в кольце коэффициентов). Можно также считать, что либо наборы b1,b2,...,bn и x1,x2,...,xn, либо набор c1,c2,...,cn состоят не из элементов кольца коэффициентов системы, а какого-нибудь модуля над этим кольцом. В этом виде формула Крамера используется, например, при доказательстве формулы для определителя Грама и Леммы Накаямы.
1.2 Выбор инструментальных средств
Языки программирования – это формальные языки, специально созданные для общения человека с компьютером. Каждый язык программирования ровно как и «естественный» язык, имеет алфавит, словарный запас, свои грамматику и синтаксис, а так же семантику.
Взаимодействие синтаксических и семантических правил определяют те или иные понятия языка. В отличии от естественных языков правила грамматики и семантики для языков программирования, как и для всех формальных языков, должны быть ясно, однозначно и чётко сформулированы.
Целью данной курсовой работы является вычисление определителя матрицы произвольного порядка. Для этого рассмотрим некоторые языки программирования и выберем более удобный для нас.
Двоичный язык - в настоящее время программистами не применяется. Применение этого языка требует огромных затрат времени, является невероятно трудоемким процессом.
Шестнадцатеричный язык - упрощение за счет представления четырех двоичных цифр одной шестнадцатеричной. Используется в качестве дополнения к языкам высокого уровня для программирования критичных к времени выполнения фрагментов алгоритмов.
Язык Ассемблера - предназначен для представления в удобочитаемой символической форме программ, написанных на машинном языке. Используется для написания драйверов устройств, критических с точки зрения быстродействия, участков программ, а так же для написания стыковочных узлов (мостов) между модулями программы, написанной на двух разных языках.
Язык Макроассемблера - расширение языка Ассемблера. Позволяет определять и использовать новые, более мощные команды.
Язык Fortran на данный момент также используют в учебных целях. Встретить этот язык в применении почти не реально, так как он не очень удобен и, как следствие, не распространен.
Язык Basic разработан в 1964 г. для использования новичками. Basic широко используется в учебных заведениях для тренировки базовых навыков программирования у обучающихся. Он очень популярен и существует множество его диалектов, несовместимых между собой.