Ada矩阵包

时间:2010-07-07 08:39:43

标签: matrix package ada

我正在寻找一个可以执行大多数矩阵/向量操作的免费软件包。我自己可以编写一些基本的函数,但对于计算特征值和特征向量等高级函数,我更喜欢健壮的代码,我想知道这些软件包是否可以免费使用。如果我理解正确,Ada 2005有更多的矩阵运算工具,但它只能计算对称矩阵和埃尔米特矩阵的特征值。我需要一个更通用的包来处理任何类型的矩阵。

来自Drexel Fusion Laboratory的Ada95矩阵包(54KB tar.gz文件)有链接:http://dflwww.ece.drexel.edu/research/ada/但是此墨水的页面今天不存在。

非常感谢...

3 个答案:

答案 0 :(得分:3)

我认为您所说的Ada95软件包是here - 但它只有35k,而且它的功能似乎比Ada2005标准库少。

不确定这个Ada95 binding to BLAS是如何出现在我的浏览器缓存中的!我看到,对于一般的矩阵求解你也需要LAPACK,我想知道GNAT中的绑定是否有帮助?在文件s-gerela.ad [bs]中打包System.Generic_Real_LAPACK。评论说

--  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

我怀疑是完整库的一小部分。尽管如此,仍然可以作为更广泛的绑定的有用跳板。

答案 1 :(得分:2)

正如John Barnes Rationale for Ada 2005所建议的那样,Ada的Annex G: Numerics并不打算“替代像着名的BLAS这样的专业图书馆”,但没有任何内容妨碍在内部使用BLAS的实现。作为一个具体示例,GNAT编译器使用BLAS和LAPACK实现G.3.1 Real Vectors and MatricesG.3.2 Complex Vectors and Matrices。要查看详细信息,您可以检查相关的包体:

$ 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)

答案 2 :(得分:1)

此程序包以前可用的站点已迁移,旧内容现已在以下位置提供:

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