[解決済み] 下三角行列の前進代入。どのように?
2022-02-24 02:20:29
質問
ここで質問していいのかどうかわかりませんが、ここで質問します。
次のコードがどのようにxを解くことができるのか、誰か知っていますか?
Lx=y
ここで、Lとyはそれぞれ与えられた行列とベクトルである?
もし知っていたら、それを分解して、各ステップを紙とペンを使って解く方法と比較してみてください。
def forward(L, y):
x = []
for i in range(len(y)):
x.append(y[i])
for j in range(i):
x[i]=x[i]-(L[i, j]*x[j])
x[i] = x[i]/L[i, i]
return x
解決方法は?
もしそうでなければ、行列に zip 関数を使用し、y をタプルとして使用します。また、別の形式の三角行列を持つことはあまり意味をなさないので、行列は正方形であると仮定しています。
上三角形から始める以外は、上三角形の場合とよく似ています。
- 生成されるベクトルの長さに応じた空のリストを作成し、それをゼロで埋めます。
- リストの最初の行と内積し、その結果をyの最初の要素から引き、最初の項の係数で割ります。
- 元々空のリストの最初の要素を最終結果で置き換える
- これを終了するまで続けます。
基本的に、内積を取ることで行っていることは、行列の非ゼロ項をそれぞれ正しい値(すでに見つけた値)で代入し、それらをすべて足し合わせることです。もう一方の端から引き、n行目のn番目の項の係数で割ると、ちょうど解が得られます。
(今、実装例を入力中)。(内積を受け取るクラスや関数があることが前提ですが、ない場合でも実装は難しくないはずです). (パイソン2.7)
def solve(m, y):
v = [0 for i in xrange(len(m))]
for i in xrange(len(m)):
v[i] = (y[i] - v.dotProduct(m[i]))/float(m[i][i])
return v
関連
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
PythonによるLeNetネットワークモデルの学習と予測
-
python string splicing.join()とsplitting.split()の説明
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない