最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SymPy庫關(guān)于矩陣的基本操作和運算

 更新時間:2023年03月10日 08:33:58   作者:jeffery18  
本文主要介紹了SymPy庫關(guān)于矩陣的基本操作和運算,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

網(wǎng)上有很多關(guān)于科學(xué)計算包sympy的介紹,這里我把官方文檔的英文表述貼過來。簡單翻譯就是sympy是個代數(shù)系統(tǒng),底層完全使用python語言寫的,使用簡單、好理解、易擴展。

SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python.

正好最近在研究線性代數(shù),順手把SymPy中關(guān)于矩陣的基本用法記錄一下。

1、矩陣創(chuàng)建

矩陣的創(chuàng)建過程被理解為提供了一組行向量。 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、創(chuàng)建列向量

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))  # 打印倒數(shù)第一列
print(matrix_b.row(-1))  # 打印倒數(shù)第一行

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)產(chǎn)生新的矩陣對象 (2)第一參數(shù)指的是插入位置,第二個參數(shù)是需要插入的內(nèi)容 (3)注意區(qū)分插入行向量和列向量,Matrix()括號內(nèi)略有不同,具體看下面的代碼:

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設(shè)置為-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)
 
"""矩陣轉(zhuǎn)置"""
matrix_transpose = matrix_a.T
# print(matrix_transpose)

7、特殊矩陣的創(chuàng)建

"""生成單位矩陣,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(),參數(shù)可以是數(shù)字,也可以是矩陣
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)

到此這篇關(guān)于SymPy庫關(guān)于矩陣的基本操作和運算的文章就介紹到這了,更多相關(guān)SymPy矩陣運算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 多張圖片合并成一個pdf的參考示例

    Python 多張圖片合并成一個pdf的參考示例

    最近需要將記的筆記整理成一個pdf進行保存,所以就研究了一下如何利用 Python 代碼將拍下來的照片整個合并成一個pdf
    2021-06-06
  • django Layui界面點擊彈出對話框并請求邏輯生成分頁的動態(tài)表格實例

    django Layui界面點擊彈出對話框并請求邏輯生成分頁的動態(tài)表格實例

    這篇文章主要介紹了django Layui界面點擊彈出對話框并請求邏輯生成分頁的動態(tài)表格實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python基于文本內(nèi)容實現(xiàn)隱私信息提取與評估

    Python基于文本內(nèi)容實現(xiàn)隱私信息提取與評估

    這篇文章主要為大家介紹了Python如何實現(xiàn)基于文本內(nèi)容的用戶隱私泄露風(fēng)險評估系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2025-03-03
  • Python爬蟲代理IP池實現(xiàn)方法

    Python爬蟲代理IP池實現(xiàn)方法

    在公司做分布式深網(wǎng)爬蟲,搭建了一套穩(wěn)定的代理池服務(wù),為上千個爬蟲提供有效的代理,保證各個爬蟲拿到的都是對應(yīng)網(wǎng)站有效的代理IP,從而保證爬蟲快速穩(wěn)定的運行,所以就想利用一些免費的資源搞一個簡單的代理池服務(wù)。
    2017-01-01
  • 手把手帶你了解Python數(shù)據(jù)分析--matplotlib

    手把手帶你了解Python數(shù)據(jù)分析--matplotlib

    這篇文章主要介紹了Python實現(xiàn)matplotlib顯示中文的方法,結(jié)合實例形式詳細總結(jié)分析了Python使用matplotlib庫繪圖時顯示中文的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2021-08-08
  • 使用C語言來擴展Python程序和Zope服務(wù)器的教程

    使用C語言來擴展Python程序和Zope服務(wù)器的教程

    這篇文章主要介紹了使用C語言來擴展Python程序和Zope服務(wù)器的教程,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • python dict亂碼如何解決

    python dict亂碼如何解決

    在本篇文章里小編給大家分享了關(guān)于python dict亂碼解決方法,需要的朋友們可以參考下。
    2020-06-06
  • Python實現(xiàn)雙X軸雙Y軸繪圖的示例詳解

    Python實現(xiàn)雙X軸雙Y軸繪圖的示例詳解

    這篇文章主要介紹了如何利用fig.add_subplot和axes.twinx().twiny()方法實現(xiàn)雙X軸雙Y軸繪圖,文中的示例代碼講解詳細,快跟隨小編一起動手嘗試一下吧
    2022-04-04
  • python實現(xiàn)同一局域網(wǎng)下傳輸圖片

    python實現(xiàn)同一局域網(wǎng)下傳輸圖片

    這篇文章主要為大家詳細介紹了python實現(xiàn)同一局域網(wǎng)下傳輸圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python?迭代器和生成器概念及場景分析

    Python?迭代器和生成器概念及場景分析

    yield 是 Python 中實現(xiàn)惰性計算和協(xié)程的核心工具,結(jié)合 send()、throw()、close() 等方法,能夠構(gòu)建高效、靈活的數(shù)據(jù)流和控制流模型,這篇文章主要介紹了Python?迭代器和生成器概念,需要的朋友可以參考下
    2025-04-04

最新評論

井冈山市| 榆树市| 象山县| 漳州市| 娄烦县| 游戏| 高陵县| 马尔康县| 沂水县| 海伦市| 锡林浩特市| 大方县| 望奎县| 临高县| 宁河县| 越西县| 南涧| 博爱县| 察雅县| 临江市| 武汉市| 临沧市| 民和| 扎兰屯市| 若尔盖县| 专栏| 汾阳市| 舒兰市| 四平市| 密山市| 临泉县| 平原县| 南阳市| 汨罗市| 长沙市| 夹江县| 安乡县| 即墨市| 博爱县| 舟山市| 定远县|