我是Julia的新手,这似乎很简单,但是由于某种原因,我在任何地方都找不到答案。
我已经在线浏览了一些教程,他们只是使用exp(A),其中A是一个nxm矩阵,但这给了我DimensionMismatch错误。
我浏览了elementary functions和linear algebra部分的官方网站上的文档,并在Google上进行了多次搜索,但终生无法找到。
答案 0 :(得分:7)
在julia中,对矩阵的运算将矩阵视为对象而不是数字的集合。因此,exp(A)
尝试执行仅为平方矩阵定义的matrix exponential。要对矩阵进行逐元素运算,请使用通过点运算符完成的广播。因此,在这里,您需要exp.(A)
。
之所以使用此设计,是因为它允许对数组执行任何标量运算 而不只是语言中内置的语言。
答案 1 :(得分:7)
广播运营商.
始终将功能更改为“按元素排列”。因此,答案是exp.(A)
,就像任何用户定义的sin.(A)
的{{1}},cos.(A)
或f.(A)
一样。
答案 2 :(得分:1)
除了以上答案外,还不妨考虑具有功能管道的广播运营商:
A = rand(-10:10, 3, 3)
A .|> sin .|> inv