15个问题:John D 'Errico
我们的下一个采访在MATLAB Central 15th周年纪念日级数是约翰D 'Errico.他是一个社区全明星,积极参与文件交换和MATLAB答案。他已经使用MATLAB超过30年了。
约翰职业生涯的大部分时间都在伊士曼柯达公司为数学编写工具箱。他现在退休了,住在纽约北部。
感谢约翰同意接受这次虚拟采访。
约翰·迪里科:我记得我很早就被释放了,大约在1984-85年。那时候我的Mac有128K内存,运行在3.5英寸的软盘驱动器上。当时,我并没有深入研究MATLAB,只是粗略地看了一眼,因为我目前的客户都在使用我开发的APL工具集。我第一次接触MATLAB非常短暂。我真希望我保留了那张原始的软盘。现在它就是古董了!
JD:在1986- 1987年左右,我开始更多地与柯达的色彩科学组织合作。他们的问题需要大规模的线性代数解决。金宝搏官方网站(事实上,这是我第一次开发文件交换工具的想法gridfit为基础)。所以我决定用Fortran编写相同的代码,这花了我几周的时间来编写和调试。大约在那时,我也开始使用柯达的ColorSense程序,这是一个完全使用MATLAB的团队。所以,很自然地,我决定重写这个工具,但在MATLAB中做。重写到MATLAB中几乎只花了一天的时间就能运行起来,对于一个给定大小的问题,它在我的台式计算机上用MATLAB运行要比在主机上快得多。这些都是3.2或3.5版本,在MATLAB中引入稀疏矩阵功能之前。无论如何,我能够轻松地构建工具,让它们运行,以及我可以快速地进行计算,这让我立即转向了MATLAB。当然,当我能够让这些想法在稀疏矩阵中运行时,它们飞得非常快。我们突然能够解决那些对我们来说巨大的问题,在几秒钟内得到答案。
我们开发ColorSense的团队非常有趣,教会了我很多东西。每周五下午,我们会开一个会议,对我们在MATLAB中构建的工具进行同行评审。在我们编写的任何代码被允许转移到公共区域供小组的其他成员使用之前,我们的代码必须通过严格的同行评审,无论是在数值方面还是在文档方面。让你的代码通过审核可能很困难,但当它通过审核时,代码会完美地工作,文档也非常清晰。这可能就是为什么我有时会对那些在File Exchange上发布工具的人显得很强硬的原因。我希望他们的代码运行良好,但也可用。你可以学习编写优秀的软件,但如果没有人告诉你怎么做,那就不会发生。
JD:我在柯达的整个职业生涯,都是公司里任何地方的人来找我,当他们需要使用样条曲线或优化问题时,等等。柯达当时是一家大公司。有时我看到一个有趣的问题有一个很好的解决方案,所以我会写另一个工具,或者一个完整的工具箱。诀窍在于将积累的知识传递给他人。这就是像Answers这样的网站所提供的,一种传递知识库的方式,一次构建一个问题。
几年前,我们工作小组每周都有一次足球赌注。每周你投入一美元,并标记哪支球队将赢得他们的比赛。所以作为一个数学专家,我决定每周建立一个模型,这个模型是由我收集到的所有统计数据逐渐建立起来的(时间表的强度,主场优势等)。选择最正确的人赢得了奖金(所以可能是15- 20美元)。到这个赛季的最后一个星期,我没有赢过一个星期,但我有这个赛季最好的战绩。我的累积统计模型的赔率是58%,但我从未赢过一分钱。就在最后一周,除了牛仔队(Cowboys)和巨人队(Giants)的比赛,我从模型中选择了顺位。我当时是牛仔队的球迷,我就是不能选巨人队。所以我换了一个,与我的模型预测相反。那一周我又输了,但如果我按照我的模型所做的预测去做,我最终会赢得那一周的胜利。
JD:当我从柯达退休后,我决定做一些有用的事情,做一些志愿者工作。合乎逻辑的事情似乎是提供工具给别人使用,因为我本质上一直是一个工具制造者。在“答案”出现之前,我已经尝试回答问题很多年了。
JD:在我作为数学家的职业生涯中,每隔一段时间就会出现一个问题,它暗示了我从未见过的想法,以解决一些我从未想过要解决的问题。这些通常无害的问题可能是让我想到新工具的种子。这样的工具interparc,使用网格拟合的表面拟合,distance2curve,fminsearchbnd fminsearchcon,inpaint_nans,自适应鲁棒数值微分,nearestSPD,逆(积分)梯度,集运商,整数的分区等。
对我来说,是文件交换。像MATLAB这样的语言的一个优点是可扩展性。每个人都有不同的问题要解决。虽然MATLAB尝试做很多事情,为各种各样的问题提供各种各样的解决方案,但也有限制,有些事情是无法想象的。金宝搏官方网站因此,如果有人需要解决问题X,他们可以查看File Exchange,通常会发现其他人已经遇到了相同的问题。
JD:我喜欢看到有人能把我发布的东西拿出来,并把它更进一步,扩展我发现的想法,然后对它进行改进。因为这意味着我能够触发另一个人的创造性洞察力。我们一起努力做出了比我们任何一个人单枪匹马都更好的东西。这让我感到骄傲。
JD:看看你的软件,就好像你是一个完全不知道如何使用代码的新用户,不知道它能做什么,不知道如何运行它,不知道它需要什么输入,不知道它输出什么。是公正的。假装这不是你的工作,而是你发现了它,现在你需要使用它。通过跑步来解决你的具体问题有多容易?
JD:Chebfun.这是一个美丽的想法,可以让你解决一大堆问题,但与解决这些问题的一些经典解决方案相比,它的工作方式完全不同。金宝搏官方网站
人们为了解决某个特定问题而发布的东西,通常可以用在完全不同的、意想不到的方式上。这迫使我在我提供的工具中构建了许多替代选项,因为我知道其他人会以我没有预见到的方式使用我发布的工具。
JD:我喜欢在MATLAB Answers上看到一个问题,这表明人们关心答案,关心理解问题。每隔一段时间,我就会看到我能够触发“啊哈!”的时刻。我也喜欢听到有人可能在他们的工作中使用我在File Exchange上发布的工具之一,或者作为他们论文或论文的一些重要部分。
凯西和我喜欢呆在家里。我们的问题是,这是我们的日落,我们为什么要去任何地方?(从我们的甲板上)
这是我一直以来最喜欢的日出之一——基本上是在我电脑旁边的窗户外拍摄的冬季日出。
还有我们的小艾米,在楼梯顶上。
所以我们似乎经常呆在家里。:)
JD:我喜欢打桥牌(很久以前我用MATLAB写了一个桥牌手模拟工具)。我也喜欢木工和木工。我们家所有的灯都是手工制作的。我翻过碗、高脚杯、盘子、钢笔、时钟、桌子等。基本上,用木头、金属或塑料做任何东西都很有趣。但即使在我的店里,我喜欢做的一件事就是自己制作木工工具。我本质上是个工具制造者。
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。