1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python使用numpy计算矩阵特征值 特征向量与逆矩阵

Python使用numpy计算矩阵特征值 特征向量与逆矩阵

时间:2019-04-09 20:13:43

相关推荐

Python使用numpy计算矩阵特征值 特征向量与逆矩阵

Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv()函数用来计算可逆矩阵的逆矩阵。

>>> import numpy 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使用扩展库numpy计算矩阵加权平均值

详解Python科学计算扩展库numpy中的矩阵运算(1)

Python稀疏矩阵运算库scipy.sparse用法精要

-------我是分割线-----------

新书《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与同一性测试运算符is40

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 不可变集合frozenset97

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 上下文管理语句with277

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 文档测试doctest318

11.3 单元测试unittest320

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 线程概念与标准库threading335

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与BoundedSemaphore349

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 标准库subprocess365

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与StreamWriter386

附录:精彩在继续390

附录1:GUI开发390

附录2:SQLite数据库操作393

附录3:计算机图形学编程394

附录4:图像编程397

附录5:数据分析、机器学习、科学计算可视化400

附录6:密码学编程400

附录7:系统运维401

附录8:Windows系统编程402

附录9:软件分析与逆向工程404

参考资料406

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。