一般信息

子程序库SLICOT为系统和控制理论中的计算提供了Fortran 77数值算法实现。SLICOT基于BLAS和LAPACK库中的数值线性代数例程,为控制系统的设计和分析提供了方法。图书馆背后的基本理念是:

  1. 算法的实用性;
  2. 稳健性,算法必须返回可靠的结果或错误或警告指示器;
  3. 数值稳定性和精度:在给定精度下工作时,结果与预期一样好。如果可能,应给出所达到精度的估计值;
  4. 性能在速度和内存需求方面。尽管由于控制问题的复杂性不断增加而变得重要,但实现这一目标可能永远不会以牺牲前两个目标为代价;
  5. 可移植性和可重用性:库应该独立于平台;
  6. 标准化:该库基于严格的编程和文档标准;
  7. 标杆管理即,一组标准化的示例,允许评估方法的性能以及正确性、准确性和速度方面的实现。基准测试还可以深入了解该方法的行为及其在极端情况下的实施,即对于可能达到精确度极限的问题。

SLICOT的当前版本包含570多个系统和控制领域的用户可调用和计算例程。几乎所有这些例程都有相关的在线文档。240多个例程具有相关的示例程序、数据和结果。新的程序仍在准备中。由于使用了Fortran 77,获得了软件的可重用性,因此SLICOT可以作为各种现有和未来CACSD平台和生产质量软件的核心。SLICOT例程可以通过网关编译器(例如NAG网关生成器)链接到MATLAB。最近,为许多例程开发了MATLAB或Scilab接口。

Fortran 77的使用允许利用底层计算问题的结构特征和适当的数据结构的使用。这对于计算速度和所需的内存是有利的。随着系统和相关控制解决方案的复杂性不断增加,速度和内存问题仍然是一个有效的问题。针对各种示例,从数值质量、计算速度和内存需求方面对库的性能进行了评估。比较表明,SLICOT例程通常优于等效的MATLAB函数,通常是数量级;参见Benner e.a.(1997)。

有关SLICOT的更多详细信息,请参阅:

Benner,P.、Mehrmann,V.、Sima,V.,Van Huffel,S.和A.Varga:“SLICOT-系统和控制理论的子例程库”,1997年6月,NICONET报告97-3;另见“应用和计算控制、信号和电路”(Biswa N.Datta,Ed.),Birkauser,第1卷,第10章,第499-539页,1999年,ISBN 0-8176-3954-2,3-7643-3954-3,ISSN 1522-8363。


贡献者

SLICOT图书馆的发展在很大程度上归功于许多人,NAG和WGS都感谢所有为SLICOT的发展做出贡献的人。我们特别感谢所有为图书馆贡献例程的人,包括E.Barth、Th.Beelen、P.Benner、C.Benson、R.Byers、R.Dekeyser、F.Delebecque、M.Denham、F.Dumortier、A.Emami-Naeini、Da-Wei Gu、A.Geurts、S.Hammarling、G.van den Hurk、B.KágströM、C.Kliman、M.Konstantinov、D.Kressner、A.Laub、A.Markovsky、C.Oara、,C.Paige、Th.Penzl、P.Petkov、E.S.Quintana-Orti、G.Quintana-Orti、P.A.Regalia、A.Riedel、R.Schneider、V.Sima、D.M.Sima,S.Steer、F.Svaricek、M.Vanbeen、P.Van Dooren、S.Van Huffel、A.Varga、M.Verhaegen、M.Voigt、L.Westin、H.Willemsen、T.Williams和H.Xu。


如何获取SLICOT库?

整个SLICOT库,包括例程、示例程序和html文档,都可以从SLICOT源存档,适用于Unix或Windows平台。


如何获取BLAS和LAPACK例程?

SLICOT库建立在LAPACK和BLAS库的基础上,包含一组高性能、数值可靠的基本线性代数子程序。这些包可以通过Netlib获得,Netlib是一个通过电子邮件分发数学软件的系统。只需向Internet地址发送包含“help”行的消息正在保护此电子邮件地址免受垃圾邮件攻击。您需要启用JavaScript才能查看它。您将收到有关如何使用netlib以及如何从netlib检索BLAS和LAPACK库中收集的例程的信息。

Netlib存储库位于田纳西州和几个镜子。BLAS和LAPACK的官方Netlib存储库包括:


如何发送查询、评论和建议?

欢迎SLICOT库用户的任何回复,并应通过电子邮件发送至以下地址:正在保护此电子邮件地址免受垃圾邮件攻击。您需要启用JavaScript才能查看它。、或至正在保护此电子邮件地址免受垃圾邮件攻击。您需要启用JavaScript才能查看它。,用于技术问题。这些可能是投诉以及附着力、对SLICOT中新例程的建议或对现有例程的改进,以及检测到的任何SLECOT例程中的错误或bug。


状态

目前,SLICOT库包含280多个用户可调用的子程序。SLICOT指数,libindex.html,使您能够浏览所有用户可调用子例程的文档。该索引还包含一个指向辅助“SLICOT支持例程索引”的链接,该索引可用于浏览html联机文档,查找用户可能感兴趣的所有低级例程(目前包括250多个例程)。

整个库,包括示例程序、数据和结果,都可以使用链接作为文件slicot.tar.gz进行检索SLICOT来源档案另一个组织类似的文件名为slicotPC.zip,包含SLICOT库的Fortran源代码的MS-DOS版本。

此外,可以根据商业许可证获得几个基于SLICOT的MATLAB工具箱。有用于基本分析和综合计算的工具箱,包括结构矩阵分解、线性和维纳系统辨识、模型和控制器简化。可执行的MEX文件可以直接用于在WINDOWS和其他常见平台下运行的最新MATLAB版本。这些MEX文件使用Fortran 90内存分配方案。它们由一系列M文件调用,这些文件也提供了。此外,还包括一些MATLAB测试程序和包含测试数据的MAT文件。新的MEX文件将在可用时添加。使用链接可以查看更多详细信息MATLAB工具箱.

文件中宣布了库内容的未来更改或例行更新(直到下一个SLICOT版本)释放。笔记。以前的更新在文件中按时间倒序进行描述释放。历史.


阿德·范登·布姆和瓦西尔·西蒙,2002年9月2日;更新日期:Vasile Sima,2017年2月9日