Читайте также: |
|
Создать матрицу – это значит каким-либо способом создать двумерный массив. Подобным образом получена матрица m1 в примере 9.3. Функции для создания специальных матриц:
IdentityMatrix[n] – порождает единичную матрицу ;
DiagonalMatrix[list] – дает диагональную матрицу с элементами списка list на главной диагонали.
Функции для работы с матрицами.
MatrixForm[m] – выводит на печать двумерный массив m в виде матрицы.
MatrixForm[v] – выводит на печать одномерный массив v в виде вектора-столбца.
Dot[m1,m2] или m1.m2 – вычисляет произведение матриц.
m1*m2 – производитпоэлементное перемножение матриц.
Inverse[m] – вычисляет обратную матрицу.
Transpose[m] – производит транспонирование.
MatrixPower[m, n] – возводит матрицу m в степень n.
Det[m] – вычисляет определитель матрицы.
Length[m] – определяет число строк матрицы.
Dimensions[m] – определяет размеры матрицы m.
Eigenvalues[m] – вычисляет собственные значения матрицы.
Eigenvectors[m] – находит собственные векторы матрицы m.
MatrixRank[m] – подсчитывает ранг матрицы.
Tr[m] – вычисляет след матрицы – сумму диагональных элементов.
Norm[v] – подсчитывает длину вектора v: , где v k – компоненты вектора.
Norm[v, ¥] – вычисляет норму вектора по формуле .
Norm[m, ¥] – вычисляет норму матрицы m по формуле .
Norm[m, 1] – вычисляет норму матрицы по формуле .
Отметим, что матричные функции включают также аналитические преобразования.
Пример 9.8. Действия с матрицами.
Введем матрицу m2 и вектор v3: In[ ]: = m2={{-1, 4}, { 2, -3}}; v3={- 4, 3};
Длина вектора: In[ ]: = Norm[v3] Out[ ] = 5
Норма вектора: In[ ]: = Norm[v3, ¥] Out[ ] = 4
Определительматрицы: In[ ]: = Det[m2] Out[ ] = - 5
Норма матрицы: In[ ]: = Norm[m2, ¥] Out[ ] = 5
Собственные значения и собственные векторы матрицы m1:
In[ ]: = Eigenvalues[m2] Out[ ] = {-5, 1}
In[ ]: = Eigenvectors[m2] Out[ ] = {{-1, 1}, {2, 1}}
Произведение матрицы на вектор: In[ ]: = m2.v3 Out[ ] = {16, -17}
Обратная матрица: In[ ]: = m3=Inverse[m2] Out[ ] =
Произведение исходной матрицы на обратную: In[ ]: = m2.m3 Out[ ] = {{1, 0}, {0, 1}}
Объединим матрицы m2 и m3 в единую матрицу :
In[ ]: = m4=Join[m2, m3] Out[ ] =
Транспонируем матрицу m4:
In[ ]: = m5=Transpose[m4] Out[ ] =
Просуммируем элементы столбцов матрицы m5: In[ ]: = Total[m5] Out[ ] =
Просуммируем все элементы матрицы m5: In[ ]: = Total[m5, 2] Out[ ] = 4
Создадим диагональную матрицу: In[ ]: = DiagonalMatrix[v3] Out[ ] = {{-4, 0}, {0, 3}}
Ряд функций для преобразования списков приведен также в разделах 11 и 12.
В заключение раздела приведем пример определения векторной функции. Данная функция реализует операцию “бабочка” – базовую операцию алгоритма быстрого преобразования Фурье. Операция вычисляет дискретное преобразование Фурье для массива из двух элементов {a, b}; в результате операции исходный массив преобразуется в массив {a+b, a-b}:
In[ ]: = w[{a, b}]:= {a+b, a-b}; w[{1, 2}] Out[ ] = {3, -1}
Математика сначала вычисляет целиком вектор, описанный в правой части операции присваивания, и затем заменяет старый вектор на новый.
Дата добавления: 2015-07-08; просмотров: 188 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Прерывание вычислений | | | Массивы |