evalhf - ハードウェア浮動小数で評価する
使い方
evalhf(expr)
パラメータ
expr - 数値的に評価したい対象
|
説明
|
|
•
|
evalhf はシステムのハードウェア浮動小数上で数値的に評価します。評価は 2 倍長精度で行います。
|
•
|
evalhf は複素数引数または複素数の値を返すような特別な関数については、evalf を呼び出すことがあります。
|
•
|
evalhf の引数は 1 つの値であるか、datatype=float[8] または complex[8] で与えられる hfarray または rtable、または手続きである必要があります。evalf とは対照的に記号を解として返すことはできません。
|
•
|
evalhf によって評価される引数として標準関数 (例として sin や arctan) および Maple で定義した関数 (詳しくは evalhf/procedure を参照ください) などの関数を使うことができます。evalhf によって評価できる関数について詳しくは evalhf/procedure を参照ください。
|
•
|
evalhf は引数をハードウェア浮動小数に変換して解を計算し、その解を Maple 浮動小数で返します。故に、ユーザは evalhf で制限されたハードウェア浮動小数を扱うことはありません。
|
•
|
evalhf を呼び出し計算する利点は桁上がりの変換をしなくてもよいことです。
|
•
|
evalhf が datatype=float[8] または datatype=complex[8] の hfarray または rtable を返すとき、各要素にアクセスするまで、Maple 浮動小数に変換されません。アクセスされた時のみ変換されます。datatype=float[8] または complex[8] で与えられる hfarray または rtable を使うと、evalhf の呼び出しによるコストがほとんどなくデータを扱うことができます。
|
•
|
Maple で数値による計算のスピードを増すためや、ハードウェア浮動小数で計算を行うときに evalhf を指定します。
|
•
|
Digits を evalhf(Digits) (32-bit アーティテクチャでは約 15 ) の整数部分に指定すると、evalf と evalhf はほぼ同様の結果を出します。
|
|
|
例
|
|
>
|
evalhf(sin(exp(gamma+2)+ln(cos(Catalan))));
|
| (2.1) |
>
|
A := Matrix(3, 2, (i, j) -> i + j*I, datatype = complex[8]);
|
| (2.2) |
| (2.3) |
>
|
f := proc(n) if n<2 then n else (n+1)*f(n-1)/n end if end proc:
evalhf(f(100)+f(10)+f(1));
|
| (2.4) |
>
|
g := proc(x) x^5*ln(x)/(1+x^2) end proc:
evalhf(g(2));
|
| (2.5) |
>
|
solutions:=solve(x^3=-3);
|
| (2.6) |
>
|
map(evalhf,[solutions]);
|
| (2.7) |
>
|
Digits := trunc( evalhf(Digits) );
|
| (2.8) |
| (2.9) |
|
|
Download Help Document
Was this information helpful?