小编fed*_*asu的帖子

为什么多态性在haskell(GHC)中如此昂贵?

我问与refernce这个问题 SO问题.Don Stewart接受的答案:第一行说"您的代码是高度多态的,将所有浮动变量改为Double ...",它提供了4倍的性能提升.

我有兴趣在Haskell中进行矩阵计算,我应该养成编写高度单态代码的习惯吗?

但是有些语言很好地利用了ad-hoc多态来生成快速代码,为什么GHC不会或不能呢?(阅读C++或D)

为什么我们不能为Haskell提供类似blitz ++或eigen的东西?我不明白GHC中的类型和(ad-hoc)多态性是如何工作的.

c++ haskell matrix monomorphism

19
推荐指数
3
解决办法
1078
查看次数

当我知道u和v组件的速度(numpy 2d数组)时,如何使用python中的绘图程序绘制流线图?

我希望标题本身很清楚,我正在使用分步法,有限差分公式(Navier-Stokes原始变量形式)解决2D盖子驱动腔(方域)问题,我得到了u和v的速度分量.整个领域,没有手动计算流线,是否有一个命令或绘图工具为我做的工作?

我希望这个问题与编程有关,因为我需要一个绘制流线图的工具而不需要明确地计算它们.

我在流 - 涡度NS形式中解决了同样的问题,我只需要采用流函数的等高线图来获得流线型.

我希望工具或绘图仪是一个python库,并且更多可以在fedora中安装(我可以妥协并使用薄荷)而不用大惊小怪!

如果有人指出图书馆和相关命令(会节省很多时间),我将不胜感激

python velocity numpy matplotlib scipy

17
推荐指数
1
解决办法
3万
查看次数

numpy中的均方根和矩阵和numpy阵列的并发症

任何人都可以指导我到numpy手册的部分,我可以获得函数来完成均方根计算...(我知道这可以使用np.mean和np.abs完成..不是内置的...如果没有原因??只是好奇..没有进攻)

任何人都可以解释矩阵和数组的复杂性(仅在以下情况):

U是矩阵(T-by-N,或者说是T cross N),Ue是另一个矩阵(T-by-N)我定义k为numpy数组

U[ind,:] 仍然是矩阵

以下列方式 k = np.array(U[ind,:])

当我打印k或输入kipython时

它显示以下内容

K = array ([[2,.3 .....
              ......
                9]])
Run Code Online (Sandbox Code Playgroud)

你会看到双方括号(这使我觉得它是多暗的),它给它的形状=(1,N)

但我不能将它分配给以这种方式定义的数组

l = np.zeros(N)
shape = (,N) or perhaps (N,) something like that

l[:] = k[:]
error:
matrix dimensions incompatible
Run Code Online (Sandbox Code Playgroud)

有没有办法完成我打算做的矢量分配...请不要告诉我这样做l = k(这会失败目的......我在程序中得到不同的错误......我知道原因..如果你需要我可以附上这段代码)

写一个循环是愚蠢的方式..我暂时使用...

我希望我能够解释......我面临的问题......

问候 ...

python numpy

13
推荐指数
5
解决办法
7万
查看次数

Lua相当于NumPy和SciPy?

我正在考虑学习lua,我了解到它与python相比是一种更小的语言,并且以LuaJIT的形式具有高效的JIT编译器实现.

我想知道是否有可能使用lua我使用python与Numpy + Scipy的方式.如果Lua有numpy + scipy等效,它是否有matplotlib等价物?

python lua numpy

11
推荐指数
3
解决办法
3760
查看次数

什么是完全类型推断的语言?这种语言的局限性?

据我所知,任何编程语言都不需要在编写函数或模块时在源代码中编写类型注释,如果该代码块是"类型正确的",编译器将推断类型并编译代码.还有更多吗?

有这样的语言吗?如果是,它的类型系统有任何限制吗?

更新1:为了非常清楚,我问的是静态类型的,完全类型推断的编程语言,而不是动态类型编程语言.

types type-systems programming-languages functional-programming type-inference

8
推荐指数
2
解决办法
2311
查看次数

在scipy中导入模块有什么问题,这是一个错误吗?

好吧,我不认为,我可以用文字解释这个问题所以,这里是ipython会话的片段,我导入scipy,以构建一个稀疏矩阵.

In [1]: import scipy as sp

In [2]: a = sp.sparse.lil_matrix((5,5))
        ---------------------------------------------------------------------------
        AttributeError                            Traceback (most recent call last)
       /home/liveuser/<ipython-input-2-b5a55fc2d0ac> in <module>()
        ----> 1 a = sp.sparse.lil_matrix((5,5))

        AttributeError: 'module' object has no attribute 'sparse'

In [3]: import scipy.sparse as spar

In [4]: ax = spar.lil_matrix((5,5))

In [5]: a = sp.sparse.lil_matrix((5,5)) # you are kidding me?

In [6]: a
Out[6]: 
       <5x5 sparse matrix of type '<type 'numpy.float64'>'
       with 0 stored elements in LInked List format>

In [7]: ax
Out[7]: 
       <5x5 sparse …
Run Code Online (Sandbox Code Playgroud)

python scipy sparse-matrix

6
推荐指数
1
解决办法
1万
查看次数

C++中的Fortran风格的多维数组

是否有一个C++库提供Fortran风格的多维数组,支持切片,作为过程参数传递和体面的文档?我已经看过闪电战++,但已经死了!

c++ fortran multidimensional-array

6
推荐指数
1
解决办法
966
查看次数

fortran中的字符串和使用它们的文件名

这是麻烦......我正在动态构建(而不是改变)一个包含数字(数字)的字符串(比如有文件名out01.txt,out02.txt等...)

我的程序工作正常(我使用最后更新的值字符串来命名文件并编辑该文件)...但是在"ls"命令的同一目录中,我可以看到创建的文件并通过文件浏览器我可以访问但它从命令行使用vim,gedit我无法打开它同名的新文件正在打开...而且我无法从命令行删除该文件(rm out010.txt'没有这样的文件或目录)这里是代码,我可能无法解释我的问题但代码会说明一切......

program strtest
implicit none
 character(len=1024)::filen,format_str
 integer::i
 format_str="(a5,i0.3,'.txt')"
 do i=1,10 
  write(filen,format_str)'out',i
 end do
write(*,*)trim(filen)
open(23,file=trim(filen))
write(23,*)"what a mess!"
close(23)
stop
end program strtest
Run Code Online (Sandbox Code Playgroud)

注意:即使不在文件打开语句中使用trim()函数,我也有同样的问题

请解释一下我的情况!!

问候 ...

string fortran

5
推荐指数
2
解决办法
3620
查看次数

为教堂编程语言建议文本编辑器或IDE

我想在教堂里写一些简短的数字程序.有人可以告诉IDE或文本编辑器支持教堂(chapel-aware)的代码突出显示,是否有一个elisp文件emacs?我不喜欢vim,即使脚本vim存在.

我试着搜索,但找不到任何东西.我既不知道emacs-lisp也不完全了解教堂的语法,以配置它以使这个教堂意识到.

editor chapel

5
推荐指数
1
解决办法
1372
查看次数

项目欧拉:解决问题#5的一个(更好的)方法?

你可能知道项目欧拉问题5:得到所有数字1到20的最小数字.

我应用的逻辑是"从第一个数字开始,大于列表中最大的数字(20),也可以被40整除,步长为20(最大数字)

我使用列表理解做到了这一点,但它非常蹩脚.

pe5 = head    [x|x<-[40,60..],x`mod`3==0,x`mod`4==0,x`mod`6==0,x`mod`7==0,x`mod`8==0,x`mod`9==0,x`mod`11==0,x`mod`12==0,x`mod`13==0,x`mod`14==0,x`mod`15==0,x`mod`16==0,x`mod`17==0,x`mod`18==0,x`mod`19==0] 
Run Code Online (Sandbox Code Playgroud)

我们可以更好地使用zipWith和过滤器吗?

只是为了澄清,这不是一项家庭作业.我这样做是为了将我的大脑包裹在Haskell周围.(到目前为止我输了!)

:Thanx all

我认为这是一种更为理智的方式(可能还有更多方法,但这就足够了)

listlcm'::(Integral a)=> [a] -> a
listlcm' [x] = x
listlcm' (x:xs) = lcm x (listlcm' xs)  
Run Code Online (Sandbox Code Playgroud)

haskell

4
推荐指数
2
解决办法
1071
查看次数

如何从writeStream获取文件名?

这是我想做的:

stream = fs.WriteStream('crap.txt',{flags:'w'};
// more code
response.on('close',function() {
      // is the below line possible?
      fs.stat(stream.name, function(stats) {
            console.log(stats.size);
      });
      stream.end();
});
Run Code Online (Sandbox Code Playgroud)

那么我可以从流对象获取文件名吗?结合可写流上的优秀教程/文档(包含示例),一个示例性示例将是一个不错的选择。

javascript stream node.js

2
推荐指数
1
解决办法
3912
查看次数