Bilgisayar bilimi geçmişi olan biri olarak, ilk kez matematikle karşılaştığımda tensorun matris olmadığını iddia eden insanlarla karşılaştığımda çok kafam karıştı. Çünkü ikisi de açıkça çok boyutlu dizilerdir. Ama sonra fark ettim... Matematikçiler her zaman kafalarında güçlü tipli diller kullanırlar!
Bir bilgisayar bilimcisi yapısı için fonksiyonlar, arayüz ve kısıtlamalar hem açıkça ayrılır hem de birbirine dönüştürülebilir. Tensor, bir tensör gibi ele aldığınız bir matristir. Onları karıştırabilirsiniz, bir sınıf dört sınıfın bir paketidir ama zorunlu değildir.
Vektörlerin sayı listeleri olmadığını söylediklerinde, bunun sebebi güçlü tipli mantık dillerini hevesli değerlendirmek için kendilerini tip denetleyicisi olarak eğitmiş olmalarıdır. Matematikçiler kafalarında temelde büyüyle öğrenilmiş bir tip kontrol cihazı kullanıyorlar.
Bilgisayar bilimi kullanıcıları çoğunlukla lisp ve/veya C zihinsel olarak çalıştırıyor, bunun tercüman mı yoksa bilgisayar mı olmasını istediğimize bağlı olarak. Güçlü tipli bir zihinsel simülatör çalıştırırsak, üstte koyuluyor. Haskell bile tür bildirmelerini uygulamadan ayırır.
Ama matematik sadece tip imzalarıyla yapılır! Her şeyi güçlü tipli makrolarla yapıyorlar! Bu, Hindley–Milner tiplerinin limit durumu gibi, daha iyi sıkıştırmalar bulmak için spekülatif genişleme yapılsaydı. Bu da matematikçilerin programların soyut şekilde optimize edilmiş derlemesini yapmasına olanak tanıyor.
Şimdi daha gerçek matematik yaptığım için, bu yaklaşımın gücünü görüyorum. Ama bilgisayar bilimi yaklaşımının gücü matematikçiler tarafından yeterince takdir edilmiyor diye düşünüyorum. Çünkü CS'nin bilgeliği şu ki, bir tensör bir matris ama bir matris bir tensör değildir. Değişkenler ise onları nasıl kullanabileceğinizdir.
Matematikçiler aliçleri biliyor ama onlara "morfizm" gibi komik isimler veriyorlar. Ve zorla kabul ederler ki, uygun döküm varsa bir vektörü karşılık alan boyutlu bir dönüş olarak kullanabileceğinizdir.
Ama şöyle derler: Vektörü rotasyon olarak kullanmıyorsunuz, bivektör türetmişsiniz gibi şeyler. Bu, eğer bir prolog super HM tip-kontrolcüsüyseniz doğrudur. Derleyici, müdahaleci veya bilgisayar olarak bu doğru değildir.
Her neyse, ben hala matematikle kavga ediyorum çünkü ördek tiplemenin işe yaradığını inkar etmek çok saçma ama haklılar, yine de tip birleştirme gerektiriyor.
@St_Rev Ve hayır, tensör bir matrisin alt tipidir, tam tersi değil. Matris daha genel nesnedir, tensorlar daha fazla kısıtlamaya uymalıdır.
@SokobanHero Yani çok doğrusal bir harita her zaman bir matris olarak gerçekleştirilebilir (teknik olarak hipermatris, çünkü insanlar matrisi sadece rank-2 n-dim dizisini ifade etmek için kullanıyor) ve bazı alanlarda tam tersi olduğu için, bence her iki yöne de gitmek eşit derecede makul.
55,15K