Ada 矩阵包

发布于 2024-09-08 03:57:02 字数 399 浏览 4 评论 0原文

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

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

多谢...

I'm in search for a free package that do most matrix/vector operations. I can write some basic functions myself but for advanced ones like computing eigenvalues and eigenvectors I would prefer robust code and I would like to know if such packages are freely available. If I understand correctly Ada 2005 have more matrix operations facilities but it has a function to calculate the eigenvalues for a symmetric and hermitian matrices only. I'll need a more general packages which can handle any kind of matrix.

An Ada95 matrix package (54KB tar.gz file) from Drexel Fusion Laboratory had the link: http://dflwww.ece.drexel.edu/research/ada/ but the page for this ink is non-existent today.

Thanks a lot...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

缱绻入梦 2024-09-15 03:57:02

我认为你所说的 Ada95 包是这里 - 但这只是35k,而且它的功能似乎比Ada2005标准库要少。

不确定这个 Ada95 与 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

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

I think that the Ada95 package you mean is here -- but it's only 35k, and it seems to have less functionality than the Ada2005 standard library does.

Not sure how this Ada95 binding to BLAS came to be in my browser cache! I see that for general matrix solving you need LAPACK too, I wonder whether the bindings already in GNAT will help? Package System.Generic_Real_LAPACK in file s-gerela.ad[bs]. The comments say

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

which I suspect is a small subset of the full library. Still, could act as a useful springboard for more extensive bindings.

夜雨飘雪 2024-09-15 03:57:02

正如 John Barnes Ada 2005 的基本原理,Ada 的附录 G:数值< /em> 的目的并不是“作为专业库(例如著名的 BLAS)的替代品”,但并不妨碍实现在内部使用 BLAS。作为一个具体示例,GNAT 编译器实现了 G.3.1 实数向量和矩阵使用 BLAS 和 LAPACK 的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)

As suggested in John Barnes Rationale for Ada 2005, Ada's Annex G: Numerics is not intended "as a substitute for professional libraries such as the renowned BLAS," but nothing precludes an implementation from using BLAS internally. As a concrete example, the GNAT compiler implements both G.3.1 Real Vectors and Matrices and G.3.2 Complex Vectors and Matrices using BLAS and LAPACK. To see the details, you can examine the relevant package bodies:

$ 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)
稳稳的幸福 2024-09-15 03:57:02

以前提供此软件包的站点已迁移,旧内容现在可在以下位置找到:

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

The site at which this package was previously available has been migrated and the old content is now available at:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文