Function SQRT, ISQRT

UP


Function SQRT, ISQRT

Function SQRT, ISQRT

構文

sqrt number => root
isqrt natural => natural-root

引数と戻り値

number, root - 数
natural, natural-root - 非負の整数

定義

sqrtisqrtは平方根を計算します。

sqrtnumberの主な平方根を返却します。 numberが複素数ではなく、かつ負のときは、 その結果は複素数になります。

isqrtは正確なnaturalの正の平方根以下の最大の整数を返却します。

もしnumberが正の有理数のとき、 rootが有理数か浮動小数かは実装依存です。 もしnumberが負の有理数のとき、 rootが複素数の有理数か複素数の浮動小数かは実装依存です。

複素数の平方根(マイナスゼロがサポートされているかどうかに関わらず)の 数学的な定義は下記のとおりです。

(sqrt x) = (exp (/ (log x) 2))

平方根のブランチカットは負の実軸に沿って第2象限に続きます。 その範囲は右半円で成り、非負の虚軸を含み、負の虚軸を含みません。

例文

(sqrt 9.0) =>  3.0
(sqrt -9.0) =>  #C(0.0 3.0)
(isqrt 9) =>  3
(sqrt 12) =>  3.4641016
(isqrt 12) =>  3
(isqrt 300) =>  17
(isqrt 325) =>  18
(sqrt 25)
=>  5
OR=>  5.0
(isqrt 25) =>  5
(sqrt -1) =>  #C(0.0 1.0)
(sqrt #c(0 2)) =>  #C(1.0 1.0)

副作用

なし。

影響

なし。

例外

関数sqrtは、引数が数ではないとき、 型type-errorのエラーを通知するべきです。

関数isqrtは、引数が非負の整数ではないとき、 型type-errorのエラーを通知するべきです。

関数sqrtisqrtは、 型arithmetic-errorを通知するかもしれません。

参考

exp, log, 12.1.3.3. 浮動小数の代替可能性の規則

備考

(isqrt x) ==  (values (floor (sqrt x))) 

しかし、これはもっと効率よくなる可能性があります。


TOP, Github