线性代数(标量与向量+矩阵与张量+矩阵求导)

标量与向量




python 复制代码
import numpy as np

#定义向量
x = np.array([2,5,8])
print(x)
print(x.shape)

#向量转置
print(x.T)
print(x.t.shape)

y = np.array([1,3,7])
# 向量相乘  [2,15,56]
print(x * y)

# 向量点乘,或者np.dot(x,y)    73
print(x.dot(y))

# python3.5之后用@符号
print(x @ y)
python 复制代码
#计算范数
l0_norm = np.linalg.norm(x,ord=0) #3.0

l1_norm = np.linalg.norm(x,ord=1) # 15.0

l2_norm = np.linalg.norm(x,ord=2) #

矩阵与张量






python 复制代码
import numpy as np

A = np.array([[1,2,3],[4,5,6]])
B = np.array([[1,3,7],[5,0,2]])

print(A)
print(A.shape)

#矩阵与矩阵相乘(对应位置元素相乘,哈达玛积)
print(A * B)

#矩阵乘法
print(A.dot(B))
print(A.dot(B.T))

print(A @ B.T)

# 求逆
C = np.array([[1,2],[3,5]])
C_inv = np.linalg.inv(C)

print(C.dot(C_inv))
print(C_inv.dot(C))
C_inv = np.around(C_inv).astype(int)


# 向量化
print(A.flatten())

# 矩阵内积
print("<A,B> = ",np.sum(A*B))
print("<A,B> = ",np.dot(A.flatten(),B.flatten()))

#克罗内克积
print(np.kron(A,B))





python 复制代码
# 定义张量
tensor = np.array([[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]])
print(tensor)
print(tensor.shape) #两个矩阵,每个矩阵是2*3

矩阵求导






python 复制代码
#计算梯度
f = np.array([1,2,4,7,11,16])
np.gradient(f)
相关推荐
好奇龙猫6 小时前
【大学院-筆記試験練習:线性代数和数据结构(7)】
数据结构·线性代数
有为少年6 小时前
PyTorch 的统计三剑客:bucketize, bincount 与 histogram
pytorch·python·学习·机器学习·统计
求梦8206 小时前
【力扣hot100题】搜索二维矩阵II(16)
算法·leetcode·矩阵
sunsunyu036 小时前
基于OpenCV的图像重复检测算法实战
python·计算机视觉
码农三叔6 小时前
(8-3-02)自动驾驶中的无地图环境路径探索:D* Lite路径规划系统(2)
人工智能·python·机器人·自动驾驶·路径规划·d star lite
光景aigeo优化6 小时前
geo贴牌厂家,是光景极欧科技
python·科技
rgeshfgreh7 小时前
Python连接KingbaseES数据库全指南
开发语言·数据库·python
万行7 小时前
机器人系统ros2&期末速通2
前端·人工智能·python·算法·机器学习
weixin_462446237 小时前
Python + FFmpeg 批量提取视频音频(支持 Windows / macOS / Linux)
python·ffmpeg·音视频
海棠AI实验室7 小时前
第九章:函数接口设计:输入 / 输出 / 边界条件
python·接口设计