python numpy逆_Python使用numpy计算矩阵特征值、特征向量与逆矩阵
原標題:Python使用numpy計算矩陣特征值、特征向量與逆矩陣
Python擴展庫numpy.linalg的eig()函數可以用來計算矩陣的特征值與特征向量,而numpy.linalg.inv()函數用來計算可逆矩陣的逆矩陣。
>>> importnumpy as np
>>> x = np.matrix([[1,2,3], [4,5,6], [7,8,9]])
# 計算矩陣特征值與特征向量
>>> e, v = np.linalg.eig(x)
# 根據特征值和特征向量得到原矩陣
>>> y = v * np.diag(e) * np.linalg.inv(v)
>>> y
matrix([[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]])
--------我是分割線----------
-------我是分割線-----------
新書《Python程序設計開發寶典》封面與目錄,近日即將全面上架
第1章 管中窺豹:Python概述 14
1.1 Python是這樣一種語言 14
1.2 Python版本之爭 14
1.3 Python編程規范與代碼優化建議 15
1.4 Python虛擬開發環境的搭建 17
1.5 Eclipse+PyDev環境搭建和使用 17
1.6 安裝擴展庫的幾種方法 19
1.7 標準庫與擴展庫中對象的導入與使用 20
1.7.1 import 模塊名 [as 別名] 20
1.7.2 from 模塊名 import 對象名[ as 別名] 21
1.7.3 from 模塊名 import * 21
1.7.4 模塊導入時的搜索路徑 22
1.8 編寫與發布自己的包 23
1.9 Python程序偽編譯與打包 25
1.10 從命令行參數和配置文件獲取信息 27
第2章 萬丈高樓平地起:運算符、表達式與內置對象 29
2.1 Python常用內置對象 29
2.1.1 常量與變量 30
2.1.2 數字 31
2.1.3 字符串 34
2.1.4 列表、元組、字典、集合 35
2.2 Python運算符與表達式 37
2.2.1 算術運算符 38
2.2.2 關系運算符 39
2.2.3 成員測試運算符in與同一性測試運算符is 40
2.2.4 位運算符與集合運算符 41
2.2.5 邏輯運算符 41
2.2.6 矩陣乘法運算符@ 42
2.2.7 補充說明 42
2.3 Python關鍵字簡要說明 43
2.4 Python常用內置函數用法精要 44
2.4.1 類型轉換與類型判斷 47
2.4.2 最值與求和 51
2.4.3 基本輸入輸出 52
2.4.4 排序與逆序 55
2.4.5 枚舉與迭代 56
2.4.6 map()、reduce()、filter() 57
2.4.7 range() 61
2.4.8 zip() 61
2.4.9 eval()、exec() 62
第3章 玄之又玄,眾妙之門:詳解Python序列結構 64
3.1 列表:打了激素的數組 64
3.1.1 列表創建與刪除 65
3.1.2 列表元素訪問 66
3.1.3 列表常用方法 67
3.1.4 列表對象支持的運算符 72
3.1.5 內置函數對列表的操作 74
3.1.6 使用列表模擬向量運算 75
3.1.7 列表推導式語法與應用案例 76
3.1.8 切片操作的強大功能 83
3.2 元組:輕量級列表 86
3.2.1 元組創建與元素訪問 86
3.2.2 元組與列表的異同點 87
3.2.3 生成器推導式 88
3.3 字典:反映對應關系的映射類型 90
3.3.1 字典創建與刪除 90
3.3.2 字典元素的訪問 91
3.3.3 元素添加、修改與刪除 92
3.3.4 標準庫collections中與字典有關的類 93
3.4 集合:元素之間不允許重復 94
3.4.1 集合對象的創建與刪除 95
3.4.2 集合操作與運算 95
3.4.3 不可變集合frozenset 97
3.4.4 集合應用案例 97
3.5 序列解包的多種形式和用法 100
3.6 標準庫中的其他常用數據類型 102
3.6.1 枚舉類型 102
3.6.2 數組類型 103
3.6.3 隊列 103
3.6.4 具名元組 105
3.6.5 堆 106
第4章 反者,道之動:程序控制結構 108
4.1 條件表達式 108
4.2 選擇結構 110
4.2.1 單分支選擇結構 110
4.2.2 雙分支選擇結構 111
4.2.3 多分支選擇結構 112
4.2.4 選擇結構的嵌套 113
4.2.5 構建跳轉表實現多分支選擇結構 114
4.3 循環結構 114
4.3.1 for循環與while循環 115
4.3.2 break與continue語句 116
4.3.3 循環代碼優化技巧 117
4.4 精彩案例賞析 118
第5章 代碼復用技術(一):函數 126
5.1 函數定義與使用 126
5.1.1 基本語法 126
5.1.2 函數嵌套定義、可調用對象與修飾器 128
5.1.3 函數對象成員的動態性 132
5.1.4 函數遞歸調用 132
5.2 函數參數 134
5.2.1 位置參數 135
5.2.2 默認值參數 135
5.2.3 關鍵參數 137
5.2.4 可變長度參數 137
5.2.5 強制函數的某些參數必須以關鍵參數形式進行傳值 138
5.2.6 強制函數的所有參數必須以位置參數 139
5.2.7 傳遞參數時的序列解包 140
5.2.8 標注函數參數與返回值類型 142
5.3 變量作用域 142
5.3.1 全局變量與局部變量 142
5.3.2 nonlocal變量 145
5.4 lambda表達式 146
5.5 生成器函數設計要點 148
5.6 偏函數與函數柯里化 150
5.7 單分發器與泛型函數 152
5.8 協程函數 153
5.9 注冊程序退出時必須執行的函數 155
5.10 回調函數原理與實現 156
5.11 精彩案例賞析 156
第6章 代碼復用技術(二):面向對象程序設計 184
6.1 類的定義與使用 184
6.1.1 基本語法 184
6.1.2 type類 185
6.1.3 定義帶修飾器的類 186
6.2 數據成員與成員方法 187
6.2.1 私有成員與公有成員 187
6.2.2 數據成員 189
6.2.3 成員方法、類方法、靜態方法、抽象方法 190
6.2.4 屬性 192
6.2.5 類與對象的動態性、混入機制 194
6.3 繼承、多態、依賴注入 196
6.3.1 繼承 196
6.3.2 多態 198
6.3.3 依賴注入技術的不同實現方法 199
6.4 特殊方法與運算符重載 202
6.5 精彩案例賞析 204
6.5.1 自定義隊列 204
6.5.2 自定義棧 208
6.5.3 自定義集合 210
6.5.4 自定義數組 216
6.5.5 自定義雙鏈表 221
6.5.6 自定義常量類 223
6.5.7 自定義不允許修改值的字典 224
6.5.8 自定義支持with關鍵字的類 225
第7章 文本處理(一):字符串 226
7.1 字符串編碼格式簡介 227
7.2 轉義字符與原始字符串 228
7.3 字符串格式化 229
7.3.1 使用%符號進行格式 229
7.3.2 使用format()方法進行字符串格式化 231
7.3.3 格式化的字符串常量 232
7.3.4 使用Template模板進行格式化 232
7.4 字符串常用操作 233
7.4.1 find()、rfind()、index()、rindex()、count() 233
7.4.2 split()、rsplit()、partition()、rpartition() 235
7.4.3 join() 236
7.4.4 lower()、upper()、capitalize()、title()、swapcase() 237
7.4.5 replace()、maketrans()、translate() 238
7.4.6 strip()、rstrip()、lstrip() 239
7.4.7 startswith()、endswith() 239
7.4.8 isalnum()、isalpha()、isdigit()、isdecimal()、isnumeric()、isspace()、isupper()、islower() 240
7.4.9 center()、ljust()、rjust()、zfill() 241
7.4.10 字符串對象支持的運算符 241
7.4.11 適用于字符串對象的內置函數 243
7.4.12 字符串對象的切片操作 245
7.5 其他有關模塊 245
7.5.1 textwrap模塊 245
7.5.2 zlib模塊提供的壓縮功能 248
7.6 字符串常量 249
7.7 可變字符串 250
7.8 中英文分詞 251
7.9 漢字到拼音的轉換 252
7.10 精彩案例賞析 253
第8章 文本處理(二):正則表達式 256
8.1 正則表達式語法 256
8.1.1 正則表達式基本語法 256
8.1.2 正則表達式擴展語法 257
8.1.3 正則表達式錦集 257
8.2 直接使用正則表達式模塊re處理字符串 259
8.3 使用正則表達式對象處理字符串 262
8.4 match對象 264
8.5 精彩案例賞析 267
第9章 數據永久化:文件內容操作 273
9.1 文件操作基本知識 274
9.1.1 內置函數open() 274
9.1.2 文件對象屬性與常用方法 276
9.1.3 上下文管理語句with 277
9.2 文本文件內容操作案例精選 277
9.3 二進制文件操作案例精選 282
9.3.1 使用pickle模塊讀寫二進制文件 282
9.3.2 使用struct模塊讀寫二進制文件 284
9.3.3 使用shelve模塊操作二進制文件 285
9.3.4 使用marshal模塊操作二進制文件 285
9.3.5 其他常見類型二進制文件操作案例 286
第10章 文件與文件夾操作 297
10.1 os模塊 297
10.2 os.path模塊 300
10.3 shutil模塊 301
10.4 其他常用模塊 303
10.4.1 glob模塊 303
10.4.2 fnmatch模塊 303
10.5 精彩案例賞析 304
第11章 代碼質量保障:異常處理結構、程序調試與測試 309
11.1 異常處理結構 309
11.1.2 Python內置異常類層次結構 310
11.1.3 異常處理結構 311
11.1.4 斷言與上下文管理語句 317
11.2 文檔測試doctest 318
11.3 單元測試unittest 320
11.4 覆蓋測試 323
11.5 軟件性能測試 324
11.6 代碼調試 326
11.6.1 使用IDLE調試 326
11.6.2 使用Eclipse+PyDev進行代碼調試 329
11.6.3 使用pdb調試 329
第12章 多任務與并行處理:線程、進程、協程、分布式、GPU加速 334
12.1 多線程編程 334
12.1.1 線程概念與標準庫threading 335
12.1.2 線程對象 336
12.1.3 線程調度 339
12.1.4 Lock/RLock對象 341
12.1.5 Condition對象 343
12.1.6 Queue對象 345
12.1.7 Event對象 348
12.1.8 Semaphore與BoundedSemaphore 349
12.1.9 Barrier對象 350
12.2 多進程編程 351
12.2.1 進程創建與管理 352
12.2.2 進程同步技術 352
12.2.3 Pool對象 353
12.2.4 Manager對象 358
12.2.5 Listener與Client對象 361
12.2.6 進程間數據交換與共享 362
12.2.7 標準庫subprocess 365
12.3 協程 365
12.4 concurrent.futures模塊提供的并發執行功能 368
12.5 pySpark并行計算與分布式計算框架 369
12.6 GPU編程 376
12.6.1 使用pycuda實現GPU加速 376
12.6.2 使用pyopencl實現GPU加速 378
12.6.3 使用tensorflow實現GPU加速 379
第13章 互通互聯:asyncio提供的網絡通信功能 381
13.1 Transport類與Protocol類 381
13.2 StreamReader與StreamWriter 386
附錄:精彩在繼續 390
附錄1:GUI開發 390
附錄2:SQLite數據庫操作 393
附錄3:計算機圖形學編程 394
附錄4:圖像編程 397
附錄5:數據分析、機器學習、科學計算可視化 400
附錄6:密碼學編程 400
附錄7:系統運維 401
附錄8:Windows系統編程 402
附錄9:軟件分析與逆向工程 404
責任編輯:
總結
以上是生活随笔為你收集整理的python numpy逆_Python使用numpy计算矩阵特征值、特征向量与逆矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 图片不能正常移动_Java,我
- 下一篇: clickhouse 航空数据_Clic