开发者

Ada: interfacing with Matlab

since Ada doesn't possess any good libraries for scientific computing, I was wondering if anyone has been able to use Matlab mathematical functions such as eig (for calculations of eigenvalues and eigenvectors) within Ada.

I see that some interfaces exist for simulink and Ada. But I'm not a user of Simulink. I would like just to be able to use Matlab mathematical functions through perhaps Ada functions and procedures.

PS: In earlier Ada documents there were lots of talks and promises to create good numerical libraries similar to NAG or NUMAL. I do wonder why this has never been con开发者_开发技巧cretized successfully, and any good and robust scientific computing library made available. For sure the Ada language doesn't pale before any other scientific computing language in my opinion.

Thanks a lot...


I can't find anything about it, which is indeed a bit surprising.

If it has a C interface, it is possible to write your own bindings to the routines you need. Just use the interfacing pragmas. The types defined in the package Ada.Interfaces.C would also be of help. Getting things linking and tested on a custom binding can be a wee bit of a challenge though.

Also, it looks like recent versions of Gnat come with a binding generator that can create Ada bindings for you out of C header files. There are six more such tools available here, including one that works on Windows COM DLLs that I've heard good things about.


It is very easy to use lapack from Ada. You do not need to call Matlab for that. Lapcak is the same library which Matlab uses as well.


There are few packages under Ada.Numerics which perform the matrix and vector operations


As a complement to Ada.Numerics.Generic_Real_Arrays, there is Generic_Real_Linear_Equations with, notably, Cholesky and LU decomposition, available in the open-source library Mathpaqs here or here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜