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

标量与向量




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)
相关推荐
卷心菜狗1 分钟前
Python进阶-深浅拷贝辨析
开发语言·python
Thomas.Sir13 分钟前
重构诊疗效率与精准度之【AI 赋能临床诊断与辅助决策从理论到实战】
人工智能·python·ai·医疗·诊断
V胡桃夹子19 分钟前
pyenv-win 完整安装+使用手册
python·pyenv
ego.iblacat24 分钟前
Python 连接 MySQL 数据库
数据库·python·mysql
humors2211 小时前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
pzx_0012 小时前
【优化器】 随机梯度下降 SGD 详解
人工智能·python·算法
大邳草民2 小时前
Python 中 global 与 nonlocal 的语义与机制
开发语言·笔记·python
程序员小远2 小时前
软件测试用例总结
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
2501_948114242 小时前
技术解码:Gemini交互式模拟API与高负载网关的选型逻辑
人工智能·python·ai
AC赳赳老秦2 小时前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw