91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SymPy庫關于矩陣的基本操作和運算方法是什么

發布時間:2023-03-10 10:18:58 來源:億速云 閱讀:156 作者:iii 欄目:開發技術

這篇“SymPy庫關于矩陣的基本操作和運算方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“SymPy庫關于矩陣的基本操作和運算方法是什么”文章吧。

1、矩陣創建

矩陣的創建過程被理解為提供了一組行向量。 A matrix is constructed by providing a list of row vectors that make up the matrix.

import sympy
matrix_a = sympy.Matrix([[1, 3], [-2, 3]])  # 生成2*2的方陣
matrix_b = sympy.Matrix([[1, 0, 2], [2, 3, 4]])  # 生成2*3的矩形矩陣

2、創建列向量

list對象被理解為一個列向量。 a list of elements is considered to be a column vector.

column_vector_a = sympy.Matrix([1, 2, 1])

3、截取矩陣的某一行或列, 使用 row()和 col()

print(matrix_b.col(0))  # 打印第一列
print(matrix_b.row(0))  # 打印第一行
print(matrix_b.col(-1))  # 打印倒數第一列
print(matrix_b.row(-1))  # 打印倒數第一行

4、刪除行向量、列向量

使用 row_del 或 col_del. 注意下:這些操作直接修改原來的矩陣對象,不會生成新的對象。

matrix_c = sympy.Matrix([[1, 0, 2, 4], [2, 3, 4, 0], [0, 1, 1, 1]])
matrix_c.row_del(0)  # 刪除第一行
matrix_c.col_del(1)  # 刪除第二列

5、插入行向量、列向量使用row_insert 或 col_insert。

insert注意三個點: (1)產生新的矩陣對象 (2)第一參數指的是插入位置,第二個參數是需要插入的內容 (3)注意區分插入行向量和列向量,Matrix()括號內略有不同,具體看下面的代碼:

matrix_d = sympy.Matrix([[1, 0, -1], [-5, 3, 4]])
matrix_d_insert_col = matrix_d.col_insert(0, sympy.Matrix([8, 9]))  # 在第一列插入列向量[8,9]
# print(matrix_d_insert_col)
matrix_d_insert_row = matrix_d.row_insert(0, sympy.Matrix([[1, 1, 1]]))  # 在第一行插入行向量
# print(matrix_d_insert_row)

6、像加法、乘法這樣的簡單運算使用+,*, **就可以了

求逆矩陣,只需把power設置為-1即可。 simple operations like addition and multiplication are done just by using +, *, and **. To find the inverse of a matrix, just raise it to the -1 power.

"""矩陣乘法"""
matrix_multiplication = matrix_a * matrix_b
#  print(matrix_multiplication)
 
"""矩陣求逆,如果不可逆,報錯NonInvertibleMatrixError: Matrix det == 0; not invertible."""
matrix_inverse = matrix_a ** -1
# print(matrix_inverse)
 
"""矩陣轉置"""
matrix_transpose = matrix_a.T
# print(matrix_transpose)

7、特殊矩陣的創建

"""生成單位矩陣,eye(n) will create an  identity matrix"""
matrix_identity = sympy.eye(2)  # 生成二階單位矩陣
# print(matrix_identity)
 
"""生成n*m的零矩陣,zeros(m,n)"""
matrix_zero = sympy.zeros(2, 3)  # 生成2*3的零矩陣
# print(matrix_zero)
 
"""生成元素都是1的矩陣,ones(m,n)"""
matrix_one = sympy.ones(2, 2)  # 生成2*2的元素都為1的方陣
# print(matrix_one)
 
"""生成對角矩陣,diag(),參數可以是數字,也可以是矩陣
The arguments to diag can be either numbers or matrices. 
A number is interpreted as a  matrix. The matrices are stacked diagonally. """
matrix_diag_1 = sympy.diag(1, 2, 3)  # 生成對角線元素為1,2,3的三階方陣
# print(matrix_diag_1)
matrix_diag_2 = sympy.diag(1, sympy.ones(2, 2), sympy.Matrix([[1, 2], [1, 3]]))
# print(matrix_diag_2)

以上就是關于“SymPy庫關于矩陣的基本操作和運算方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍梧县| 南皮县| 儋州市| 内丘县| 常州市| 唐河县| 云安县| 武冈市| 平阳县| 新河县| 白银市| 娄烦县| 夹江县| 百色市| 日照市| 永靖县| 于都县| 观塘区| 吉水县| 郁南县| 阿勒泰市| 当涂县| 囊谦县| 玉环县| 栖霞市| 和田县| 密云县| 吉安县| 新余市| 原阳县| 大冶市| 沾化县| 宜黄县| 涞水县| 陵水| 罗城| 万源市| 红安县| 晋城| 华宁县| 乐平市|