levmar

Yazılım ekran görüntüsü:
levmar
Yazılım detaylar:
Versiyon: 2.6
Qayıt: 15 Apr 15
Geliştirici: Manolis Lourakis
Lisans: Ücretsiz
Popülerlik: 96

Rating: 5.0/5 (Total Votes: 1)

levmar Levenberg-Marquardt doğrusal olmayan bir uygulama C / C ++. En az kareler algoritmaları
Argonne Ulusal Laboratuarında 80'lerin başında uygulanan Minpack gelen lmder rutin, belki de olduğunu En yaygın olarak LM algoritması ücretsiz uygulama kullanılır. lmder Fortran77 yazılmıştır ve yılda yazılım güvenilir bir parçası olduğu kanıtlanmıştır. FORTRAN rutinleri C / C ++ çağrılabilir göz önüne alındığında, bir sorun FORTRAN C çağrıldığında, programcı farkında olması gerektiğini C. Well LM bir sürümünü yazmak için motivasyon merak (ve uygun olabilir ) sıradan C kurallarına göre doğal olan vb isim bozma, argüman geçen, çok boyutlu dizi bellek düzeni, bağlantı sözleşmeler, ilgili çeşitli kurallar. İkinci bir neden hedef programlama ortamı için bir FORTRAN derleyici mutlaka böyle olmayabilir olabilir, kullanılabilir olduğunu verilen bu yaklaşım almasıdır. Tam da FORTRAN kod ne anlamak için gerekli olduğunda Bazen, bunun bazı parçaları FORTRAN herhangi bir bilgisi olmadan programcılar için anlaşılmaz gelebilir: başka bir nedeni FORTRAN uygulama iç işleyişini anlamak için başarısızlık ile ilgisi yoktur. Üretilen C kodu "Deneyimsiz" insanlar oldukça okunaksız olduğu C çevirmenler Otomatik FORTRAN (örn F2C) sorunu çözmek değil. Ayrıca, dokümantasyon uygulaması belirsiz ya da erişilemez olabilir dayandığı matematik nitelendirdi. Son ama en az, C aday LM uygulaması ücretsiz ve teknik açıdan sağlam olmalıdır. Örneğin, (yani mrqmin) "Sayısal Tarifler" kitabında sunulan LM algoritması C varyantı uygun bir seçim her zaman değil: onun telif olmanın yanı sıra, bu sağlamlığı yoksun ünlüdür
. Yukarıdaki nedenlerden dolayı, ben de C ++ ile kullanılabilen LM tatlar C uygulamalarını içeren levmar paketi geliştirdik. levmar çift ve tek hassasiyetli LM uygulamaları içerir, hem analitik ve sonlu farklar Jakobiyen yaklaşmıştır. GNU Genel Kamu Lisansı koşulları altında, ücretsiz sağlanmaktadır. kısıtsız levmar arkasında matematiksel teori K. Madsen, HB tarafından, Lineer Olmayan En Küçük Kareler Sorunları ders notları ayrıntılı olarak hak Yöntemleri açıklanmıştır Nielsen ve O. Tingleff, Danimarka Teknik Üniversitesi; Ders notları sunulan algoritmaların Matlab uygulamaları da mevcuttur. Burada benimsenen minimizasyonu sorunun formülasyonu ders notları tarif biraz farklı olduğunu ancak unutmayın
İşlev en kullanın:.
Levmar itaat birçok kullanıcı çağrılabilir fonksiyonları sunuyor adlandırma kuralı şu: İlk harfi (d veya s) tek veya çift hassasiyet ve sonek belirtir (_der veya _dif) analitik veya yaklaşık Jakobien gösterir. Varsa, lec, bc ve blec bileşenler sırasıyla, lineer denklem, kutu ve eşzamanlı kutu ve lineer denklem kısıtlamaları ima. Daha spesifik olarak, levmar aşağıdaki fonksiyonları içerir:
kısıtsız optimizasyon
dlevmar_der ()
: çift hassas, analitik Jakobyan
dlevmar_dif (): çift hassas, sonlu farklar yaklaşmıştır Jakobyan
slevmar_der (): tek duyarlıklı, analitik Jakobyan
slevmar_dif (): tek duyarlıklı, sonlu farklar Kısıtlı optimizasyon

Jakobien yaklaştırılmış
dlevmar_lec_der () : Çift hassasiyetli, lineer denklem kısıtlamaları, analitik Jakobyan
dlevmar_lec_dif (): çift hassas, lineer denklem kısıtlamaları, sonlu farklar Jacobian
slevmar_lec_der () yaklaştırılır: Tek hassasiyet, lineer denklem kısıtlamaları, analitik Jakobyan
slevmar_lec_dif (): tek duyarlıklı, lineer denklem kısıtlamaları, sonlu farklar yaklaşmıştır Jakobyan
dlevmar_bc_der (): çift hassas, kutu kısıtlamaları, analitik Jakobyan
dlevmar_bc_dif (): çift hassas, kutu kısıtlamaları, sonlu tek duyarlıklı, kutu kısıtlamaları, analitik Jakobyan
slevmar_bc_dif (): fark Jakobyan
slevmar_bc_der () yaklaşık olarak çift: tek duyarlıklı, kutu kısıtlamaları, sonlu farklar Jakobyan
dlevmar_blec_der () yaklaştırılır hassas, kutu ve lineer denklem kısıtlamaları, analitik Jakobyan
dlevmar_blec_dif (): Tek hassasiyet, kutu ve lineer denklem kısıtlamaları, analitik Jakobien: çift hassas, kutu ve lineer denklem kısıtlamaları, sonlu farklar Jacobian
slevmar_blec_der () yaklaştırılır
slevmar_blec_dif (): tek duyarlıklı, kutu ve lineer denklem kısıtlamaları, sonlu fark fonksiyonunun tekrar değerlendirmelerde Jacobian sonuçları yaklaştığı sonlu farklar kullanılarak monte edilecek bu Jakobyan
Uyarı yaklaşmıştır. Bu değerlendirmelerin toplam sayısını azaltmak amacıyla, xxxxxxx_dif fonksiyonları Broyden rank bir güncellemeyi kullanarak Jacobian sekant yaklaşımları uygulamak. Onlar en iyi (L2 norm açısından) açıklar parametre vektörü p ölçümleri vektör x aramak, yani tüm işlevler, aynı sorunu çözmek. Daha doğrusu, bir vektör fonksiyonu f verilen R ^ m - n> = m> R ^ n, onlar ap hesaplamak şekilde f (p) ~ = x kare norm yani || e || ^ 2 = | | xf (p) || ^ 2 minimize edilir. Ayrıca, form lb kutu kısıtlamaları [i]

Bu sürümdeki yeni nedir :

  • Bu sürüm için destek ekler başlangıç ​​noktası gerçek işlecinin uzak olduğunda yakınsama artırabilir xlevmar_bc_der (), diyagonal ölçekleme.
  • PLAZMA, çok çekirdekli işlemciler için lineer cebir kütüphane ile paralel Choleskey ayrışma destekleyen bir doğrusal sistemler çözücü.

  • Onlar daha iyi önbellek performansı sonuçlanan simetrik matrislerin alt üçgen, üzerinde işlem böylece
  • Doğrusal çözücüleri sabit olmuştur.
  • projeyi oluşturmak için CMake yapılandırma dosyaları revize edilmiştir.
  • Diğer bazı küçük değişiklikler yapılmıştır.

nedir sürüm 2.5 Yeni:

  • ÖNCEKİ VERSİYONLAR KULLANICILARI İÇİN DİKKAT: Daha iyi tutarlılık ve bırakmamak için çatışmalar, levmar en başlık dosyasının adı levmar.h için lm.h değiştirilmiştir; buna göre kaynak dosyaları güncelleyin.
  • eşzamanlı kutu, lineer denklem ve eşitsizlik kısıtları (işlevleri xlevmar_bleic_der () & xlevmar_bleic_dif ()) altında azaltılması için destek eklendi.
  • Uygulanan kolaylık sarmalayıcılar () & xlevmar_bleic_dif () basit kısıtlı durumlarda, örneğin ile ilgili xlevmar_bleic_der için xlevmar_blic_der () & xlevmar_blic_dif () kutusunu ve doğrusal eşitsizlik kısıtlamaları sadece.
  • altında destek minimizasyonu
  • UDUt ayrışma dayalı bir lineer sistem çözücü eklendi (yani, sqrt ücretsiz Cholesky).
  • en doğrusal çözen bazı gereksiz bellek kopyalama kaldırıldı.
  • yeni bir veri uydurma bir test problemi (Osborne).
  • eklendi
  • diğer birkaç küçük değişiklik yapılmış.

nedir sürüm 2.4 Yeni:

  • ÖNCEKİ VERSİYONLAR KULLANICILARI İÇİN DİKKAT: info argüman boyutu (yani, LM_INFO_SZ) Yeni bir dönüş alanı karşılamak için tek artmıştır (yani, info [9]) minimizasyonu sırasında çözüldü lineer sistemlerin toplam sayısına karşılık gelir. bilgi dizide daha önce iade alanların endeksleri değişmeden kalır.
  • küçük ölçekli minimizasyonu sorunları için yaklaşık Hessen J ^ T * J ve J ^ T * e hesaplanması için daha verimli önbellek düzeni Uygulanan.
  • lineer çözücüleri etkinleştirilmelerinde arasında kalan herhangi bir çalışma belleği levmar rutinleri sona ermesi üzerine serbest olduğunu Garanti.
  • lineer çözücüler aşırı tahsisleri arada kaçınarak, yardımcı bellek gerekli minimum miktarda istihdam olduğunu Garanti.
  • E = x-hx hesaplanmasını hızlandırmak için bir döngü unrolling şeması Uygulanan.
  • 64 bit sistemlerde bellek uyum ile ilgili sorunlar bir çift düzeltildi.
  • belirleme katsayısı hesaplanması için fonksiyonları eklendi.
  • birkaç küçük sorunları ile dağıtılır.

Benzer yazılım

GNU polyxmass
GNU polyxmass

3 Jun 15

PyOpenCL
PyOpenCL

28 Sep 15

TRIP
TRIP

20 Feb 15

Yorumlar levmar

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!