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

Pythonで複雑なエルミート行列または実対称行列の固有値を計算します


複雑なエルミート行列または実対称行列の固有値を計算するには、numpy.eigvalsh()メソッドを使用します。このメソッドは、固有値を昇順で返し、それぞれがその多重度に従って繰り返されます。

最初のパラメーターaは、固有値が計算される複素数値または実数値の行列です。 2番目のパラメーターであるUPLOは、計算がaの下三角部分(「L」、デフォルト)で行われるか、上三角部分(「U」)で行われるかを指定します。この値に関係なく、エルミート行列の概念を維持するために、対角線の実数部のみが計算で考慮されます。したがって、対角線の虚数部は常にゼロとして扱われます。

ステップ

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

import numpy as np
from numpy import linalg as LA

numpy.array()メソッドを使用して2Dnumpy配列を作成する-

arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

配列を表示する-

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.eigvalsh()メソッド-

を使用します。
print("\nResult...\n",LA.eigvalsh(arr))

from numpy import linalg as LA
import numpy as np

# Creating a 2D numpy array using the numpy.array() method
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

# 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 eigenvalues of a complex Hermitian or real symmetric matrix, use the numpy.eigvalsh() method
print("\nResult...\n",LA.eigvalsh(arr))

出力

Our Array...
[[5.+2.j 9.-2.j]
[0.+2.j 2.-1.j]]

Dimensions of our Array...
2

Datatype of our Array object...
complex128

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

Result...
[1. 6.]

  1. Pythonのフロベニウスノルムを使用して線形代数の行列の条件数を計算します

    線形代数の行列の条件数を計算するには、Pythonのnumpy.linalg.cond()メソッドを使用します。このメソッドは、pの値に応じて、7つの異なるノルムのいずれかを使用して条件数を返すことができます。行列の条件数を返します。無限かもしれません。 xの条件数は、xのノルムにxの逆数のノルムを掛けたものとして定義されます。ノルムは、通常のL2ノルム、または他の多くの行列ノルムの1つにすることができます。最初のパラメーターはxで、条件数が求められる行列です。 2番目のパラメーターは、条件数の計算で使用されるノルムの次数であるpです。パラメータとして設定された「あちこち」はフロベニウスの基

  2. Pythonで複雑なエルミート行列または実対称行列の固有値を計算します

    複雑なエルミート行列または実対称行列の固有値を計算するには、numpy.eigvalsh()メソッドを使用します。このメソッドは、固有値を昇順で返し、それぞれがその多重度に従って繰り返されます。 最初のパラメーターaは、固有値が計算される複素数値または実数値の行列です。 2番目のパラメーターであるUPLOは、計算がaの下三角部分(「L」、デフォルト)で行われるか、上三角部分(「U」)で行われるかを指定します。この値に関係なく、エルミート行列の概念を維持するために、対角線の実数部のみが計算で考慮されます。したがって、対角線の虚数部は常にゼロとして扱われます。 ステップ まず、必要なライブラリ