質問編集履歴
1
回答がいただけないため,より詳細に書き直しました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
numpyを用
|
1
|
+
numpyを使用しないで転置行列の内積を求める方法および行列の内積の内積の求め方の計算方法について
|
test
CHANGED
@@ -1,14 +1,20 @@
|
|
1
|
-
### numpyを使用しないで共役勾配法の実装を試みていますが途中の式の計算がうまくでき
|
1
|
+
### numpyを使用しないで共役勾配法の実装を試みていますが途中の式の計算がうまくできず困っている.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
|
6
6
|
|
7
7
|
numpyを使用しないで共役勾配法の解を算出するプログラムを作っています.
|
8
8
|
|
9
|
-
途中の a = float( np.dot(r0.T,r0) / np.dot(np.dot(p.T, A),p) )という計算をnpを使わないで計算したい.
|
9
|
+
途中の a = float( np.dot(r0.T,r0) / np.dot(np.dot(p.T, A),p) )という計算をnpを使わないで計算したいのですがうまく変えずに困っております.
|
10
|
+
|
10
|
-
|
11
|
+
自分なりに内包表記やzipを使用して試行錯誤はしたのですが,通りません.
|
12
|
+
|
11
|
-
|
13
|
+
アドバイスいただけたら幸いです.
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
また,みにくいソースかもしれませんがご容赦ください.
|
12
18
|
|
13
19
|
### 発生している問題・エラーメッセージ
|
14
20
|
|
@@ -186,7 +192,7 @@
|
|
186
192
|
|
187
193
|
for i in range(k < k+1):
|
188
194
|
|
189
|
-
d1 = dot(list(map(list,zip(*r0))),r0)
|
195
|
+
**d1 = dot(list(map(list,zip(*r0))),r0)
|
190
196
|
|
191
197
|
print(d1)
|
192
198
|
|
@@ -194,7 +200,7 @@
|
|
194
200
|
|
195
201
|
print(d2)
|
196
202
|
|
197
|
-
a = [e3 / e4 for e3,e4 in zip(d1,d2)]
|
203
|
+
a = [e3 / e4 for e3,e4 in zip(d1,d2)]**
|
198
204
|
|
199
205
|
#a = dot(r0.T,r0) / dot(dot(p.T, A),p)
|
200
206
|
|
@@ -232,26 +238,16 @@
|
|
232
238
|
|
233
239
|
a = float( np.dot(r0.T,r0) / np.dot(np.dot(p.T, A),p) )という計算はnumpyを使用しているため下記のようにzipとリスト内包表記を使用したものに変更してみたがエラーは解決できませんでした.
|
234
240
|
|
241
|
+
**でくくってあるところの下のコメントa = dot(r0.T,r0) / dot(dot(p.T, A),p)というよな計算を実装したいです.
|
242
|
+
|
235
243
|
助言いただけたら幸いです.
|
236
244
|
|
237
245
|
|
238
246
|
|
239
|
-
d1 = dot(list(map(list,zip(*r0))),r0)
|
240
|
-
|
241
|
-
print(d1)
|
242
|
-
|
243
|
-
d2 = dot(dot(list(map(list,zip(*p))),A),p)
|
244
|
-
|
245
|
-
print(d2)
|
246
|
-
|
247
|
-
a = [e3 / e4 for e3,e4 in zip(d1,d2)]
|
248
|
-
|
249
|
-
|
250
|
-
|
251
247
|
### 補足情報(FW/ツールのバージョンなど)
|
252
248
|
|
253
249
|
Python version 3.5.6
|
254
250
|
|
255
251
|
jupyter notebook 使用
|
256
252
|
|
257
|
-
numpy sympyは使用しないで内積の計算を行いたいで
|
253
|
+
numpy sympyは使用しないで内積の計算を行いたいためnp.は使用できません.
|