當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python SciPy linalg.null_space用法及代碼示例

本文簡要介紹 python 語言中 scipy.linalg.null_space 的用法。

用法:

scipy.linalg.null_space(A, rcond=None)#

使用 SVD 構造 A 的零空間的標準正交基

參數

A (M, N) 數組

輸入數組

rcond 浮點數,可選

相對條件數。小於 rcond * max(s) 的奇異值 s 被視為零。默認值:浮點 eps * max(M,N)。

返回

Z (N, K) 數組

A 的零空間的正交基。K = 有效零空間的維數,由 rcond 確定

例子

一維零空間:

>>> import numpy as np
>>> from scipy.linalg import null_space
>>> A = np.array([[1, 1], [1, 1]])
>>> ns = null_space(A)
>>> ns * np.copysign(1, ns[0,0])  # Remove the sign ambiguity of the vector
array([[ 0.70710678],
       [-0.70710678]])

二維零空間:

>>> from numpy.random import default_rng
>>> rng = default_rng()
>>> B = rng.random((3, 5))
>>> Z = null_space(B)
>>> Z.shape
(5, 2)
>>> np.allclose(B.dot(Z), 0)
True

基向量是正交的(直到舍入誤差):

>>> Z.T.dot(Z)
array([[  1.00000000e+00,   6.92087741e-17],
       [  6.92087741e-17,   1.00000000e+00]])

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.linalg.null_space。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。