当前位置: 首页 > article >正文

使用numpy求解线性代数相关问题

在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组类型相乘是逐元素相乘,而矩阵类型相乘则是矩阵乘法。

以下使用numpy.array类型来进行线性代数问题求解。

矩阵的转置

A.T

import numpy as np

A = np.array([[1, 2], [3, 4]])

A_T = A.T
print(A_T)

矩阵乘法

np.dot(A, B)或者是A @ B

import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.dot(A, B)
print(C)
D = A @ B
print(D)

逆矩阵

np.linalg.inv(A)

import numpy as np

A = np.array([[1, 2], [3, 4]])

inv_A = np.linalg.inv(A)
print(inv_A)

求解行列式

np.linalg.det(A)

import numpy as np

A = np.array([[1, 2], [3, 4]])

det_A = np.linalg.det(A)
print(det_A)

矩阵的秩和迹

矩阵的秩是矩阵线性无关的行(或列)的最大数目,它反映了矩阵的“非零度”。矩阵的迹则是其主对角线上元素之和。

求解矩阵的秩:np.linalg.matrix_rank(A)

求解矩阵的迹:np.trace(A)

求解矩阵的迹,用于计算矩阵主对角线上元素的总和,较为通用。所以没有在linalg模块。

import numpy as np

A = np.array([[1, 2], [3, 4]])

rank_A = np.linalg.matrix_rank(A)
print(rank_A)

tr_A = np.trace(A)
print(tr_A)

解线性方程组

np.linalg.solve(A, b)

import numpy as np

A = np.array([[1, 2], [3, 4]])

b = np.array([1, 2])
# A x = b
x = np.linalg.solve(A, b)
print(x)

计算特征值和特征向量

特征值,特征向量 = np.linalg.eig(A)

import numpy as np

A = np.array([[1, 2], [3, 4]])

eigenvalues, eigenvectors = np.linalg.eig(A)
print(eigenvalues)
print(eigenvectors)

奇异值分解

奇异值分解(Singular Value Decomposition,简称 SVD)是线性代数中一种重要的矩阵分解方法。它将一个矩阵分解为三个特定的矩阵乘积,这些矩阵具有明确的几何和代数意义。对于任意一个 m ∗ n m * n mn 的实数矩阵 A,其奇异值分解可以表示为:
A = U S V T A = U S V^T A=USVT
U, S, Vt = np.linalg.svd(A)

import numpy as np

A = np.array([[1, 2], [3, 4]])

U, S, Vt = np.linalg.svd(A)
print(U,S,Vt)

http://www.kler.cn/a/511316.html

相关文章:

  • 第2章:Python TDD构建Dollar类基础
  • 什么是三高架构?
  • Java基础(二)
  • 快速搭建深度学习环境(Linux:miniconda+pytorch+jupyter notebook)
  • 接口防篡改+防重放攻击
  • 什么是长连接?Netty如何设置进行长连接?
  • HTML<center>标签
  • CTF随题思路—[BSidesSF2019]zippy
  • hdrnet,Deep Bilateral Learning for Real-Time Image Enhancement解读
  • C++入门基础篇:域、C++的输入输出、缺省参数、函数重载、引用、inline、nullptr
  • android EditText光标位置,光标样式,EditText限制输入内容,软键盘遮挡的EditText,搜索框,限制输入表情
  • Linux——多线程的控制
  • 第16章:Python TDD实现多币种货币运算
  • 团体程序设计天梯赛-练习集——L1-013 计算阶乘和
  • 穷举vs暴搜vs深搜vs回溯vs剪枝系列一>N 皇后
  • ASP.NET Core Web API 创建指南
  • 基于Springboot的二手车交易系统【附源码】
  • Swift Parameter-free Attention Network模型详解及代码复现
  • 【Web】2025-SUCTF个人wp
  • SpringBoot+Vue小区智享物业管理系统(高质量源码,可定制,提供文档,免费部署到本地)
  • Spring Boot 整合 Redis:提升应用性能的利器
  • Json学习与实践
  • 开发模式(webpack-dev-server)
  • C语言之字符函数和字符串函数(下)
  • 如何使用 Pytest 断言测试 Python 异常处理
  • 计算机网络 (51)鉴别