gpt4 book ai didi

vector - 关于 Julia 中向量的行为/向量的行为

转载 作者:行者123 更新时间:2023-12-01 23:16:10 24 4
gpt4 key购买 nike

3/[2;2] 给出

1×2 LinearAlgebra.Transpose{Float64,Array{Float64,1}}:
0.75 0.75

3 ./[2;2] 给出

2-element Array{Float64,1}:
1.5
1.5

第二个很容易理解。它广播 3 并执行按元素划分。但是,第一个操作的行为背后的原因是什么?我假设它采用向量之和,即 2x1,执行 3 除以 4,并将其广播到 1x2 转置向量。我可以接受向量的总和来执行除法,但为什么要转置?或者为什么不只返回一个标量?

最佳答案

它只是给出右侧操作数的伪逆。

julia> ?/
...
Right division operator: multiplication of x by the inverse of y on the right.

虽然乍一看似乎很奇怪,但实际上是自然行为。 rowvector*columnvector 给出一个标量,因此标量除以列向量应该给出一个行向量,就是这种情况。请注意,RowVector 在 1.0 中已被删除,您得到的实际上是一个用 Transpose 表示的行向量。

你可以写 @less 1/[2;2] 看看实际发生了什么。

另请查看 this GitHub issue了解更多行为和this discourse topic对于某些用例。

关于vector - 关于 Julia 中向量的行为/向量的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51985998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com