×

简单有效的C++矩阵向量库,适用于计算机科学领域的非专业人员。 (英语) Zbl 1264.65229号

摘要:本文介绍了一个用C++语言编写的矩阵-向量计算库。有效的矩阵-矢量操作是科学数值建模的一个重要方面,尤其是在使用有限元方法时。尽管有许多用C++编写的矩阵库可以在Internet上免费或商业化使用,但它们中的大多数要么太复杂,要么太简单,即功能非常有限。因此,其主要思想是开发一个可靠的矩阵库,作为C++中计算机代码的一部分,同时尽可能简单,尽可能复杂。因此,该图书馆的基本座右铭是SMV++,即“简单有效”,旨在为致力于获得可靠结果而非“编程之美”的研究人员所用。该库是在不使用模板概念和继承的情况下开发的,目的是便于理解它,并用新的可能性和算法轻松扩展它。最后但并非最不重要的是,它旨在拥有简单直观的用户界面。归根结底,SMV++并不意味着对从事软件开发业务的人有用。相反,它面向的是那些有一定编程知识的用户(例如博士生),他们基本上关心如何获得所考虑问题的解决方案,为此他必须进行一些“自制编程”,因为可用的商业软件不能满足他/她的所有需要。因此,如前所述,图书馆的座右铭是“简单有效”;有效性是指可能性的复杂性,而不是计算效率。然而,如果在图书馆的开发过程中不得不在这两者之间进行选择,考虑到目标用户,则优先考虑使用的简单性。

MSC公司:

65岁99岁 数值算法的计算机方面
65-04 与数值分析有关的问题的软件、源代码等
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abrahams D.,Boost C++库
[2] 内政部:10.1137/1.9781611971538·doi:10.1137/1.9781611971538
[3] Bathe K.-J.,《工程分析中的有限元程序》(1982年)
[4] Dongarra J.,CLAPACK:C与LAPACK的接口
[5] Dongarra J.,EISPACK公司
[6] Dongarra J.,LAPACK:线性代数包·doi:10.1007/978-0-387-09766-4_152
[7] LINPACK公司的Dongarra J
[8] Dongarra J.,数学和计算科学部,在:IML++:迭代方法库
[9] Galassi M.,GSL:GNU科学图书馆
[10] Gamma E.,《设计模式:可重用面向对象软件的要素》(1995)
[11] Gottschling P.,MTL:矩阵模板库
[12] Habibullah A.,SAP 2000
[13] Hughes T.,《有限元法》(1987)·Zbl 0634.73056号
[14] Lawson C.,BLAS:基本线性代数子程序
[15] Lawson C.,CBLAS:C与BLAS的接口
[16] Lehouch R.,计算与应用数学系,收录于:ARPACK:Arnoldi PACKage
[17] 内政部:10.1016/0045-7949(94)00421-X·Zbl 0885.73095号 ·doi:10.1016/0045-7949(94)00421-X
[18] Lumsdaine A.,ITL:迭代模板库
[19] 麦克尼尔·R,MSC NASTRAN
[20] 内政部:10.1177/109434209701100307·数字对象标识代码:10.1177/109434209701100307
[21] Pozo R.,MV++:矩阵–向量C++库
[22] Pozo R.,数学和计算科学部,在:TNT:模板数值工具包
[23] Pozo R.,LAPACK++:C++中的线性代数包·doi:10.1145/169627.169680
[24] Pozo R.,数学和计算科学部,in:SparseLib++:稀疏矩阵类库
[25] Press W.,《C中的数字食谱:科学计算的艺术》(1993)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。