Python - numpy 行列演算
注:NumPyはNumarrayの後継者であり,NumArrayの代わりとして使用されている.SAGEは,NumPyと他のいくつかのツールに基づいて統合された数学ソフトウェアパッケージであり,Magma,Maple,Mathematica,Matlabなどのツールを置き換えることを目指しています.
今日はNumPyについてネットで検索して,NumPyで逆行列を検索してみようと思ったのですが,中国語の情報は見つかりませんでした. フォーラムで,Pythonで逆行列を検索する方法を尋ねても,誰も答えませんでした. そこでNumPyの公式文書を見つけました. その中の小さなセクションは,マトリックスオブジェクトの紹介でした.
-
1 ,マトリックス (Matrix) オブジェクト
matrix型はndarray型に継承され,したがってndarrayのすべてのデータ属性と方法を含んでいる. matrix型とndarray型には6つの重要な違いがあり,arraysがMatrixオブジェクトとして動作するときに,これらの違いが予期せぬ結果をもたらす.
-
- Matrix オブジェクトは,空白で区切られた列,分数で区切られた文字列であるMatlab スタイルの文字列を使用して作成できます.
-
- マトリックスオブジェクトは常に二次元である。これは,m.ravel (() の返される値が二次元であり,メンバーが選択した返される値も二次元であり,したがって序列の振る舞いはarrayとは本質的に異なる。
-
- マトリックス型の掛け算は,arrayの掛け算を覆い,マトリックスによる掛け算操作を使用する.マトリックスで返される値を受信するときに,これらの関数の意味を理解していることを確認してください.特に,実際に関数asanyarray(m) は,m がマトリックスである場合,マトリックスを返します.
-
- マトリックス型の<unk>演算は,以前の<unk>演算を覆い,マトリックスによる<unk>を用いることもある.この事実に基づいて,マトリックスによる<unk>を参数として用いるとasanarray (((...) と呼び出すと,上記と同じことを思い出してください.
-
- マトリックスのデフォルトのarray_priorityは10.0であるため,ndarrayとmatrixオブジェクトの混合操作は常にマトリックスを返します.
-
- マトリックスには,計算を容易にするいくつかの特有の属性があります.
-
(a) .T -- 変位に戻る
-
(b) .H -- 自身の共振転移に戻る
-
(c) .I -- 逆行列を返します
-
(d) .A -- 2次元数列の1つの視点を返します.
Matrix クラスは,ndarray の Python 子クラスであり,この実装を学習して,自分のndarray 子クラスを構築することもできます.Matrix オブジェクトは,他の Matrix オブジェクト,文字列,または,ndarray のパラメータに変換できる他の要素を使用して構築することもできます.また,NumPy で,<unk>mat<unk>は<unk>matrix<unk>の別名です.
-
-
例1: 文字列を使って行列を構成する
import numpy as np a=np.mat('1 2 3; 4 5 3') print (a*a.T).I [[ 0.29239766 -0.13450292] [-0.13450292 0.08187135]] -
例 2: 嵌入式配列を用いた行列構成
np.matrix([[ 1.+0.j, 5.+0.j, 10.+0.j], [ 1.+0.j, 3.+0.j, 0.+4.j]]) -
例3: 配列構成行列を使用
np.mat( np.random.rand(3,3) ).T np.matrix([[ 0.81541602, 0.73987459, 0.03509142], [ 0.14767449, 0.60539483, 0.05641679], [ 0.43257759, 0.628695 , 0.47413553]])Matrix( data, dtype=None, copy=True )
参数データで入力されたデータはマトリックスに変換されます。 dtype がNone であれば,データ型はデータの内容によって決定されます。 copy がTrue であれば,data内のデータがコピーされ,そうでなければ元のデータバッファが使用されます。 データのバッファゾーンが見つからない場合は,もちろんデータのコピーも行われます。 注意:マトリックスマトリックスは実際にはタイプですので,インスタンスを構成するときに matrix.new (((matrix, data, dtype, copy) を呼び出します。
Mat
マトリックスの別名だ
Asmatrix(data, dtype=None)
複製されていないデータを返します. matrix ((data, dtype, copy=False) に等しい.
Bmat(obj, ldict=None, gdict=None)
文字列,組み込みの序列,または数列 ([array]) を使ってマトリックスを作成する。このコマンドは,他のオブジェクトからマトリックスを作成することを許可する。この中で,objが文字列である場合にのみ,パラメータldictとgdictが使用されます.この2つのパラメータは,局所とモジュールの辞書です。もしそれらを提供しなければ,これらはシステムによって提供されます。A=np.mat('2 2; 2 2'); B=np.mat('1 1; 1 1'); print(np.bmat('A B; B A')) [[2 2 1 1] [2 2 1 1] [1 1 2 2] [1 1 2 2]]
投稿者:su frank 投稿日:
- 1
