當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。