当前位置:首页 > 编程教程 > Python技术文章 > 在python Numpy中求向量和矩阵的范数实例

详解python Numpy中求向量和矩阵的范数

  • 发布时间:
  • 作者:码农之家
  • 点击:92

这篇文章主要知识点是关于python、Numpy、向量、矩阵、范数、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python神经网络编程
Python神经网络编程高质量完整版
  • 类型:Python大小:11.5 MB格式:PDF作者:塔里克·拉希德
立即下载

在python Numpy中求向量和矩阵的范数实例

np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数。

函数参数

x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)

①x: 表示矩阵(也可以是一维)

②ord:范数类型

向量的范数:

在python Numpy中求向量和矩阵的范数实例

矩阵的范数:

ord=1:列和的最大值

ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根

ord=∞:行和的最大值

③axis:处理类型

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

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

axis=None表示矩阵范数。

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

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

向量范数:

1-范数:在python Numpy中求向量和矩阵的范数实例 ,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。

2-范数:在python Numpy中求向量和矩阵的范数实例 ,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。

∞-范数:在python Numpy中求向量和矩阵的范数实例 ,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。

-∞-范数:在python Numpy中求向量和矩阵的范数实例 ,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。

p-范数:在python Numpy中求向量和矩阵的范数实例 ,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。

矩阵范数:

1-范数:在python Numpy中求向量和矩阵的范数实例 , 列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。

2-范数:在python Numpy中求向量和矩阵的范数实例 ,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x, 2)。

∞-范数:在python Numpy中求向量和矩阵的范数实例 ,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。

F-范数:在python Numpy中求向量和矩阵的范数实例 ,Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, 'fro‘)。

import numpy as np

x1=np.array([1,5,6,3,-1])
x2=np.arange(12).reshape(3,4)
print x1,'\n',x2
print '向量2范数:'
print np.linalg.norm(x1)
print np.linalg.norm(x1,ord=2)
print '默认的矩阵范数:'
print np.linalg.norm(x2)
print '矩阵2范数:'
print np.linalg.norm(x2,ord=2)

在python Numpy中求向量和矩阵的范数实例

经测试知:

np.linalg.norm(X),X为向量时,默认求向量2范数,即求向量元素绝对值的平方和再开方;

X为矩阵是,默认求的是F范数。矩阵的F范数即:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的有点在它是一个凸函数,可以求导求解,易于计算。

以上这篇在python Numpy中求向量和矩阵的范数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python 相关电子书
学习笔记
网友NO.953775

Python使用numpy产生正态分布随机数的向量或矩阵操作示例

本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作。分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到。如下代码,可以得到满足一维和二维正态分布的样本。 示例1(一维正态分布): # coding=utf-8'''作者:采石工来源:知乎'''import numpy as npfrom numpy.linalg import choleskyimport matplotlib.pyplot as pltsampleNo = 1000;# 一维正态分布# 下面三种方式是等效的mu = 3sigma = 0.1np.random.seed(0)s = np.random.normal(mu, sigma, sampleNo )plt.subplot(141)plt.hist(s, 30, normed=True)np.random.seed(0)s = sigma * np.random.randn(sampleNo ) + muplt.subplot(142)plt.hist(s, 30, no……

<
1
>

Copyright 2018-2020 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com