2

ほとんどの行列/ベクトル操作を行う無料のパッケージを探しています。私はいくつかの基本的な関数を自分で書くことができますが、固有値や固有ベクトルの計算などの高度な関数については、堅牢なコードを好み、そのようなパッケージが自由に利用できるかどうかを知りたいです. 私が正しく理解している場合、Ada 2005 にはより多くの行列演算機能がありますが、対称行列とエルミート行列のみの固有値を計算する機能があります。あらゆる種類のマトリックスを処理できる、より一般的なパッケージが必要になります。

Drexel Fusion Laboratory の Ada95 マトリックス パッケージ (54KB tar.gz ファイル) にはリンクがありました: http://dflwww.ece.drexel.edu/research/ada/ですが、このインクのページは現在存在しません。

どうもありがとう...

4

3 に答える 3

3

あなたが言っている Ada95 パッケージはここにあると思いますが、わずか 35k で、Ada2005 標準ライブラリよりも機能が少ないようです。

このAda95 の BLAS へのバインディングがブラウザのキャッシュにどのように保存されたのかわかりません! 一般的な行列を解くにはLAPACKも必要だと思いますが、GNATに既にあるバインディングが役立つかどうか疑問に思っていますか? System.Generic_Real_LAPACKファイル s-gerela.ad[bs] にパッケージ化します。コメントは言う

--  LAPACK Computational Routines

--  gerfs  Refines the solution of a system of linear equations with
--         a general matrix and estimates its error
--  getrf  Computes LU factorization of a general m-by-n matrix
--  getri  Computes inverse of an LU-factored general matrix
--         square matrix, with multiple right-hand sides
--  getrs  Solves a system of linear equations with an LU-factored
--         square matrix, with multiple right-hand sides
--  orgtr  Generates the Float orthogonal matrix Q determined by sytrd
--  steqr  Computes all eigenvalues and eigenvectors of a symmetric or
--         Hermitian matrix reduced to tridiagonal form (QR algorithm)
--  sterf  Computes all eigenvalues of a Float symmetric
--         tridiagonal matrix using QR algorithm
--  sytrd  Reduces a Float symmetric matrix to tridiagonal form

これは、完全なライブラリの小さなサブセットであると思われます。それでも、より広範なバインディングの便利な出発点として機能する可能性があります。

于 2010-07-07T12:39:40.137 に答える
2

John Barnes Rationale for Ada 2005で示唆されているように、Ada のAnnex G: Numericsは「有名な BLAS などの専門的なライブラリの代替として」意図されたものではありませんが、BLAS を内部で使用する実装を妨げるものは何もありません。具体的な例として、GNAT コンパイラは、BLAS と LAPACK を使用して、 G.3.1 実数ベクトルと行列、およびG.3.2 複素数ベクトルと行列の両方を実装します。詳細を確認するには、関連するパッケージ本体を調べます。

$ export ADA_INC = /your/path/to/adinclude
$ view $ADA_INC/$(gnatkr Ada.Numerics.Generic_Real_Arrays.adb)
$ view $ADA_INC/$(gnatkr Ada.Numerics.Generic_Complex_Arrays.adb)
于 2010-07-08T04:26:17.020 に答える
1

以前このパッケージを入手できたサイトは移行され、古いコンテンツは次の場所で入手できるようになりました。

http://dfl.ece.drexel.edu/content/ada95-matrix-package

于 2013-02-24T22:26:58.833 に答える