【问题标题】:How to calculate -1/2 power of the matrix in python如何在python中计算矩阵的-1/2幂
【发布时间】:2019-12-10 06:28:17
【问题描述】:

我想在 python 中计算度数矩阵的 -1/2 次方。我知道在networkx 中有一个很棒的包可以计算归一化图拉普拉斯算子(L_norm = I - D^{-1/2}AD^{-1/2},A 是邻接矩阵)。但我只需要 D^{-1/2}。

我试过numpy.linalg.matrix_power,但它只支持整数。

raise TypeError("指数必须是整数") TypeError: exponent must be an integer

有什么方法可以计算矩阵的 -1/2 次方吗?

【问题讨论】:

    标签: python python-3.x numpy matrix


    【解决方案1】:

    您可以使用 scipy.linalg.fractional_matrix_power 获取矩阵的分数幂。
    Example from Docs

    >>> from scipy.linalg import fractional_matrix_power
    >>> a = np.array([[1.0, 3.0], [1.0, 4.0]])
    
    # fractional power of a matrix
    >>> b = fractional_matrix_power(a, 0.5)
    
    >>> b
    array([[ 0.75592895,  1.13389342],
           [ 0.37796447,  1.88982237]])
    >>> np.dot(b, b)      # Verify square root
    array([[ 1.,  3.],
           [ 1.,  4.]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-14
      • 2015-04-26
      • 2016-05-30
      • 2021-05-09
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      相关资源
      最近更新 更多