Tmv.

Template Matrix / Vector Library untuk C ++
Unduh sekarang

Tmv. Peringkat & Ringkasan

Iklan

  • Rating:
  • Lisensi:
  • GPL
  • Harga:
  • FREE
  • Nama Penerbit:
  • Mike Jarvis
  • Situs web penerbit:
  • Sistem operasi:
  • Mac OS X
  • Ukuran file:
  • 1.7 MB

Tmv. Tag


Tmv. Keterangan

Template matrix / library vektor untuk C ++ TMV adalah gratis dan open source linear perpustakaan aljabar bahwa operator menggunakan overloading, pandangan dan evaluasi tertunda untuk menyederhanakan vektor dan matriks ekspresi dalam C ++. TMV didokumentasikan dengan baik dan secara opsional dapat menghubungi dioptimalkan BLAS / LAPACK untuk kali eksekusi lebih cepat. Berikut adalah beberapa fitur kunci dari "TMV": · Operator overloading: Sebuah ekspresi seperti v2 = x * m * v1 harus menghasilkan kode yang benar dan cepat. (Tidak ada temporaries) · Jenis Complex: Mencampur jenis kompleks dan nyata dalam pernyataan aritmatika harus hukum. · Dekomposisi: Divisi harus berarti memecahkan persamaan matriks, secara otomatis melakukan sebuah LU, QR, Cholesky, atau dekomposisi nilai singular untuk melakukannya. · Kecepatan: Kode harus cepat untuk matriks besar. Biasanya, ini berarti memanggil BLAS dan rutinitas LAPACK belakang layar. · Evaluasi Tertunda: (alias malas evaluasi) Ekspresi v2 = x * m * v1 misalnya inlines langsung ke MultMV (x, m, v1, v2) yang melakukan perhitungan yang sebenarnya, sehingga tidak ada memukul kinerja dari keterbacaan dari operator. · Template: Seperti nama TMV menunjukkan, jenis elemen dalam vektor atau matriks template. Sehingga Anda dapat memiliki Matrix, Matrix, Matrix, atau bahkan menggunakan beberapa user-defined jenis (misalnya. Quad untuk beberapa 16 byte kelas quad-presisi) Matrix. · Views: Ada baik konstan dan pandangan bisa berubah menjadi vektor atau matriks. Jadi ungkapan-ungkapan seperti m.row (3) + = 4. * m.row (0) dan m2 * = m.Transpose () melakukan hal-hal yang jelas. · Divisi Matrix: Ekspresi x = b / A dapat digunakan untuk memecahkan Axe persamaan matriks = b. metode pengendalian untuk A dapat digunakan untuk menceritakannya yang dekomposisi digunakan untuk menemukan solusi. Ada juga kontrol untuk menyimpan dekomposisi untuk digunakan berulang-ulang, dan bahkan untuk melakukan dekomposisi di tempat untuk menghemat penyimpanan. · Fleksibel penyimpanan: Sebuah matriks dapat dinyatakan baik baris-besar atau kolom-besar. matriks Band juga memungkinkan untuk penyimpanan diagonal-besar. · Fleksibel pengindeksan: Anda dapat menentukan bahwa Anda ingin mengakses matriks baik menggunakan C konvensi normal (pengindeksan 0-based) atau konvensi Fortran (pengindeksan 1-based). · Alias pengecekan: Banyak matriks paket menghitung m * = m tidak benar. TMV otomatis memeriksa apakah dua objek dalam perhitungan menggunakan penyimpanan yang sama dan menciptakan temporaries yang diperlukan. Ini hanya memeriksa alamat dari elemen pertama, sehingga Anda masih bisa mengacaukan. Tapi sebagian besar waktu ini cukup baik. · BLAS / LAPACK: Perpustakaan dapat dikompilasi untuk memanggil BLAS dan / atau rutinitas LAPACK. Tapi jika Anda tidak memiliki mereka, kode internal juga akan bekerja. Sebagian besar algoritma internal secepat LAPACK. Tapi BLAS dioptimalkan rutinitas umumnya signifikan lebih cepat. Jadi kompilasi dengan setidaknya perpustakaan BLAS dianjurkan jika kecepatan adalah penting untuk Anda. Apa yang baru dalam rilis ini: · Dikoreksi kesalahan dengan m.DivIsSet (); · Dikoreksi dokumentasi mengenai m.SVD () akses, terutama yang S sekarang menjadi DiagMatrix, daripada Vector. · Perilaku Berubah dari metode seperti m.SVD (). Sekarang, jika SV belum diatur sudah, maka akan mengaturnya, daripada memberikan kesalahan. · Metode Ditambahkan ListInit untuk menginisialisasi vektor atau matriks. · Peningkatan kelas SmallMatrix. Sekarang tidak berasal dari GenMatrix (atau bahkan BaseMatrix), sehingga menghilangkan tabel virtual. Ini sangat mempercepat banyak perhitungan. Saya juga khusus beberapa rutinitas untuk 2x2 dan 3x3 matriks, seperti Det dan Inverse. Peringatan adalah bahwa beberapa hal yang dulu mungkin dengan SmallMatrix tidak sekarang. Yang paling penting, hasil aritmatika tidak dapat secara otomatis dipakai lagi. Mereka perlu untuk ditugaskan ke lokasi, baik SmallMatrix atau Matrix. Saya juga inline semua rutinitas divisi, daripada memilikinya memanggil biasa rutinitas divisi Matrix. · Dihapus beberapa perintah viewof yang lebih jelas dengan notasi yang berbeda. · Tetap masalah dengan fungsi LAPACK dstegr dan sstegr. Sekarang TMV dapat mendeteksi ketika stegr gagal dan menjalankan stedc alternatif sebagai gantinya. · Ditambahkan scons pilihan instalasi. · Ditambahkan kemampuan untuk menggunakan versi Fortran dari BLAS dan LAPACK. · Sertakan file CMakeLists.txt untuk instalasi cmake. · Sertakan Vcproj dan file .vcsln untuk Visual C ++ instalasi.


Tmv. Perangkat Lunak Terkait

Camlpdf.

Perpustakaan OCAML untuk membaca, menulis dan memanipulasi file dokumen portabel Adobe ...

166 286 KB

Unduh

mpegsplit.

Perpustakaan Sumber Gratis dan Terbuka yang akan membantu Anda membagi file MPEG ...

136 120 KB

Unduh

Hasim.

Perpustakaan Simulasi Acara Berbasis Diskrit Berbasis Proses Gratis dan Terbuka ...

169 12 KB

Unduh