案例 求出矩陣的最簡型? sympy登場

2021-10-06 06:02:36 字數 1199 閱讀 9790

學過線性代數的同學都知道,在將矩陣進行初等變換化為最簡型時過程有多麼繁瑣。今天,給大家帶來乙個小專案——使用 python 化簡矩陣。

將要學習:使用特殊的科學計算庫——sympy,來化簡矩陣。

在數學中,矩陣是乙個按照長方陣列排列的複數或實數,最早來自於方程組的係數及常數所構成的方陣。

矩陣變換是線性代數中矩陣的一種運算形式。有如下三種形式:

(1) 交換矩陣的兩行;

(2) 以乙個非零數k乘矩陣的某一行所有元素;

(3) 把矩陣的某一行所有元素乘以乙個數k後加到另一行對應的元素。

類似地,把以上的「行」改為「列」便得到矩陣初等變換的定義,矩陣的初等行變換與初等列變換合稱為矩陣的初等變換。

利用初等行交換將矩陣化為行最簡形矩陣,行最簡形矩陣在求逆矩陣、求解矩陣方程、求解線性方程組、求矩陣與向量組的秩、求向量組的極大無關組、求矩陣的特徵值與特徵向量等方面具有關鍵作用。

# coding: utf-8 

# !/usr/bin/python

"""@file : matrix.py

@author : jiaming

@modify time: 2020/5/17 12:31

@contact :

@desciption : none

"""import numpy as np

from sympy import matrix

matrix =[[

1,2,

1,0]

,[2,

1,-2

,0],

[1,-

1,-4

,3]]

rref = matrix(np.array(matrix)

).rref()[

0].tolist(

)print

(rref)

# [[1, 0, 0, -5], [0, 1, 0, 4], [0, 0, 1, -3]]

改變 matrix 中的數值,然後執行程式,就會輸出矩陣的行最簡形式。

以上就是通過初等行變換進行矩陣化簡的全部內容了,目前還只是初步版本,以後我們可以加入更多功能,比如求解矩陣秩、極大線性無關組等小拓展,使之成為體系,還有就是公升級使用者互動,使使用者能夠直接輸入矩陣,而不是修改源**,最終我們還要打包它,讓沒有 python 環境的裝置也能夠使用。

C 將矩陣轉換為行最簡型矩陣

是否還在困擾,將矩陣化為行最簡型矩陣的時候總是出錯?是否還在生氣,妥善保管的答案不見蹤跡?沒事,這個 將幫你把這些問題一網打盡。通過自己設定矩陣的行數與列數,輸入乙個矩陣,使其輸出行最簡型矩陣,親測無誤奧。話不多說,來看看吧!第一步 輸入矩陣 輸入矩陣首先得確定矩陣的行數與列數,這裡利用兩個巨集定義...

matlab將矩陣化為行最簡形

用基礎的函式寫了乙個matlab指令碼將矩陣變成行最簡式。未參考matlab自帶的rref函式,基本與其無關,如有bug可反饋。大致思路 把矩陣含有0的行放在最下面,然後下面的行減去上面的行,最後變成行最簡型。function r my rs a a表示輸入矩陣 r表示輸出的行最簡型矩陣 t 1 進...

例題 求出陣列中的最值

1 獲取陣列中的最大值 思想 現有乙個長度為5的陣列array,假定array中的第一號元素就是整個陣列中最大的元素,設計乙個迴圈,輸出後續的陣列元素,如果第二號元素大於第一號元素,那麼就用第二號元素將第一號元素替換掉,現在第二號元素就是最大的那個,然後繼續,第三號元素與第二號元素相比較,如果比得的...