Vectorization'e dair


#1

asagidaki soruya gelince sadece bakakaldim. vectorization videolarini tekrar izledim. lakin degisen bir sey olmadi. anlatilanlarimi anladigimi saniyorum ama belli ki anlamadigim bir sey var asagidaki soruyu yorumlayamiyorum. acikcasi neyi anlamadigimi da tarif edemiyorum. var mi yapabilecegimiz bir sey?


#2

bu soruyu çözmenin yolu kodu tek tek iterasyon yapmak yani for döngülerini elle tek tek ne yaptığını yazmak sonucunda ne yaptığını bulmak ilk başlarda kafa karıştırıcı gelir ama sonradan alışırsın mesela ilk iterasyon için şöyle
i=0 j=0
c[0][0]=a[0][0]+b[0]
i=0 j=1
c[0][1]=a[0][1]+b[1]
i=0 j=2
c[0][2]=a[0][2]+b[2]
i=0 j=3
c[0][3]=a[0][3]+b[3]
böyle gidiyor buradan bir anlam çıkarabilirsin.


#3

Dogru mu anliyorum?
sizin yazdiginizi ben devam ettireyim;

i=1 j=0
c[1][0]=a[1][0]+b[0]
i=1 j=1
c[1][1]=a[1][1]+b[1]
i=1 j=2
c[1][2]=a[1][2]+b[2]
i=1 j=3
c[1][3]=a[1][3]+b[3]

i=2 j=0
c[2][0]=a[2][0]+b[0]
i=2 j=1
c[2][1]=a[2][1]+b[1]
i=2 j=2
c[2][2]=a[2][2]+b[2]
i=2 j=3
c[2][3]=a[2][3]+b[3]

[[c00, c01, c02, c03]
[c10, c11, c12, c13]
[c20, c21, c22, c23]] gibi bir c.shape = (3, 4) matrisi olusuyor. bunun olusabilmesi icin de b.shape = (4, 1) matrisinin transpoz edilerek b.T.shape = (1, 4) satir vektoru haline gelmesi ve broadcast olmasi gerekiyor.

  1. Cikarmam gereken anlam bu mudur?

2- Ve bu tamamen ornekte yazili verilmis olan for dongusunun yazilis bicimi ile alakali, yani - mesela - b’ler b[j] seklinde degil de b[i] seklinde yazilsaydi (tabi ki "i"li for dongusunun range’i 4 olmak kaydiyla, o zaman b’nin transpozunu almak gerekmeyecekti?


#4

Evet tam dediğiniz gibi eğer j yerine i kullansaydı transpoz alınmayacaktı.Sadece biraz pratikten sonra çok rahat çözeceksiniz emin olun.


#5

cok tesekkur ederim
Evrim


#6

önemli değil iyi çalışmalar