468得票23回答
Fortran对于大量计算比C更容易优化吗?

我时常听说Fortran在进行大量计算时比C语言更快。这是真的吗?我必须承认,我几乎不了解Fortran,但我目前看到的Fortran代码并没有显示这种语言具有C语言没有的特性。 如果这是真的,请告诉我原因。请不要告诉我哪种语言或库适用于数字计算,我不打算编写应用程序或库来执行此操作,我只是好奇。

165得票8回答
使用Python读取二进制文件

我发现使用Python读取二进制文件特别困难。你能帮我一下吗? 我需要读取这个文件,而在Fortran 90中很容易读取它。int*4 n_particles, n_groups real*4 group_id(n_particles) read (*) n_particles, n_grou...

148得票8回答
BLAS如何获得如此极致的性能?

出于好奇,我决定对比一下自己的矩阵乘法函数和BLAS实现...结果让我大吃一惊: Custom Implementation, 10 trials of 1000x1000 matrix multiplication: Took: 15.76542 seconds. BLAS Imp...

84得票2回答
NumPy为什么比我的Fortran程序快那么多?

我得到了一个512^3的数组,代表着一次模拟中的温度分布(用Fortran编写)。这个数组被存储在一个大约有1/2G大小的二进制文件中。我需要知道这个数组的最小值、最大值和平均值,因为我很快就需要理解Fortran代码,所以我决定尝试一下,并想出了以下非常简单的例程。 integer g...

80得票10回答
在当代学习FORTRAN语言

我最近开始维护一大量的科学计算密集型FORTRAN代码。尽管使用了谷歌和两本入门级书籍,但我仍然难以掌握这种存在已有40年之久的语言的各种细微差别。该代码中充斥着许多“性能提升改进”。请问是否有任何指南或实用建议,可以将FORTRAN降低到CS 101级别?您是否了解FORTRAN代码优化的操...

67得票3回答
Fortran中的integer*4和integer(4)和integer(kind=4)有何区别?

我正在尝试学习Fortran,看到了许多不同的定义,不知道它们是不是在尝试完成同样的事情。以下三者之间有什么区别? integer*4 integer(4) integer(kind=4)

63得票6回答
Why define PI = 4*ATAN(1.d0)

将PI定义为什么的动机是什么?PI=4.D0*DATAN(1.D0) 在Fortran 77代码内部?我知道它是如何工作的,但是推理是什么?

61得票6回答
在Mac OS X上使用brew安装了gcc之后,仍然无法安装scipy,因为缺少Fortran编译器。

我已经阅读并按照这个答案的指示安装了scipy/numpy/theano。然而,在brew install gcc之后,它仍然因为缺少Fortran编译器而失败。尽管HomeBrew安装了gcc-4.8,但它没有安装任何gfortran或g95命令。我认为gfortran可能只是gcc的同义词...

61得票5回答
为什么科学计算中使用Fortran?

我读到Fortran仍然被广泛用于科学计算。对于已经大量投资于Fortran的代码来说,这对我来说是有道理的。 但是,在新项目中使用Fortran是否有其原因?与更受欢迎的语言(C ++,Java,Python,Ruby等)相比,Fortran中是否有语言设计决策使其更适合科学计算?例如,F...

58得票10回答
将整数转换为字符串以在运行时创建输出文件名

我有一个用Fortran编写的程序,它将结果保存到一个文件中。目前我使用以下方式打开该文件:OPEN (1, FILE = 'Output.TXT') 但是,我现在想要运行一个循环,并将每次迭代的结果保存到文件'Output1.TXT','Output2.TXT','Output3.TXT'等...