質問編集履歴

1

回答がいただけないため,より詳細に書き直しました

2019/07/29 02:31

投稿

退会済みユーザー
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.は使用きません