python - 如何在python中计算矩阵的-1/2幂
问题描述
我想在python中计算度数矩阵的-1/2幂。我知道有一个很棒的包可以计算networkx
. 但我只需要 D^{-1/2}。
我试过numpy.linalg.matrix_power
了,但它只支持整数。
raise TypeError("exponent must be an integer") TypeError: exponent must be an integer
有什么方法可以计算矩阵的 -1/2 幂?
解决方案
您可以将scipy.linalg.fractional_matrix_power用于矩阵的分数幂。
文档中的示例
>>> 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.]])
推荐阅读
- git - 如何在 Clojure 的 URL 路由中嵌入当前的 git sha
- html - 如何在 React 中转换和显示富文本?
- python - Praw Reddit Web Crawler 错误“对象没有属性”
- hibernate - 无法使用 SchemaExport 生成脚本文件
- three.js - Mtl 文件似乎没有加载 obj 文件
- angular - 无法在 Angular/Ionic 的表单提交中显示 Google Places place_id
- laravel - Laravel Sail:输入设备不是 TTY
- java - Eclipse OpenJ9、-XX:+CompactStrings 和路径名称中的商标符号
- c - 询问用户是否想在 C 中再次运行程序
- swiftui - Swiftui:如何重置布尔状态?