在我对Haskell,Erlang和Scheme的实验中,我认为函数式编程语言是回答科学问题的绝佳方式.例如,获取一小组数据并对其进行一些广泛的分析以返回重要答案.这非常适合处理一些棘手的Project Euler问题或以原始方式尝试Google Code Jam.
与此同时,它们本质上似乎更适合寻找分析解决方案,而不是实际执行实际任务.我在Haskell中最强烈地注意到这一点,其中所有内容都被懒惰地评估,并且您的整个程序归结为一个巨大的分析解决方案,用于某些给定的数据,您要么硬编码到程序中,要么通过Haskell的有限IO功能搞乱.
基本上,我称之为"实用"的任务如
Aceept a request, find and process requested data, and return it formatted as needed
似乎更直接地翻译成程序语言.最幸运的是我找到了一个像这样工作的函数式语言,我将其比作Python的反向抛光符号版本.
所以我只是好奇我是否错过了这些语言中的某些内容,或者我对如何提出这个问题的方式感到失望.有没有人有功能语言的例子,这些语言非常适合执行最能通过函数式语言执行的实际任务或实际任务?
对于我目前在C++/Qt中的项目,我需要一个库(LGPL是首选),它可以根据信号(基本上是双精度数组)计算频谱图.我已经使用Qwt作为GUI部分.
有什么建议?谢谢.
今天,当我看到一个数据集,其中最小的文件是48000个字段乘1600行(几个人的单倍型,22号染色体)时,我今天刚刚迈出了我的第一个宝贝步骤进入真正的科学计算.这被认为是微不足道的.
我写Python,所以我花了最后几个小时阅读有关HDF5,Numpy和PyTable的内容,但我仍然觉得我并不是真正想要一个TB级数据集对于我作为程序员的实际意义.
例如,有人指出,对于较大的数据集,不可能将整个内容读入内存,不是因为机器内存不足,而是因为架构的地址空间不足!它让我大吃一惊.
还有什么其他的假设我一直在教室里依赖这个大的投入?我需要做些什么才能开始做或以不同的方式思考?(这不一定是Python特定的.)
如果这个问题太宽泛,我会提前道歉.我来自MATLAB世界,对Python的经验相对较少.
在花了一些时间阅读几个基于Python的环境和科学计算的发行版后,我觉得我仍然不完全理解解决方案的前景或一些值得注意的包之间的确切关系,包括:
进一步来说:
不太重要的是,是否有其他类似于上述类似功能的软件包?
提前致谢
我想在科学模式下使用Windows计算器来解决一个非常基本的对数方程,但不幸的是,我不能这样做.
这是问题所在:
log_5 125=?
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助...
好吧,我知道它等于"3",但是,我怎样才能使用Windows计算器来计算这个等式?
我目前正在使用R进行所有科学计算和绘图,但我想探索Python.我一直使用RStudio作为R的IDE,作为IDE,它满足了我对科学计算,数字运算,数据分析和可视化的100%需求.Python有类似的东西吗?基本上是语法高亮,代码完成,智能缩进,直接从源编辑器执行代码,在IDE和版本控制(git)中绘图.
NumPy和/或SciPy的部分是用C/C++编写的吗?
从Python调用C的开销与从Java和/或C#调用C的开销相比如何呢?
我只是想知道对于科学应用来说,Python是比Java还是C#更好的选择.
如果我看看枪战,Python会大幅度减少.但我想这是因为他们不在这些基准测试中使用第三方库.
我正在用C++开始一个新的科学计算项目,并且由于包含了许多数字化的程序,我正在考虑使用Armadillo或Blitz ++来进行有效的数组/矩阵/张量处理.哪一个更好用?
我正在模型上运行实验,其工作流程如下:
我正在使用Git和Scientific Reproducibility作为指南,其中实验的结果存储在提交哈希表中的表中.我想将结果存储在目录中,将目录命名为哈希.
考虑版本控制,我想隔离code和analysis.例如,IPython笔记本中的图中颜色的变化analysis不应该改变任何内容code
我在想的方法:
像这样的目录结构:
model
- code
- simulation_results
- a83bc4
- 23e900
- etc
- analysis
Run Code Online (Sandbox Code Playgroud)
并针对不同的Git仓库code,并analysis留下simulation_results了的Git.
任何意见?更好的解决方案?谢谢.
除了产生不正确的结果之外,科学编程中最令人担忧的一个问题是无法重现您生成的结果.哪些最佳实践有助于确保您的分析具有可重现性?
python ×4
c++ ×2
calculator ×1
fft ×1
git ×1
logarithm ×1
math ×1
numpy ×1
performance ×1
scipy ×1
spectrogram ×1
spectrum ×1
windows ×1