我正在寻找一个可以执行大多数矩阵/向量操作的免费软件包。我自己可以编写一些基本的函数,但对于计算特征值和特征向量等高级函数,我更喜欢健壮的代码,我想知道这些软件包是否可以免费使用。如果我理解正确,Ada 2005有更多的矩阵运算工具,但它只能计算对称矩阵和埃尔米特矩阵的特征值。我需要一个更通用的包来处理任何类型的矩阵。
来自Drexel Fusion Laboratory的Ada95矩阵包(54KB tar.gz文件)有链接:http://dflwww.ece.drexel.edu/research/ada/但是此墨水的页面今天不存在。
非常感谢...
答案 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 Matrices和G.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)
此程序包以前可用的站点已迁移,旧内容现已在以下位置提供: