当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia sqrt方法用法及代码示例


用法一

sqrt(x)

返回 \sqrt{x} 。为负的 Real 参数抛出 DomainError 。改用复杂的否定论点。前缀运算符 等效于 sqrt

另请参阅: hypot

例子

julia> sqrt(big(81))
9.0

julia> sqrt(big(-81))
ERROR: DomainError with -81.0:
NaN result for non-NaN input.
Stacktrace:
 [1] sqrt(::BigFloat) at ./mpfr.jl:501
[...]

julia> sqrt(big(complex(-81)))
0.0 + 9.0im

julia> .√(1:4)
4-element Vector{Float64}:
 1.0
 1.4142135623730951
 1.7320508075688772
 2.0

用法二

sqrt(A::AbstractMatrix)

如果 A 没有负实特征值,则计算 A 的主矩阵平方根,即特征值具有正实部的唯一矩阵 X 使得 X^2 = A 。否则,返回非主平方根。

如果 A 是实对称或 Hermitian,则其特征分解 ( eigen ) 用于计算平方根。对于此类矩阵,由于舍入误差而显得略微为负的特征值 λ 被视为为零。更准确地说,具有所有特征值 ≥ -rtol*(max |λ|) 的矩阵被视为半定矩阵(产生 Hermitian 平方根),负特征值被视为零。 rtolsqrt 的关键字参数(仅在 Hermitian/实对称情况下),默认为按 size(A,1) 缩放的机器精度。

否则,平方根通过 Björck-Hammarling 方法 [BH83] 确定,该方法计算复 Schur 形式 ( schur ),然后计算三角因子的复平方根。如果存在实平方根,则使用此方法的扩展 [H87] 来计算实 Schur 形式,然后使用 quasi-triangular 因子的实平方根。

例子

julia> A = [4 0; 0 4]
2×2 Matrix{Int64}:
 4  0
 0  4

julia> sqrt(A)
2×2 Matrix{Float64}:
 2.0  0.0
 0.0  2.0

相关用法


注:本文由纯净天空筛选整理自julialang.org大神的英文原创作品 Base.sqrt — Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。