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

标量与向量




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)
相关推荐
@Mr Wang几秒前
云服务器之使用jupyter运行ipynb文件
服务器·python·jupyter·notebook
Python私教1 分钟前
Jupyter是什么?如何安装使用?
ide·python·jupyter
Salt_07286 分钟前
DAY 42 图像数据与显存
人工智能·python·机器学习
q_30238195567 分钟前
双能突围!能源高效型模型压缩+碳足迹追踪,解锁数据中心与农业AI新价值
人工智能·python·深度学习·能源·课程设计·ai编程
赫凯9 分钟前
【强化学习】第三章 马尔可夫决策过程
python·算法
Daily Mirror10 分钟前
Day42 Dataset和Dataloader
python
智航GIS10 分钟前
1.2 python及pycharm的安装
开发语言·python·pycharm
kszlgy18 分钟前
Day38 模型可视化与推理
python
无心水26 分钟前
【Stable Diffusion 3.5 FP8】1、Stable Diffusion 3.5 FP8 入门指南:为什么它能颠覆文生图效率?
人工智能·python·深度学习·机器学习·stable diffusion·ai镜像开发·ai镜像
38242782730 分钟前
python:单例模式
开发语言·python·单例模式