Bu sayfadaki yazılar
Sayfanın metni
Sayfa 33
3. 2x2, 3x3, 4x4 gibi kare matrisler bilgisayar grafik aleminde en çok kullanılan matrislerdir.
4. n boyutlu bir vektör de genelde n x 1 tipinde bir matris olarak yazılabilir.
5. Matris çarpımında “değişme özelliği” yoktur. Yani AxB ile BxA eşit değildir. Hatta ikisinden biri tanımlı bile olmayabilir.
6. Matris çarpımında “birleşme özelliği” vardır. Yani Ax (BxC)
Vektörel
dönüşümlerin matris olarak gösterilmesi
Şimdi matrisleri bir takım sayı öbekleri olmaktan çıkarıp bize faydalı hale getirme zamanı geldi. Matrisler hakkında bu kadar konuşmamızın nedeni bir önceki bölümde bahsettiğimiz vektör dönüşümlerini (yer değiştirme, dönme, ölçekleme gibi) matrisler haline getirebilmemiz. Nasıl mı? Mesela “dönme” dönüşümünü hatırlayalım.
Elimizde P(x1, y1) noktası var. Biz bu noktayı origin etrafında a açısı kadar döndürüp O(x2, y2) noktasına ulaşmak istiyoruz. Formülümüzü şöyle hesaplamıştık:
x2 = (x1)cos(a) - (y1)sin(a) y2 = (x1)sin(a) + (y1)cos(a)
Bu formülü matrisler cinsinden de yazabiliriz. Hatırlarsanız vektörlerin matris olarak yazılabileceğini söylemiştik. Dolayısıyla O ve P vektörlerini matris olarak yazarsak.
Şimdi formüle bir daha bakın. Formüldeki iki satırda yapılan işlemleri tek bir matris işlemi ile ifade etmek mümkün mü? Özellikle dikkatimizi çeken noktalar:
1. Eşitliklerin solunda x2 ve y2 birlikte O vektörünü temsil eden matris olarak yazılabilir.
2. Sağ tarafta da bir takım değerler x1 ve y1 ile çarpılıp sonuç toplanıyor (ya da çıkarılıyor ama o eksi işareti kolayca artıya çevrilebilir).
Öyleyse biz bu formülü aşağıdaki gibi yazabiliriz.
O Dönmela) xP
İşte burada dönme dönüşümünü bir matris halinde yazmış olduk. Matrisleri en çok bu amaçla kullanacağız. Yani dönüşümleri ifade etmek için.
Burada şunu sorabilirsiniz. Bir dönüşümü ha matrisle ifade etmişiz, ha önceki formüldeki satırları ayrı ayrı hesaplamışız ne fark eder? Bu çok mantıklı bir soru. Şu an için bir fark görmediniz; farkı açıklayabilmek için birazdan bileşik dönüşümlerden bahsedeceğiz.
Şimdi bir de “yer değiştirme” dönüşümünü hatırlayalım.
Elimizde P(x1, y1) noktası var ve biz bu noktanın D(dx, dy) vektörü kadar yer değiştirmesini istiyoruz. Böylece O(x2, y2) noktasına ulaşacağız.
X2 5x1 y2-yi*dy peki bunu nasıl matris olarak yazabiliriz? Tabi bunu AsP*D
Diye yazabiliriz elbette. Ancak bir önceki örnekte gördük ki dönme dönüşümünü bir noktaya uygularken dönüşüm matrisi ile noktayı temsil eden matrisi “çarptık”. Burada da istediğimiz yer değiştirme formülünü bir çarpım cinsinden ifade etmek.
Maalesef bunu mevcut 2 boyutlu vektörler ile yapamıyoruz. Matematikçiler bu sorunu basit bir şekilde çözmüşler. Bakın ne yapmışlar.
Aslen iki boyutlu olan P ve O vektörlerinin boyutunu bir artırıp oraya etkisiz eleman olan 1'i yerleştiriyoruz. Böylece 3x1'lik matrislerle artık 2 boyutlu vektörlerimizi temsil ediyoruz. O zaman dönüşümü temsil eden matrisimiz de deminki dönme dönüşümü örneğindeki gibi 2x2 olmak yerine 3x3 oluyor. Dikkat ederseniz dönüşüm matrisinin 11, 12, 21 ve 22 indexli elemanları birim matris gibiler ve sonuç vektöründeki toplama işlemlerine x1 ve y1 elemanlarının ulaşmasını sağlıyorlar. Matristeki dx ve dy elemanları ise çarpım esnasında P vektörünün 3. elemanı olan 1 ile çarpılarak sonuç toplamalarındaki yerlerini alıyorlar.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 32
Öncelikle tıpkı toplama ve çıkarma işlemlerinde yaptığımız gibi, iki matrisin çarpılabilmesi için gereken ön koşulu tanıtalım. İki matrisin çarpılabilmesi için birinci matrisin sütun sayısı ile ikinci matrisin satır sayısı aynı olmalıdır. Başka bir deyişle m1 x n1 tipindeki bir matris ile m2 x n2 büyüklüğündeki ikinci bir matrisin çarpılabilmesi için n1=m2 olması gerekir. Örneğin 3x2'lik bir matris ile 2x6'lık bir matris çarpılabilir. Ancak 2 x 1'lik bir matris ile 4 x 3'lük bir matris çarpılamaz. Aynı tipteki kare matrisler (2x2, 3x3, 4x4...) birbiri ile çarpılabilir.
Bu koşulun nedenini anlamak için gelin matris çarpma işleminin basamaklarına bakalım.
Elimizde A ve B diye iki tane 2x2'lik matris olsun.
Şekil 4.
Bu iki matrisin çarpımına da C matrisi adı verelim: AxB=C
Bu iki matrisi çarpmak için yapmamız gereken:
1. Birinci matrisin ilk satırını al 2. İkinci matrisin ilk sütununu al
3. Birinci matristen gelen değerlerini, ikinci matristen gelen bxi değerleri ile çarp ve sonuçları topla. Başka bir deyişle yukarıdaki örnekte: (a11 x b11) + (a12 x b21)
4. Bu değeri sonuç matrisinde birinci satır birinci sütun sonucu olarak yaz Bu dört basamağı C'nin bütün elemanları için genelleyeceğiz. Bu genellemeyi yapmak için aynı basamakları şöyle yazalım: C'nin “m'inci satırında n'inci sütununda olan elemanını” (cmn) hesaplamak için 1. Birinci matrisin m'inci satırını al
2. İkinci matrisin n'inci sütununu al
3. Birinci matristen gelen amx değerlerini, ikinci matristen gelen bxm değerleri ile çarp ve sonuçları topla. Başka bir deyişle yukarıdaki örnekte: (am1 x b1n) + (am2 x b2n)
4. Bu değeri sonuç matrisinde m'inci satır n'inci sütun sonucu olarak yaz
Bu kuralları örneğimize uygularsak:
Şekil 5.
İşte birinci matriste bir satırdan alınan değerler ile ikinci matriste bir sütundan alınan değerler bire bir çarpılıp sonuçlar toplandığı için (bir nevi vektörlerdeki “nokta çarpımı” işlemi gibi), bu bölümün başında verdiğimiz ön koşul var. Eğer m1 x n1 ve m2 x n2 tipindeki iki matriste n1 ve m2 eşit değilse bu işlem yapılamıyor.
Şimdi değişik boylarda birkaç matrisin nasıl çarpıldıklarını görmek için aşağıdaki örneklere bakın:
Şimdi birkaç sayısal örnek verelim:
Matrislerle
ilgili bazı özellikler:
1. Yukarıda ikinci örnekte görülen köşegen üstündeki elemanların 1 diğer bütün elemanların 0 olduğu matrise “Birim Matrisi” denir. Birim matrisi çarpmada “etkisiz eleman”dır. Başka bir deyişle herhangi bir A matrisi Birim matris ile çarpılırsa sonuç gene A matrisi olacaktır.
2. m x n tipinde bir matris ile n x k tipinde bir matris çarpıldığında sonuç m x k tipinde olacaktır.