タグ付けされた質問 「numeric-precision」

7
浮動小数点の丸めエラーの原因は何ですか?
浮動小数点演算には精度の問題があることを認識しています。私は通常、数値の固定10進数表現に切り替えるか、単にエラーを無視することでそれらを克服します。 しかし、この不正確さの原因はわかりません。浮動小数点数で丸めの問題が多いのはなぜですか?

2
一部の言語が最も近いEVEN整数に丸められるのはなぜですか?
Scheme(R5RS)やPython(この質問を参照)などのプログラミング言語は、値が周囲の整数の間に正確に収まる場合、最も近い偶数の整数に向かって丸めます。 この背後にある理由は何ですか? 次の計算を推論しやすくする数学的なアイデアはありますか? (R5RSは、この動作のソースとしてIEEE浮動小数点標準を参照しています。)

9
科学/工学で浮動小数点数が頻繁に使用されるのはなぜですか?
浮動小数点数の精度を調査しているときに、いくつかの場所で次のようなステートメントを確認しました。 「floatとdoubleは(設計 / 使用頻度が高い)工学および科学計算」 私の理解では、floatとdoubleの強さは、それらが(良いが完全ではない)精度のために使用するメモリの量です。 私はこの答えからほとんど理解を得ているように感じます 「浮動小数点数を使用すると、連続量をモデル化できます」 私はまだ理解していると確信していません。工学と科学はどちらも、計算から正確な結果が必要な分野のように聞こえますが、私の理解では、浮動小数点は得られません。また、「連続量」が何であるかを正確に把握しているわけでもありません。 誰かがこの説明を拡張して、おそらく例を挙げることができますか?

6
コンピューターが10進数を2番目の整数として保存しないのはなぜですか?
分母が2 ^ xの解以外のものである場合、コンピューターは小数の保存に問題があります。これは、小数の後の最初の桁が1/2の価値があり、2番目の1/4が1/4(または1 /(2 ^ 1)と1 /(2 ^ 2))などの価値があるためです。 コンピューターが数の小数部分を別の整数として格納できたのに、なぜあらゆる種類の丸めエラーに対処するのか(したがって正確ですか?) 私が考えることができる唯一のことは、小数の繰り返し(10を基数とする)を扱うことですが、それに対するエッジソリューションが存在する可能性があります(現在の無限大のように)。

5
浮動小数点丸めエラーのソリューション
多くの数学的計算を扱うアプリケーションを構築する際に、特定の数値が丸め誤差を引き起こすという問題に遭遇しました。 私は浮動小数点が正確ではないことを理解していますが、問題は正確な数値をどのように処理して浮動小数点の丸めが問題を引き起こさないようにするのですか?

4
不安定な浮動小数点計算を識別する方法は?
数値では、不安定なスキームを識別し、その安定性を改善できることが非常に重要です。不安定な浮動小数点計算を識別する方法は? 私は多くの数値スキームが連携する非常に複雑なシミュレーションに取り組んでおり、その弱点を特定するための方法論を探しています。私は微分方程式を含む物理モデルに取り組んでいます。プロセス全体の概観は次のとおりです。 (準備手順)物理的観測Pを収集します。 シミュレーションの初期パラメーターを決定します。この用途我々は、パラメータのパラメータ空間ルックで歩く最適化アルゴリズム、Cは、いくつかの誤差関数ように、E(F(C)、P)が最小化され、Fは、パラメータの一部由来の量です。 シミュレーションエンジンのプラグC。これはEDPのオイラースキームであるため、各タイムステップで、動的を駆動する項を計算し(それぞれが複雑な関数であり、不安定になる可能性があります)、次を計算するためにこれらの動的項をオイラースキームに供給します状態。これは数千の時点で続きます。 シミュレーションの最後に、最終状態Sの関数Proof(S)を計算し、観測量から推定されるいくつかの量Require(P)と比較します。これは、結果の正式な証拠ではなく、妥当性チェックです。 また、複雑な操作の塔(オイラースキーム内、Proof内の動的な用語の計算)を見ています。そして、「不良部品」を認識して修正したいと思います。 精度が低下した浮動小数点数のソフトウェア実装を使用すると、数値スキームの不安定性が拡大し、異なる実装間の比較が容易になると推測します。これは、この質問を調査する一般的な手法ですか?Bochsとして仮想マシンを使用して、プログラムを変更せずにこれを達成することは可能ですか? 安定性の問題に適切に対処するために、数値手順の一般的な入力を対象とすることが許容される場合があります。そのため、その入力でうまく機能するように調整できます。典型的な入力のサンプルが与えられると、いくつかの中間結果をスヌーピングし、それらの統計プロファイルを準備することが可能です。繰り返しますが、これは安定性の問題を研究する一般的な手法ですか?これには仮想マシンが便利ですか?

4
できない言語で非常に大きな数を処理することはできませんか?
言語構成体が特定の値より大きい数値を処理できない場合、非常に大きな数値(無限大-浮動小数点数まで)で計算を実行する方法について考えようとしています。 私はこの質問をするのは最初でも最後でもないと確信していますが、私が使用している検索用語はそれらの状況を処理するアルゴリズムを提供していません。むしろ、ほとんどの提案は言語の変更や変数の変更を提供したり、検索に無関係と思われることについて話したりします。だから私は少しの指導が必要です。 次のようなアルゴリズムをスケッチします。 言語の整数変数の最大長を決定します。 数値が変数の最大長の半分を超える場合、配列に分割します。(小さなプレイルームを与えます) 配列の順序[0] =右端の数字[n-max] =左端の数字 例 番号:29392023配列[0]:23、配列[1]:20、配列[2]:39、配列[3]:29 変数の長さの半分をマークオフポイントとして設定したので、1、10、100などを計算できます。変数の最大長が0から9999999999までの10桁の場合、それを5桁に半分にすることで、遊び場ができます。 したがって、追加または乗算すると、array [0]の6番目の桁(右から)がarray [1]の最初の桁(右から)と同じ場所であることを確認する変数チェッカー関数を使用できます。 除算と減算には、私がまだ考えていない独自の問題があります。 プログラムがサポートできる数よりも多くの数をサポートする最良の実装について知りたい。

1
浮動小数点関数の暗黙の精度
別のプログラマの見直しながら、正規分布のCDFを計算する関数の実装を、私が作っ提案 Pythonの組み込み関数または使用scipyのダウンロード、共通の科学的なライブラリを実装全体を置き換えるのいずれかにします。 別のプログラマーは、彼らのドキュメンテーションにおいていかなる正確性の保証math.erfc()もscipy.stats.norm.cdf()提供もしないことを指摘しました。したがって、(尊重されたソースから取得され、エラー範囲が文書化されていた)近似アルゴリズムの置き換えについては、さらに注意する必要があります。 正直なところ、組み込み関数やライブラリー関数の正確さと正確さを疑うという考えは、私の心を超えたことはありませんでした。結局、私のような機能を呼び出してきたsin()し、sqrt()あまり考えず年間のを-なぜ必要がありますmath.erf()またはscipy.stats.norm.cdf()任意の異なること? しかし、今、私は心配しています。私の質問は: 一般的に、ドキュメントで特別な言及がない場合、これらの種類の関数は、IEEE倍精度浮動小数点で提供される精度の範囲内で、小数点以下の最後まで完全に正確であることを意味しますか? Python math.erf()やSciPy scipy.stats.norm.cdf()は特にそうですか?どうしてわかりますか? このmanページはsin()言う… これらの関数は、引数がpiの倍数に近いか、0.0から離れていると、精度が低下する可能性があります。 サイン関数が周期的で対称であるのに、なぜこのような警告が存在するのでしょうか?最適な精度を得るには、入力を正規化するための呼び出し側に負担がかかるようです。 一方、MozillaのドキュメントでMath.sin()は、正確さや正確さについては何も述べられていません。それはそれが完全に正確であることを意味しますか、それともMath.sin()他の場所のように、JavaScriptの特定の状況でのみ正確であることは「共通の知識」ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.