如何在 Julia 中按元素执行 exp() 操作?

How does one perform the exp() operation element-wise in Juila?

我是 Julia 的新手,这似乎是一个简单的操作,但出于某种原因,我在任何地方都找不到答案。

我一直在网上浏览一些教程,他们只是使用 exp(A),其中 A 是一个 nxm 矩阵,但这给了我一个维度不匹配错误。

我查看了官方网站上 elementary functions as well as the linear algebra 部分的文档,并用谷歌搜索了多次,但终究找不到。

在 julia 中,矩阵运算将矩阵视为对象而不是数字集合。因此 exp(A) 尝试执行仅为方阵定义的 matrix exponential。要对矩阵进行逐元素操作,可以使用点运算符完成的广播。因此在这里,你想要 exp.(A).

之所以使用这种设计,是因为它允许对数组进行任何标量运算 而不仅仅是语言中内置的那些。

广播操作员.总是将函数更改为"element-wise"。因此答案是 exp.(A),就像任何用户定义的 f.

sin.(A)cos.(A)f.(A)

除了上述答案之外,您可能还希望考虑带有函数管道的广播运算符:

A = rand(-10:10, 3, 3)

A .|> sin .|> inv