Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで負の2ノルムを使用して、線形代数の行列の条件数を計算します


線形代数の行列の条件数を計算するには、Pythonのnumpy.linalg.cond()メソッドを使用します。このメソッドは、pの値に応じて、7つの異なるノルムのいずれかを使用して条件数を返すことができます。行列の条件数を返します。無限かもしれません。

xの条件数は、xのノルムにxの逆数のノルムを掛けたものとして定義されます。ノルムは、通常のL2ノルム、または他の多くの行列ノルムの1つにすることができます。最初のパラメーターはxで、条件数が求められる行列です。 2番目のパラメーターは、条件数の計算で使用されるノルムの次数であるpです。パラメータとして設定された「2」は、負の2(最小の特異値)ノルムです。

ステップ

まず、必要なライブラリをインポートします-

import numpy as np
from numpy import linalg as LA

配列を作成する-

arr = np.array([[ 1, 1, 0], [1, 0, 1], [1, 0, 0]])

配列を表示する-

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)

線形代数の行列の条件数を計算するには、numpy.linalg.cond()メソッドを使用します。このメソッドは、p −

の値に応じて、7つの異なるノルムのいずれかを使用して条件数を返すことができます。
print("\nResult...\n",LA.cond(arr, -2))

import numpy as np
from numpy import linalg as LA

# Create an array
arr = np.array([[ 1, 1, 0], [1, 0, 1], [1, 0, 0]])

# 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 condition number of a matrix in linear algebra, use the numpy.linalg.cond() method in Python
print("\nResult...\n",LA.cond(arr, -2))

出力

Our Array...
[[1 1 0]
[1 0 1]
[1 0 0]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(3, 3)

Result...
0.2679491924311227

  1. Pythonの線形代数で行列またはベクトルのノルムを返す

    線形代数で行列またはベクトルのノルムを返すには、Python NumpyのLA.norm()メソッドを使用します。最初のパラメーターxは入力配列です。軸がNoneの場合、ordがNoneでない限り、xは1-Dまたは2-Dである必要があります。 axisとordの両方がNoneの場合、x.ravelの2ノルムが返されます。 2番目のパラメーターordは、ノルムの次数です。 infは、numpyのinfオブジェクトを意味します。デフォルトはNoneです。 3番目のパラメーター軸は、整数の場合、ベクトルノルムを計算するためのxの軸を指定します。 axisが2タプルの場合、2次元行列を保持する軸を指

  2. Pythonの線形代数でコレスキー分解を返す

    コレスキー分解を返すには、numpy.linalg.cholesky()メソッドを使用します。正方行列aのコレスキー分解L*L.Hを返します。ここで、Lは下三角行列で、.Hは共役転置演算子です。 aはエルミートで正定値でなければなりません。 aがエルミートであるかどうかを確認するためのチェックは実行されません。さらに、aの下三角要素と対角要素のみが使用されます。実際にはLのみが返されます。 次に、パラメーターaは、エルミート(すべての要素が実数の場合は対称)の正定値入力行列です。このメソッドは、aの上三角または下三角のコレスキー因子を返します。 aが行列オブジェクトの場合、行列オブジェクトを