口腔历史:韦恩·考威尔

来自ETHW
跳转到:航行,搜索

关于Wayne Cowell

韦恩·考威尔1954年毕业于威斯康星大学,获得数学博士学位。经过几年的教学贝尔实验室向他介绍了计算机应用。1961年,他加入了阿贡国家实验室,在那里,他对应用数学和计算的兴趣使他参与了NATS、EISPACK、Linpack和Toolpack的创建,所有软件包都是用堡垒用于求解特定类型的方程。

采访的重点是NSF对这些软件包的资助。Cowell描述了基于James Wilkinson理论工作的NATS项目的灵感,并详细介绍了Linpack和Toolpack的工作。他还提到了在苏联入侵阿富汗之前的缓和时期,美苏在托普利茨项目上的合作。他强调他从生产有用的软件中获得的满足感,即使这是以他更多的理论工作为代价的。

关于面试

韦恩·考威尔:安德鲁·戈尔茨坦(Andrew Goldstein)对IEEE历史中心的采访,1991年7月31日

电气与电子工程师协会IEEE历史中心119号访谈。

版权声明

这份手稿仅供研究之用。手稿中的所有文学权利,包括出版权,均归IEEE历史中心所有。未经IEEE历史中心主任的书面许可,不得引用手稿的任何部分进行出版。

应向IEEE历史中心口述历史项目(地址:445 Hoes Lane,Piscataway,NJ 08854 USA)申请出版报价许可,或ieee-history@ieee.org。它应该包括要引用的特定段落的标识、段落的预期用途以及用户的标识。

建议引用以下口述历史:

韦恩·考威尔(Wayne Cowell),美国新泽西州皮斯卡塔韦IEEE历史中心安德鲁·戈尔茨坦(Andrew Goldstein)于1991年主持的口述历史。

面试

采访:韦恩·考威尔博士

采访者:Andy Goldstein

日期:1991年7月31日

地点:电话面试

NATS、ALGOL和詹姆斯·威尔金森

戈尔茨坦:

我们正在写一本书,讨论国家科学基金会的历史及其在美国计算机科学发展中的作用。其中一章将重点介绍NSF支持的研究,我想和大家谈谈你在NSF支持下进行的一些研究,其目标是什么,其后果是什么,它产生的一些影响,以及你和NSF在工作中是如何互动的。

科威尔:

对。我知道那是你的目的。

戈尔茨坦:

翻看国家科学基金会授予的奖项列表,我记下了您在1973年至1978年间从他们那里获得的资金。这可能还不完整,我知道它会在1980年结束。事先可能会有一些。但是你能告诉我这些补助金支持什么吗?

科威尔:

对。我面前没有这个清单,但让我即席发言。我在电子邮件中指出,最初的拨款是在1971年发放的。这支持了我们所称的NATS项目。我不记得我们给它的正式名称,但这个项目的目的是收集数字线性代数中的算法,这些算法是由詹姆斯·威尔金森和他在英国的同事在ALGOL中开发和完善的。我不得不稍微回顾一下历史,说威尔金森是那些对数值数学产生重大影响的人之一。他与国家物理实验室合作,并与同事一起创建了一些高度稳定的算法。但是,除了使用ALGOL的用户之外,计算机用户并没有真正使用它们。在美国,这并不多。

戈尔茨坦:

这些算法只在ALGOL?中实现?

考威尔:

对。它们发表在施普林格·弗拉格(Springer Verlag)大约于1970年出版的一本书中。我们建议采用这些算法中的某些算法,并将其转换为FORTRAN语言。也就是说,对它们进行彻底的测试。

戈尔茨坦:

证明他们的正确性?

考威尔:

正确性证明有一个我们不愿意篡夺的逻辑含义。也就是说,一个算法在逻辑意义上是正确的,这真的超出了我们断言的能力,除了一类非常有限的几乎是玩具的算法。但我们想做的是证明它们经过了非常严格的测试。也就是说,我们对它们进行了极其严格的测试。不仅在我们自己的团队中,我们还收集了测试场地、大学和其他实验室的人员。因此,我们完成了将这些算法转换为一个非常健壮的FORTRAN代码并进行测试的过程。我们还说,我们将以FORTRAN版本分发这些代码,并支持它们。这是一个有趣的断言,因为从某种意义上说,赠款并没有真正提供任何长期支持。但我们确实产生了这些代码。这些年来,它们已经成为那些原始代码的标准。我可以继续后面的工作,但数值线性代数中的原始代码在科学计算中已变得无处不在。

戈尔茨坦:

原始代码仍在FORTRAN中吗?

科威尔:

对。它们当然可以以我们所采用的形式提供,再加上一些后来的修订。但当我说它们无处不在时,我的意思是它们存在于许多科学计算系统中,使用这些系统的人甚至都不知道它们在那里。今天早上我和我的一位同事伯特·加博(Burt Garbow)聊天,他的名字可能会出现在这里,因为他是当时我们团队中的一员。在过去一年半左右的时间里,加博一直在与一些人一起参与阿贡先进光子源项目的工作。DOE为这项工作提供了部分支持。这些人是加速器物理学家,他一直在帮助他们建立一个图书馆。他们有设计磁体和聚焦磁体的系统,以及他们在物理学分支中使用的各种设计系统。当加博进入这些系统时,他意识到它们有早期的常规。使用这些东西的物理学家不需要知道或不知道这些是我们在20年前或更长时间内开发的程序。这只是一个例子。我想我提到了能源部已经确定了大约22个他们一直支持的伟大项目。我这里有他们的小报告。例如,EISPACK和LINPACK项目就属于这一类别。EISPACK和LINPACK是线性代数软件包的名称。

戈尔茨坦:

你说威尔金森做了开创性的工作。他开发了新的数值方法吗?

科威尔:

对。

戈尔茨坦:

然后他把它们写成了算法?

科威尔:

这是对的。

戈尔茨坦:

不久前,我和Dave Young讨论了一些数值方法,他给了我几种方法。威尔金森开发的产品在哪里?我的意思是,有他自己的SOR方法,然后是SSOR方法,还有切比雪夫方法。

科威尔:

正确的。这些是矩阵计算中数值线性代数的例程。它们在威尔金森的工作中特别重要,因为它们是威尔金森分析的很好的例子。威尔金森发展了所谓的反向误差分析。

戈尔茨坦:

因此,这可能是一种完全不同的方法。

科威尔:

对。

戈尔茨坦:

关于那件事你还有更多要说的吗?

科威尔:

人们可以滔滔不绝地谈论吉姆·威尔金森。他是那些非常杰出的人之一。他对我们的影响与我提到的一样。这些年来,我们很了解吉姆。他经常访问阿贡。因此,他意识到并且确实非常支持我们正在做的工作,将这些线性代数算法翻译成FORTRAN。他给了我们很多好的建议。

NSF在NATS中的作用

戈尔茨坦:

还有谁参与了NATS项目?你是这个项目的负责人吗?你有同事吗?

科威尔:

我是领导,但是,是的,有同事参与。我很高兴你提醒了我这一点。这是一个合作项目。阿贡和德克萨斯大学都有国家科学基金会的资助。事实上,戴夫·杨的一名学生实际上是德克萨斯州的首席调查员。那是池部康彦。斯坦福大学的首席研究员是克里夫·莫勒尔.

戈尔茨坦:

作为一个团队,你是否聚在一起,决定这是一个有价值的项目?威尔金森是让你这么做的,还是国家科学基金会找你的?

科威尔:

不是。这个想法是我们在阿贡与大学生讨论后得出的。我们在阿贡的团队中,对威尔金森的工作很感兴趣,我们当时对数值软件也很感兴趣。这个想法实际上是一个协作的想法。事实上,去参加国家科学基金会的想法当时被认为是不寻常的。我们是国家实验室;我们的主要支持者是能源部。当时是原子能委员会。

国家实验室没有进入美国国家科学基金会。这是一个新主意。在撰写提案的过程中,我与几位国家科学基金会的人员就此进行了交谈,他们对我们会参加国家科学基金有点惊讶。我指出,我们正在与两所大学合作,我们来美国国家科学基金会似乎很合适。国家科学基金会有一位名叫Don Aufenkamp的拨款管理人,他看到了这里正在出现的愿景,认为这是一个好主意,他推动了这个想法。但国家科学基金的一些人说,“我们将在这里开拓一些新领域,并给国家实验室一些资金。”

戈尔茨坦:

有没有什么绝望的情况迫使你去美国国家科学基金会?AEC的资金是否枯竭?

科威尔:

它们并没有完全枯竭,但我们的资金有点处于低谷。但我认为主要原因是我们有这个大学协会。在那些日子里,大学在阿贡的管理中发挥了相当重要的作用。事实上,我们对这个项目的讨论是在阿贡大学协会的会议上进行的。AUA曾经是阿贡的管理机构之一。事实上,我们的部分资金是由该AUA开发该提案的。我曾兼职担任AUA总裁助理。因此,它是从与大学的密切联系中产生的,加入国家科学基金会似乎很自然。当然,大学是他们的主要选区。我们也得到了能源部的支持,但在我提到的这份报告中,DOE没有提到NSF。当你写这篇文章时,可能需要处理一个跨部门的问题。

戈尔茨坦:

你还记得谁是主要出资人吗?

科威尔:

对我们来说,这大约是一半。

戈尔茨坦:

还有其他资金来源,比如DARPA或其他什么?

科威尔:

不,只有那两个。对于大学来说,这是严格意义上的NSF。

分发程序

戈尔茨坦:

我懂了。你说它变得无处不在。分配系统是如何工作的?这些程序可用是常识吗?

科威尔:

对。

戈尔茨坦:

有人找你吗?

科威尔:

这是对的。发生了几件事。首先,有一个程序分发组织,今天被称为国家能源软件中心(NESC)。在那些日子里,它有一个不同的名字。我不记得是什么了。它位于阿贡,由能源部资助开发的任何代码都交给了他们,然后他们充当了分销机构。我们还与德克萨斯州休斯顿的国际数学和统计图书馆进行了安排。这是一家从事这项业务的公司。他们知道这些代码当然是公共领域的,因为它们是用公共资金开发的。但他们说,我们认为它们是非常好的代码,我们想以手续费的方式分发它们。他们做到了。他们,IMSL,分发这些代码,因为我想大约需要75美元的费用,差不多足够支付近20年的复制费用。足够长的时间,使得代码真正嵌入到世界各地的软件中。近年来,这些代码成为网络图书馆的一部分。你可以通过向网络地址发送请求来获得它们。

当然,IMSL也采用了这些代码中的某些代码,并在其库中使用它们,这是完全可以的。这些都是公共领域,他们可以做任何他们想做的事。

戈尔茨坦:

你说这些是处理大矩阵的例程吗?

科威尔:

不一定很大。它们是进行所谓的特征分析计算的例程,用于确定矩阵的特征值和特征向量。

戈尔茨坦:

我假设解偏微分方程?还是一个大型线性方程组?

科威尔:

当然,这将是一个应用程序。

戈尔茨坦:

它们是通用的吗?

科威尔:

这是基本的数值软件。也就是说,特征分析计算的基本意义与求平方根的意义相同。

戈尔茨坦:

我只是想知道你在设计它们的时候,是否针对特定的应用进行了调整或设计?

科威尔:

不,我们没有。我们有意使其通用。

戈尔茨坦:

您的大多数客户是大学还是行业选择了它?

科威尔:

以上都是肯定的。事实证明,我们并不是分销商。正如我所说,软件中心和IMSL分发了这些东西。他们会给我们发送名单,IMSL会给我们发去他们寄给过的人的名单,其中包括了所有可以想象的机构。

戈尔茨坦:

保养方面有很多工作吗?你说过要维护这些。

科威尔:

没有。代码很好,有时我们会接到一个电话,说:“哎呀,我发现了这种有趣的行为,”或其他什么,然后我们会对此进行调查。但事实证明,这几乎是我们可以做到的。这不是我们的主要活动。

林帕克

戈尔茨坦:

这个项目是Linpack的先驱吗?

科威尔:

确实如此。

戈尔茨坦:

Linpack是如何发展的?

考威尔:

Linpack实际上是威尔金森例程的另一个集合。它是模仿NATS的模式,因为它涉及许多相同的人。有一些新人参与其中。我认为这笔赠款是给阿贡和马里兰大学的。到那时,我们已经决定申请小额赠款,用于此验收测试的现场测试。在NATS项目中,虽然我们有一点钱来支付项目会议等费用,但我们只是为此招募了志愿者。

戈尔茨坦:

你说的验收测试是指?

科威尔:

现场测试。我们周围有测试场地。我们在多所大学和实验室对软件进行了现场测试。他们为此获得了小额拨款。实际开发的主要拨款来自阿贡大学,我认为是马里兰大学(皮特·斯图尔特所在地),以及新墨西哥大学,因为莫勒当时已经从斯坦福搬到新墨西哥州。

戈尔茨坦:

这与EISPACK和NATS项目有什么不同?

科威尔:

这很相似。也就是说,项目的实施和结果非常相似。事实上,我们开始使用的算法也来自威尔金森。

戈尔茨坦:

他们解决了其他系统吗?

科威尔:

对。他们求解线性系统,而不是进行特征分析。你知道,这些并不稀少。这些是完整的系统。

戈尔茨坦:

从这一点上来说,它不同于扬或格鲁布正在做的工作?

科威尔:

是的,或者是伊恩·杜福尔。已经出版了一些手册。EISPACK在Springer Verlag的“计算机科学讲义”系列中分为两卷。

戈尔茨坦:

该出版物是由国家科学基金会资助的还是由出版商资助的?

科威尔:

出版商。我们刚刚把一份准备好照相的手稿交给了他。1979年,SIAM出版了《Linpack用户指南》。我知道这是SIAM出版物中的畅销书。SIAM是工业和应用数学协会。

戈尔茨坦:

你有很多回头客,那些一直在使用EISPACK的人,或者这是针对不同的受众?

科威尔:

不,它是在向同一个听众讲话;它实际上只是增加了从ALGOL中翻译出来并经过彻底测试的程序库。EISPACK和Linpack虽然来自不同的项目,但它们确实关系密切。如今,人们倾向于将EISPACK和Linpack放在一起说,好像他们真的有着相同的起源。从某种意义上来说,他们做到了,但从国家科学基金会的角度来看,他们是不同的项目。到Linpack出现的时候,我们已经基本上放弃了所有大写字母的软件命名。

戈尔茨坦:

我想确保我有一次包项目的明确时间表。

科威尔:

对。

工具包和其他包

戈尔茨坦:

还有什么?

科威尔:

Minpack和最近几年的LApack。

后者有国家科学基金的资助。那时我已经加入了Toolpack,所以Jack Dongarra是LApack的项目负责人。Toolpack不是一个专门面向数字线性代数的项目。你专注于数值线性代数吗?

戈尔茨坦:

就本次采访而言,是的,尽管关于研究的章节实际上讨论了许多不同的主题,如计算机理论、图形、接口和编码理论。数值分析是一个完整的部分。

科威尔:

我不知道如何确切地对其进行分类,但国家科学基金会为工具包项目提供了资金。我们一定是在1979年或1980年获得了最初的拨款。我们与科罗拉多大学和亚利桑那大学合作。

戈尔茨坦:

如果这不在数值分析中,你是否有专门知识来进行这方面的工作,或者只是简单地组织起来?

科威尔:

我们对它进行了重组。我们引进了新的人才。这不是具体的数值分析。它需要一种不同的才能。然而,这是针对开发高质量科学软件的问题。我们制作了一组FORTRAN工具来帮助开发此软件的程序员。用于分析FORTRAN程序、检测语义错误并重新格式化它们的工具,以及我们在EISPACK和Linpack项目中手工完成的许多工作。我们认为,一系列软件工具将对这种程序开发有很大帮助。因此,我们确实得到了NSF和DOE的支持。到那时,与能源部合作的想法已经确立。因此,能源部和国家科学基金会实际上明确表示同意。项目经理们聚在一起说,我们将共同支持这个工具包项目。

戈尔茨坦:

此时,您是否已经开始从用户社区获得一些关于这些包应该包括什么以及它们应该如何工作的信息?

科威尔:

对。事实上,Toolpack的想法来自用户社区。加州大学圣巴巴拉分校的一位名叫韦尔布·米勒的教授在帕萨迪纳的一次会议上起身,他说:“我们需要另一个包。”他说,“我们需要一个工具包。开发工具包的方法应该仿效EISPACK和Linpack项目。”

戈尔茨坦:

这就是你被带进来的原因?

科威尔:

对。

戈尔茨坦:

在这种情况下,你当时也受到了NSF的邀请吗?

科威尔:

韦尔布·米勒(Welb Miller)与国家安全基金会(NSF)保持密切联系,他向我们提出了邀请,我们联系了NSF。

戈尔茨坦:

你和NSF有多少互动?他们是否对包的性质或其功能提供了任何信息?

科威尔:

在技术层面上并非如此。当我们与他们接触时,我们提出了初步建议。让我举个例子。我记得我和马里兰大学的皮特·斯图尔特(Pete Stewart)一起去了华盛顿,与美国国家科学基金会(NSF)的一位项目经理坐在一起,我们说:“这就是我们想要做的,这个Linpack想法就是我们想做的。它以EISPACK为模板。我们有这些想法。我们将为您写一份招股说明书,供您评论。”所以我们回去写了一份招股说明书,然后寄给了他。他说:“这是一个好主意。请给我们一个建议。”所以,可以说,我们不仅仅是在横框上放弃了一个提议。我们确实与他们进行了互动。他们没有在“哎呀,我们认为这个例行程序应该包含在程序包中”或“我们认为你应该做那个特定的例行程序”这一层面上给我们提供指导。国家科学基金会的人知道,来他们那里的人比他们更了解这个领域。但我们要做的是证明,这些人不仅是该领域的专家,他们还想从事这个特定的项目;他们想以这种特殊的方式利用自己的专长。大学教授总是想开发软件,这并不一定是真的。你必须宣传这样一种观点,即这些在大学和国家实验室享有良好声誉的人确实将致力于这方面的工作,他们将产生这种结果,他们相信这是对科学的良好贡献。

戈尔茨坦:

你能回忆起你提交给NSF的预算中的任何项目吗?他们是否为电脑时间、员工时间或其他时间提供资金?

科威尔:

对。我认为预算中最大的一部分可能是用于员工的努力。有旅行。有一些电脑时间。这不是一个真正的主要项目。主要是人、旅行和一些电脑时间,其中人是主要项目。

包装年表

戈尔茨坦:

我打断了你的脚步。你正在描述其他一些包,如果我能得到一个年表,我想知道是什么时候来的。

科威尔:

正如我所说,主要包是EISPACK、Funpack、Linpack、Minpack和Toolpack。Minpack是最小化例程的集合。Funpack是一个特殊函数例程的集合。我认为这可能是正确的顺序。安迪,有很多背包,但这些都是我们主要参与的。

戈尔茨坦:

其他人在其他领域也采用了标准吗?

考威尔:

你可能听说过鱼鹰或Elpack。

戈尔茨坦:

是否有任何协调?

科威尔:

不是真的。除了我们认识社区里做这些事情的人。我认为,公平地说,我们的包是他们对如何进行项目进行大量思考的模型。但我们不是资金或工作的一部分。

FORTRAN的持续相关性

戈尔茨坦:

有一件事我很好奇。这可能是一个现代的观点,如果是的话,你应该告诉我,但是当你谈论在FORTRAN中实现这些例程时,我可以看到这样做的意义,但在当前,FORTRAN不是通用语言就是那时,是吗?

科威尔:

这是一个有趣的问题。计算机科学家会告诉你,事实并非如此。走进科学界,与从事化学、物理和工程的人们交谈,你会发现FORTRAN仍然是首选语言。

戈尔茨坦:

我懂了。所以在当时,毫无疑问,这是一个有用的-

科威尔:

不,不是真的。对于代码开发对于大学人员和研究型人员来说是否值得进行,可能存在争议。

招聘人员

戈尔茨坦:

这很有趣。你在招募人员从事这项工作时遇到困难吗?

科威尔:

不,不是真的。因为这毕竟是一个小团体。实际上并没有太多的招聘。我们需要这样做,这是我们之间的一个共识。这里有一个志同道合的小组,所以我们不必出去说服很多其他人,因为我们在开始项目之前已经组建了这个小组。

戈尔茨坦:

看到你的工作被公认为最重要的工作之一,这是否证明了这是一种有用的消磨时间的方式?

科威尔:

对。对我来说是这样的。我想,如果我花更多的时间学习理论计算机科学和数学,发表更多的论文,减少对计算软件的研究,我可能会有更长的出版清单,但总而言之,当你看到什么能给你带来满足感,以及它所产生的影响时,我不想改变我们所做的。

算法见解

戈尔茨坦:

在你的工作中,你是否仅仅通过尝试实现算法就对算法或数值分析有了任何见解?

科威尔:

好问题。威尔金森和其他开发人员收到了反馈。我想我不能随便举一个真正出色的例子,因为算法确实开发得很好。但在细节层面上,我们确实发现了一些对威尔金森进行分析时有用的东西。所以,是的,有反馈。这可能不是该项目的主要方面之一。

苏联和托普利茨项目

科威尔:

你的拨款清单中有没有与苏联合作有关的内容?

戈尔茨坦:

事实上,我看到了美国和苏联的合作,但我不知道是否是在这个项目上。请告诉我这件事。

科威尔:


音频文件
MP3音频
(119_-_cowl_-_clip_1.mp3)

可以。我早些时候提到了唐·奥芬坎普。他是美国国家科学基金会的一员,当我们加入NATS项目时,他看到我们正在做他喜欢的事情,他以各种方式鼓励我们。他后来在国家科学基金会找到了另一份工作。1972年,美国总统理查德·尼克松(Richard Nixon)和苏联总理勒诺德·布列什涅夫(Lenoid Breshnev)签署了一项条约,呼吁美国和苏联之间进行科学和文化交流。它有很多不同的方面和层次。这是一件相当官僚的事情。这笔钱来自国务院,但由国家科学基金会管理。奥芬坎普负责管理这场美苏交流的一部分。所以他来找我们,他说:“嘿,我认为沿着这个数字软件开发的路线,这个高质量的软件开发,会成为一个很好的苏联交换项目。”莫斯科国立大学有一个小组对软件感兴趣。所以他把我们联系在一起,在几年的时间里进行了互访。

苏联人来看我们;我们去了莫斯科几次。结果就是一个名为Toeplitz的软件包。它没有包名称。实际上,托普利茨是以一个人的名字命名的。它是一组线性代数例程的集合,用于解决一类称为Toeplitz系统的特定线性代数系统。这些在信号减少和其他方面都很重要。结果是一个软件集合。我们打算在包装之后对这个联合项目进行模式化,我们将拥有苏联试验场和美国试验场。我们发现,在苏联,这并非易事。我们发现,与莫斯科州立大学的人一起工作很有趣,但这个系统很笨重,想打电话给某人说“嘿,你能测试一些软件吗”几乎是不可能的。因此,我们与莫斯科州立大学的这一小组进行了良好的互动,但我们并没有真正实施苏联式的全面包装项目。

戈尔茨坦:

你打算在苏联和美国都使用它吗。?

科威尔:

对。我们打算在这两个国家出版它,它是用FORTRAN语言出版的,他们的FORTRAN语言和我们的一样,所以他们可能在代码中有俄文注释,但他们甚至不想这样。他们想要英文评论。总之,在我们真正完成这件事之前,苏联入侵阿富汗,卡特总统关闭了整个计划。好吧,从某种意义上说,我们确实完成了它,因为托普利茨确实存在,它已经被记录下来,并且已经被分发。我面前的用户指南上有八个名字,其中四个是俄罗斯人,四个是美国人。

戈尔茨坦:

Toeplitz项目是什么时候开始的?你说这是1972年条约规定的?

考威尔:

正确的。那是条约签署的时候。大约在20世纪70年代中期,该项目完成了,因为我记得1978年曾访问过莫斯科,我看到《Toeplitz用户指南》的日期是1983年10月。我们自己完成了。

戈尔茨坦:

美国捐助者?

科威尔:

是的,我们在美国推出了它,但我们再也没有买过。

戈尔茨坦:

这个项目是如何诞生的?你说国家科学基金会从国务院获得了一些资金来赞助这次科学交流?

科威尔:

对。

戈尔茨坦:

谁决定了这个项目?

科威尔:

奥芬坎普。我们向他提交了建议。国家科学基金会(NSF)提供资助,国务院利用这些资助进行实际选择。

戈尔茨坦:

是否有大量可能的拨款提议,然后奥芬恩坎普决定苏联将合作哪些?

科威尔:

我真的不知道。可能。

戈尔茨坦:

但你没有将此作为美苏联合提案提交吗?

科威尔:

我们提交了一份与苏联联合工作的提案。我记得,过程是这样的。其中一个苏联人在美国待了一年,我想是在宾夕法尼亚州立大学,奥芬坎普打电话给我们,说:“你愿意过来和这个家伙谈谈吗?让我们去宾夕法尼亚州立大学和他谈一个联合项目。”于是,我们就这样做了,并以此为基础写了一份提案。

戈尔茨坦:

这很有趣。在这种情况下,国家安全基金会似乎相当积极主动地将您与他一起制定一项提案。

科威尔:

正确的。事实上,我认为奥芬坎普并不适合通常的NSF模式。他没有等待别人有一个好主意。他有点认可那些容易有好主意的人,并鼓励他们。

戈尔茨坦:

还有其他例子吗?

科威尔:

约翰·帕斯塔(John Pasta)和肯特·柯蒂斯(Kent Curtis)在国家科学基金会(NSF)都是一个好人。这些人现在已经死了,但他们都是好人。

包装项目工作人员

戈尔茨坦:

20世纪80年代发生了什么?

科威尔:

在工具包项目之后,我本人没有再向国家科学基金会提出任何建议。我从阿贡的能源部得到了我想要的支持,我想在软件工具上做的研究,这就是我的研究的方向。然而,你必须有一些建议,你必须对一个叫杰克·东加拉的家伙有一些资助。

戈尔茨坦:

对。

考威尔:

杰克曾参与过Linpack项目。在Linpack项目中,他算是一个初级人员,但他确实展现了自己的能力,成为了一名真正的领导者,并在20世纪80年代继续领导LApack项目。

戈尔茨坦:

你之前说过,这并不是说服人们去做这件事的问题。当时只有少数人。有多少人?

科威尔:

当我们在做NATS时,我们开了一个项目会议,我想大概有六个人在那里。

戈尔茨坦:

大学里的人让研究生参与进来了吗?

科威尔:

对。我想说,任何一个机构参与的这些项目都只涉及两三个人,一位教授和几个研究生。在阿贡,可能会有三名高级职员和几名初级职员。

戈尔茨坦:

所以即使是Linpack也只限于十几个人?

科威尔:

对。即使您包括测试站点代表。我认为对于EISPACK和Linpack,我们有多达几十个测试点。如果我们把他们都召集到一起,那么我们的房间里可能会有25或30个人。这些人中的大多数人为项目做的事情非常有限。他们没有收到任何主要资金。

戈尔茨坦:

Linpack的反馈有什么不同吗?

科威尔:

基本上是一样的。我认为我们有点走上了这条路,我们基本上坚持了下来。

打包算法的使用

戈尔茨坦:

当我写这篇文章时,我想描述一下这项工作的性质,就像我在本次对话开始时所说的,然后再描述一下它的一些影响。你有什么要评论的吗?你觉得我应该包括什么?

科威尔:

我不知道我需要补充我已经说过的话。我已经谈到了它的影响,我的感觉是,它正在走向许多不同的地方,被许多不同的人使用;这就是满足感的来源。你去参加一个会议,你会听到有人说,“嘿,我前几天看到一个EISPACK例程以这样或那样的方式被使用,”我并不总是记得他们说的所有这些使用方式,但这很令人满意。

戈尔茨坦:

这很有趣。我不确定我有这个。所有的例程是在一个包中发布的,还是在一个包中发布的,但人们只从库中挑选出他们需要的例程?

科威尔:

对。其中大多数用作一个小子集。也就是说,你有一个特殊的特征问题需要解决。您通常会以某种方式将两个或三个或四个此类串在一起。这可能就是你解决这个问题的方法。如果你有一个不同的特征问题,你将使用另一个子集。

戈尔茨坦:

EISPACK或Linpack中的子模块是否命名?他们有标识符吗?

科威尔:

当然,所有的例程都是命名的,并且有一个命名约定,我们专门用于Linpack。如果您知道命名约定,它会告诉您它是双精度例程还是单精度例程,以及它解决的基本矩阵问题。但你必须知道如何解码这些名字。

戈尔茨坦:

需要知道的一件事是,有任何未包括的主要问题,例如Linpack无法处理的常见矩阵系统,然后是什么原因?

科威尔:

对。Linpack的目标是全矩阵。EISPACK和Linpack都针对完整矩阵,而不是稀疏矩阵。整个稀疏矩阵类是另一个完整的字段,EISPACK和Linpack并没有解决这个问题。有解决稀疏问题的包。我认为,事实上,有一种叫Sparsepack。我不知道国家科学基金会在资助它方面起到了什么作用。

个人简介

戈尔茨坦:

让我问你一些个人信息。

科威尔:

当然。

戈尔茨坦:

你什么时候获得博士学位的,在什么领域?

科威尔:

威斯康星大学,1954年,数学。

戈尔茨坦:

你是如何参与计算机软件的?

科威尔:

嗯,我教了几年数学,然后我去了贝尔实验室在新泽西州默里山(Murray Hill,NJ)学习了计算机应用程序,对计算机产生了浓厚的兴趣,几年后,也就是1961年,我来到了阿贡(Argonne)。那时我对应用数学和计算感兴趣。从那以后我一直在这里。

戈尔茨坦:

再见。

科威尔:

再见。