在 Python 中计算矩阵堆栈的 Moore-Penrose 伪逆
要计算矩阵堆栈的(Moore-Penrose)伪逆,请在 Python 中使用 numpy.linalg.pinv() 方法。使用矩阵的奇异值分解 (SVD) 并包含所有大的奇异值来计算广义逆。
第一个参数 a 是要进行伪逆的矩阵或矩阵堆栈。第二个参数 rcodn 是小奇异值的截止值。小于或等于 rcond * 最大奇异值的奇异值将设置为零。针对矩阵堆栈进行广播。第三个参数 hermitian,如果为 True,则假定 a 为厄米特矩阵,从而能够使用更有效的方法来查找奇异值。默认为 False。
步骤
首先,导入所需的库。
import numpy as np
使用 array() 创建数组。
arr = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]] ])
显示数组。
print("Our Array...\n",arr)检查维度。
print("\nDimensions of our Array...\n",arr.ndim)获取数据类型。
print("\nDatatype of our Array object...\n",arr.dtype)获取形状。
print("\nShape of our Array object...\n",arr.shape)要计算矩阵堆栈的(Moore-Penrose)伪逆,请在 Python 中使用 numpy.linalg.pinv() 方法。
print("\nResult...\n",np.linalg.pinv(arr))示例
import numpy as np
# Create an array using array()
arr = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]] ])
# Display the array
print("Our Array...\n",arr)
# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)
# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)
# Get the Shape
print("\nShape of our Array object...\n",arr.shape)
# To Compute the (Moore-Penrose) pseudo-inverse of a stack of matrices, use the numpy.linalg.pinv() method in Python.
print("\nResult...\n",np.linalg.pinv(arr))输出
Our Array... [[[1 2] [3 4]] [[1 2] [2 1]] [[1 3] [3 1]]] Dimensions of our Array... 3 Datatype of our Array object... int64 Shape of our Array object... (3, 2, 2) Result... [[[-2. 1. ] [ 1.5 -0.5 ]] [[-0.33333333 0.66666667] [ 0.66666667 -0.33333333]] [[-0.125 0.375 ] [ 0.375 -0.125 ]]]
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP