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

Pythonで4次元配列の逆を取得します


4次元配列の逆数を計算するには、Pythonでnumpy.linalg.tensorinv()メソッドを使用します。結果は、tensordot操作tensordot(a、b、ind)、iに関連する逆です。たとえば、浮動小数点精度までは、tensordot(tensorinv(a)、a、ind)がテンソルドット操作の「同一性」テンソルです。

このメソッドは、aのテンソルドットの逆、shape a.shape [ind:] + a.shape [:ind]を返します。最初のパラメーターは、「反転」するテンソルです。その形状は「正方形」でなければなりません。たとえば、prod(a.shape [:ind])==prod(a.shape [ind:])。 2番目のパラメーターはindで、逆和に関係する最初のインデックスの数です。正の整数である必要があります。デフォルトは2です。

ステップ

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

 numpy as npfrom numpy.linalg import inv
をインポートします

アレイを作成します。 numpy.eye()は、対角線上に1があり、他の場所に0がある2次元配列を返します-

 arr =np.eye(4 * 6)

上で作成した配列の形状を変更する-

 arr.shape =(4、6、8、3)

配列を表示する-

 print( "Our Array ... \ n"、arr)

寸法を確認してください-

 print("\n配列の次元...\n"、arr.ndim)

データ型を取得-

 print("\n配列オブジェクトのデータタイプ...\n"、arr.dtype)

形をとる-

 print("\n配列オブジェクトの形状...\n"、arr.shape)

4次元配列の逆数を計算するには、Pythonでnumpy.linalg.tensorinv()メソッドを使用します-

 print( "\ nResult ... \ n"、np.linalg.tensorinv(arr))

 import numpy as npfrom numpy.linalg import inv#配列を作成する#numpy.eye()は、対角線上に1があり、他の場所に0がある2次元配列を返しますarr =np.eye(4 * 6)#形状を変更する上で作成された配列のarr.shape=(4、6、8、3)#arrayprint( "Our Array ... \ n"、arr)#を表示しますDimensionsprint("\nArrayのDimensions...\ n "、arr.ndim)#Datatypeprint("\n配列オブジェクトのデータタイプ...\n "、arr.dtype)#Shapeprint("\n配列オブジェクトの形状...\n "、arrを取得します。 shape)#4次元配列の逆数を計算するには、Python.print( "\ nResult ... \ n"、np.linalg.tensorinv(arr)) 

出力

私たちの配列...[[[[1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]]][[[0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]]][[[0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0。0。][0。 0.0。]]][[[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0。0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。1。][0。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.0。][1。 0.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 1.0。]][[0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0。0。][0。 0.1。]]]]配列の次元...4配列オブジェクトのデータタイプ...float64配列オブジェクトの形状...(4、6、8、3)結果...[[[[1。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 1. 0. 0. 0.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0. 1. 0. 0.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]]][[[0。 0. 0. 1. 0.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0. 0. 0. 1.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0。0。0。0。1。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]]][[[0。 0。0。0。0。0。][1。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 1. 0. 0. 0.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0. 1. 0. 0.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。]]][[[0。 0。0。0。0。0。][0。 0. 0. 1. 0.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0. 0. 0. 1.0.][0。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。1。][0。 0。0。0。0。0。][0。 0。0。0。0。0。]]][[[0。 0。0。0。0。0。][0。 0。0。0。0。0。][1。 0。0。0。0。0。][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 1. 0. 0. 0.0.][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0. 1. 0. 0.0.][0。 0。0。0。0。0。]]][[[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0. 0. 1. 0.0.][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0. 0. 0. 1.0.][0。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。1。][0。 0。0。0。0。0。]]][[[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][1。 0。0。0。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 1. 0. 0.0.0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0. 1. 0.0.0。]]][[[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。1。0。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。1。0。]][[0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。0。][0。 0。0。0。0。1。]]]]

  1. Pythonで角度の三角関数の正弦を取得します

    三角関数の正弦を見つけるには、Python Numpyのnumpy.cos()メソッドを使用します。このメソッドは、最初のパラメーターxの各要素の正弦を返します。最初のパラメーターxは、角度、インラジアン(2piは360度を意味します)です。 2番目と3番目のパラメーターはオプションです。 2番目のパラメーターは、結果が格納される場所であるanndarrayです。 提供する場合は、入力がブロードキャストする形状である必要があります。指定しない場合またはNoneの場合、新しく割り当てられた配列が返されます。タプル(キーワード引数としてのみ可能)の長さは、出力の数と同じである必要があります。

  2. 配列がPythonで美しいかどうかを確認します

    一意の要素の配列numsがあるとします。これらの条件が満たされているかどうかを確認する必要があります: 要素は1からnの範囲になります。 配列を昇順で並べ替えてはなりません。 したがって、入力がnums =[2,6,1,5,3,4]のような場合、出力はTrueになります。 これを解決するには、次の手順に従います- n:=numsのサイズ 合計:=nums [0] is_sorted:=True 1からn-1の範囲のiの場合、do nums[i]がnums[i-1]と同じ場合、 Falseを返す nums [i]