質問するログイン新規登録

質問編集履歴

1

「試したこと」を加筆しました

2025/08/14 06:02

投稿

yyicp
yyicp

スコア84

title CHANGED
File without changes
body CHANGED
@@ -119,3 +119,25 @@
119
119
  ### 試したこと
120
120
  xとyが列ベクトル、uが行ベクトルのときにうまくいって、x, y, uすべて列ベクトルのときにうまくいかない理由がよく分かりませんでした。x, y, uすべて列ベクトルの方が自然な場合のような気がします。
121
121
 
122
+ 疎行列を使わないコードは以下の通りです。
123
+ ```python
124
+ import numpy as np
125
+ import pandas as pd
126
+
127
+ rows = 3
128
+ I = np.eye(rows)
129
+
130
+ R = pd.read_csv("R.csv",header=None).values.tolist()
131
+ x = pd.read_csv("x_initial.csv",header=None).values.tolist()
132
+ y = pd.read_csv("y.csv",header=None).values.tolist()
133
+
134
+ u = [1e-6 for i in range(rows)]
135
+ for i in range(0,rows,1):
136
+ c = (y[i]-np.dot(R[i],x))-u[i]
137
+
138
+ for l in range(0,rows,1):
139
+ u[l] = u[l] + c*I[i][l]
140
+
141
+ print(u)#[array([4.]), array([17.]), array([5.])]
142
+ ```
143
+