SORU
4 EYLÜL 2009, Cuma


Ne en yaygın kullanılan C vektör/matris matematik/doğrusal kütüphaneler ve maliyet onların bileşimleri Cebir?

Görünen o ki birçok proje yavaş yavaş gel üzerine bir ihtiyacın matris matematik ve sonbahar içine tuzak ilk binanın bazı vektör sınıflar ve yavaş yavaş ekleyerek işlevselliği kadar onlar yakalandı bina yarım yamalak özel Lineer Cebir kitaplığı ve bağlı.

Bu ise yüzeysel bazı ilgili kütüphane bağımlılığı (örneğin, OpenCV, çok Değerlidir) bina önlemek için istiyorum.

Ne yaygın olarak kullanılan matris matematik/doğrusal kütüphaneler orada cebir ve neden başka bir yere bir kullanmaya karar verecekti? Nedense kullanarak karşı tavsiye olurdu. Özellikle geometrik/zaman içinde bu(2,3,4 Dim) içerik** kullanıyorum ama gelecekte Yüksek boyutlu veri kullanıyor olabilir.

Herhangi açısından farklılıklar arıyorum: API, hız, bellek kullanımı/specificness, genişletme ve/veya vade genişlik/darlık eksiksiz istikrar/.

(Edit/not: cevaplar biraz bilgi Var ama dağınık ve anlamsız. Eğer birlikte başka bir cevap Çek etmeli miyim emin değilim, ama yine de başka bir yere, bu seçimlerin hiçbir fayda veya olumsuzlukları üzerinde özellikle emin değilim

Kadar çok mutluyum ki Eigen3 ile sona erdi

CEVAP
4 EYLÜL 2009, Cuma


Bunun için Generic Graphics Toolkit yerleşmiş olan birkaç proje var. Orada GMTL güzel - çok küçük, çok işlevsel ve yaygın olarak çok güvenilir olması için yeterince kullanılmış. OpenSG, VRJuggler ve diğer projeler kendi yerine bunu kullanarak geçti hepsi elle sarılmış vertor/matris matematik.

Çok güzel - çok esnek bu yüzden şablonlar aracılığıyla her şeyi yapar, ve çok hızlı buldum.

< / ^ hr .

Düzenleme:

Tartışma ve düzenlemeler yorumlardan sonra diğeri, senin durum göz önüne alındığında yerinde bir tercih olabilir neden belirli uygulamalar için avantajları ve dezavantajları hakkında biraz daha fazla bilgi, ve dışarı atmak istedim.

GMTL -

Faydaları: Basit API, özellikle grafik motorları için tasarlanmış. İçeren birçok ilkel türler işleme yönelik (uçak, AABB, birden çok ilişkilendirme ile quatenrions, vb gibi) diğer paketler değil. Çok düşük bellek yükü, oldukça hızlı, kullanımı kolay.

Olumsuzlukları: API çok odaklı işleme ve grafik konusunda özellikle. Bu grafik/geometri geleneksel uygulama alanı dışında olduğundan genel amaçlı (bu yüzden olmak üzere) dahil değil matrisleri, matris ayrışma ve çözme, vb.

Eigen -

Faydaları: 3**, kullanımı oldukça kolay. İçeren genelleştirilmiş ve geometrik Geometry module dönüştürür. Düşük bellek yükü. Tam, highly performant büyük NxN matris ve diğer genel amaçlı matematiksel problem çözme rutinleri.

Olumsuzlukları: isteyen daha biraz daha geniş kapsamlı Olabilir (?). Daha az geometrik/(örn: Euler açı tanımları, vb) GMTL göre belirli rutinleri oluşturma.

IMSL -

Faydaları: eksiksiz bir sayısal kütüphane. Çok, çok hızlı (güya en hızlı çözücü). Bugüne kadar yapılmış en büyük ve en kapsamlı matematiksel API. Ticari olarak desteklenen, olgun ve kararlı.

Dezavantajları: Maliyeti ucuz değil. Çok az geometrik/özel işleme yöntemleri, Lineer Cebir derslerini üstüne kendi rulo gerekir.

NT2 -

Faydaları: eğer MATLAB için kullanılan ediyorsanız Sağlar Daha tanıdık bir sözdizimi. Tam ayrışma ve büyük matrislerin çözme sağlar, vb.

Olumsuzlukları: Matematik, render odaklı değil. Muhtemelen Öz olarak ölçülebilir.

LAPACK -

Faydaları: Çok sağlam, kanıtlanmış algoritmalar. Uzun bir süre için yaklaşık edilmiş. Tam matris çözme, vb. Belirsiz matematik için birçok seçenek.

Bazı durumlarda yüksek performansı gibi Değil. olumsuzlukları: Kullanım için tek bir API ile Fortran taşıdık,.

Şahsen, benim için, tek bir soru - bu nasıl kullanmayı planlıyorsun geliyor. Eğer odak eğer sadece render ve grafik üzerinde iyi bir performans sergiliyor beri Generic Graphics Toolkit, ben gibi, ve kutunun dışında çok faydalı oluşturma işlemleri kendi uygulamak zorunda kalmadan destekler. Eğer ihtiyacınız genel amaçlı matris çözme (örn: SVD veya LU ayrışma büyük matrisleri), giderdim Eigen beri işleyen, sağlar bazı geometrik işlemleri ve çok performansı ile büyük matris çözümleri. Grafik/geometrik kendi operasyonları için daha fazla yazmak gerekebilir (matris üstüne/vektörler), ama bu hiç korkunç değil.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AmazonWireless

    AmazonWirele

    8 EYLÜL 2010
  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013