【发布时间】:2015-11-05 03:38:26
【问题描述】:
几天前我决定尝试 julia,并尝试将我的一个 python 项目翻译成 julia。我知道使用类型系统对于良好的性能至关重要。但是,我在 python 中有这样的东西:
class Phonon(object):
# it has an attribute called D which looks like
# D = {'on_site': [D00, D11, D22, D33 ...], 'lead':{'l': [Dl00, Dl01, Dl11], 'r': [Dr00, Dr01, Dr11]},'couple': [D01, D12, D23 ...], 'lead_center':{'l': Dlcl, 'r': Dlcr}}
# all D00, D11, D22 matrices are numpy arrays
如果我把它翻译成朱莉娅,那就是:
type Phonon:
D::Dict{ASCIIString, Any}
end
编译器似乎无法获得关于phonons 是什么的太多信息。所以我的问题是:Julia 人如何组织他们的复杂数据?
【问题讨论】:
-
如何使用composite type 和 zip
D? -
我试过了,但
D['onsite']仍然是Array{Any, 1}。然后我必须定义另一个复合类型。听起来不太好。 -
你的 numpy 数组是什么样子的?
-
@GnimucKey,都是固定大小的方阵。
标签: julia