np.linalg.norm的用法

1.看源码,程序员成长的必经之路

def norm(x, ord=None, axis=None, keepdims=False):
	"""
    Matrix or vector norm.

    This function is able to return one of eight different matrix norms,
    or one of an infinite number of vector norms (described below), depending
    on the value of the ``ord`` parameter.

    Parameters
    ----------
    x : array_like
        Input array.  If `axis` is None, `x` must be 1-D or 2-D.
    ord : {non-zero int, inf, -inf, 'fro', 'nuc'}, optional
        Order of the norm (see table under ``Notes``). inf means numpy's
        `inf` object.
    axis : {int, 2-tuple of ints, None}, optional
        If `axis` is an integer, it specifies the axis of `x` along which to
        compute the vector norms.  If `axis` is a 2-tuple, it specifies the
        axes that hold 2-D matrices, and the matrix norms of these matrices
        are computed.  If `axis` is None then either a vector norm (when `x`
        is 1-D) or a matrix norm (when `x` is 2-D) is returned.

        .. versionadded:: 1.8.0

    keepdims : bool, optional
        If this is set to True, the axes which are normed over are left in the
        result as dimensions with size one.  With this option the result will
        broadcast correctly against the original `x`.

        .. versionadded:: 1.10.0
   

    Returns
    -------
    n : float or ndarray
        Norm of the matrix or vector(s).
       
 """

2.

x : 矩阵或者有限长度的向量

在这里插入图片描述
简单点说就是这个

在这里插入图片描述

以下程序来自源代码

 Examples
    --------
    >>> from numpy import linalg as LA
    >>> a = np.arange(9) - 4
    >>> a
    array([-4, -3, -2, -1,  0,  1,  2,  3,  4])
    >>> b = a.reshape((3, 3))
    >>> b
    array([[-4, -3, -2],
           [-1,  0,  1],
           [ 2,  3,  4]])

    >>> LA.norm(a)
    7.745966692414834
    >>> LA.norm(b)
    7.745966692414834
    >>> LA.norm(b, 'fro')
    7.745966692414834
    >>> LA.norm(a, np.inf)
    4.0
    >>> LA.norm(b, np.inf)
    9.0
    >>> LA.norm(a, -np.inf)
    0.0
    >>> LA.norm(b, -np.inf)
    2.0

    >>> LA.norm(a, 1)
    20.0
    >>> LA.norm(b, 1)
    7.0
    >>> LA.norm(a, -1)
    -4.6566128774142013e-010
    >>> LA.norm(b, -1)
    6.0
    >>> LA.norm(a, 2)
    7.745966692414834
    >>> LA.norm(b, 2)
    7.3484692283495345
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: np.linalg.norm()和torch.norm()都是用来计算向量或矩阵的范数的函数,但它们来自不同的库。np.linalg.norm()是NumPy库中的函数,而torch.norm()是PyTorch库中的函数。 两个函数的使用方式和参数略有不同。np.linalg.norm()可以用于计算向量或矩阵的范数,可以通过指定参数来选择不同的范数类型,比如默认的2范数(欧几里得范数),1范数(绝对值之和),无穷范数(最大绝对值)。而torch.norm()的使用方式类似,但它是针对PyTorch张量进行操作的。torch.norm()可以计算向量或矩阵的范数,同样可以通过指定参数来选择不同的范数类型。 不过需要注意的是,torch.norm()有一些特殊的用法和替代函数。根据引用,torch.norm()在最新的版本中已经被弃用,推荐使用torch.linalg.norm()来计算向量或矩阵的范数。而引用中提到的torch.linalg.vector_norm()可以用来计算向量范数,torch.linalg.matrix_norm()可以用来计算矩阵范数。这些函数可以在PyTorch中更精确地计算范数。 综上所述,np.linalg.norm()和torch.norm()都是用来计算向量或矩阵范数的函数,但使用方法和参数略有不同。在PyTorch中,推荐使用torch.linalg.norm()、torch.linalg.vector_norm()和torch.linalg.matrix_norm()来替代torch.norm()函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ torch.linalg.norm() 和 torch.linalg.vector_norm() 和 torch.linalg.matrix_norm()](https://blog.csdn.net/Aaron_neil/article/details/128427467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值