np.linalg.norm(求范数)

1、linalg=linear(线性)+algebra(代数),norm则表示范数。

2、函数参数

x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)
①x: 表示矩阵(也可以是一维)

②ord:范数类型

向量的范数:

矩阵的范数:

ord=1:列和的最大值

ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根(matlab在线版,计算ans=ATA,[x,y]=eig(ans),sqrt(y),x是特征向量,y是特征值)

ord=∞:行和的最大值

ord=None:默认情况下,是求整体的矩阵元素平方和,再开根号。(没仔细看,以为默认情况下就是矩阵的二范数,修正一下,默认情况下是求整个矩阵元素平方和再开根号)

③axis:处理类型

axis=1表示按行向量处理,求多个行向量的范数

axis=0表示按列向量处理,求多个列向量的范数

axis=None表示矩阵范数。

④keepding:是否保持矩阵的二维特性

True表示保持矩阵的二维特性,False相反

3、代码实现

import numpy as np
x = np.array([
[0, 3, 4],
[1, 6, 4]])
#默认参数ord=None,axis=None,keepdims=False
print "默认参数(矩阵整体元素平方和开根号,不保留矩阵二维特性):",np.linalg.norm(x)
print "矩阵整体元素平方和开根号,保留矩阵二维特性:",np.linalg.norm(x,keepdims=True)

print "矩阵每个行向量求向量的2范数:",np.linalg.norm(x,axis=1,keepdims=True)
print "矩阵每个列向量求向量的2范数:",np.linalg.norm(x,axis=0,keepdims=True)

print "矩阵1范数:",np.linalg.norm(x,ord=1,keepdims=True)
print "矩阵2范数:",np.linalg.norm(x,ord=2,keepdims=True)
print "矩阵∞范数:",np.linalg.norm(x,ord=np.inf,keepdims=True)

print "矩阵每个行向量求向量的1范数:",np.linalg.norm(x,ord=1,axis=1,keepdims=True)
结果显示:

4、总结

①矩阵的三种范数求法(应该是4种了,在默认情况下,又多出了一种情况)

②向量的三种范数求法

原文地址:https://www.cnblogs.com/klausage/p/12268093.html

时间: 2024-07-31 18:10:44

np.linalg.norm(求范数)的相关文章

对向量进行计算的函数:np.linalg.norm

1函数名含义linalg=linear(线性)+algebra(代数),norm则表示范数 2函数参数解释①x: 表示矩阵(也可以是一维) ②ord:范数类型 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根 ord=∞:行和的最大值 ③axis:处理类型 axis=1表示按行向量处理,求多个行向量的范数 axis=0表示按列向量处理,求多个列向量的范数 axis=None表示矩阵范数. ④keepding:是否保持矩阵的二维特性

np.linalg.solve

矩阵中更高级的一些运算可以在NumPy的线性代数子库linalg中找到.例如inv函数计算逆矩阵,solve函数可以求解多元一次方程组.下面是solve函数的一个例子: >>> a = np.random.rand(10,10)>>> b = np.random.rand(10)>>> x = np.linalg.solve(a,b)>>> np.sum(np.abs(np.dot(a,x) - b))3.14331893846997

Frobenius norm(Frobenius 范数)

Frobenius 范数,简称F-范数,是一种矩阵范数,记为||·||F. 矩阵A的Frobenius范数定义为矩阵A各项元素的绝对值平方的总和,即 可用于 利用低秩矩阵来近似单一数据矩阵. 用数学表示就是去找一个秩为k的矩阵B,使得矩阵B与原始数据矩阵A的差的F范数尽可能地小. 原文地址:https://www.cnblogs.com/BlameKidd/p/9734701.html

nlp自然语言处理中句子相似度计算

在做自然语言处理的过程中,现在智能对话比较火,例如智能客服,智能家电,智能音箱等,我们需要获取用户说话的意图,方便做出正确的回答,这里面就涉及到句子相似度计算的问题,那么本节就来了解一下怎么样来用 Python 实现句子相似度的计算. 句子相似度常用的几种方法: 1.编辑距离 2.杰卡德系数计算 3.Word2Vec 计算 编辑距离,英文叫做 Edit Distance,又称 Levenshtein 距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数, 如果它们的距离越大,说明它们越

吴恩达 深度学习笔记+作业 (一)

1.1.2 Building basic functions with numpy 1.1.2.2 numpy.exp, sigmoid, sigmoid gradient import numpy as np def sigmoid(x): s = 1/(1+np.exp(-x)) return s # 设sigmoid为s, s' = s*(1-s) def sigmoid_derivative(x): s = 1/(1+np.exp(-x)) ds = s*(1-s) return ds

幂迭代法求特征值和特征向量

幂迭代法求第k大的特征值和特征向量 数学表述 设矩阵A \[ A = \left[ \begin{matrix} X_{11}&\ldots&X_{1n} \newline X_{21} & \ldots& X_{2n} \newline &\vdots& \newline X_{n1}&\ldots &X_{nn} \newline \end{matrix} \right] \] 求其最大特征值对应的特征向量\(b_k = [v_1,v_2

numpy中的norm用法

np.linalg.norm() computes the norm of a NumPy array according to an order, ord, which specifies the metric by which the norm takes. For example, if we are given an array [??1,...,????] with numbers ????xi then we can compute the Frobenius Norm or mor

kd树的创建和求最近邻

1 import numpy as np 2 arr = np.array([[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]]) 3 arr.shape 4 5 class KDTree(): 6 def __init__(self): 7 self.value = None 8 self.left = None 9 self.right = None 10 self.axis = None 11 12 def create(arr, k, h=0)

V-rep学习笔记:机器人逆运动学数值解法(Damped Least Squares / Levenberg-Marquardt Method)

The damped least squares method is also called the Levenberg-Marquardt method. Levenberg-Marquardt算法是最优化算法中的一种.它是使用最广泛的非线性最小二乘算法,具有梯度法和牛顿法的优点.当λ很小时,步长等于牛顿法步长,当λ很大时,步长约等于梯度下降法的步长. The damped least squares method can be theoretically justified as follo