逆誤差関数erf⁻¹(y)・逆相補誤差関数erfc⁻¹(y)を有限範囲で計算
共通の実数yからerf⁻¹(y)とerfc⁻¹(y)を同時計算します。両結果を有限scalarで表示できる0<y<1の内部に二重精度安全域0.000000000000001≤y≤0.999999999999999を設定します。
計算結果
- 逆誤差関数 erf⁻¹(y)
- —
- 逆相補誤差関数 erfc⁻¹(y)
- —
使い方
- 共通の関数値yを0.000000000000001以上0.999999999999999以下で入力します。
- 計算を実行し、erf(x)=yとなるxとerfc(x)=yとなるxを別々に確認します。
- 必要に応じて前向きページへ各xを戻し、元のyが再現されることを検算します。
計算式・考え方
標準正規分位点をΦ⁻¹とすると、erf⁻¹(y)=Φ⁻¹((y+1)/2)/√2、erfc⁻¹(y)=−Φ⁻¹(y/2)/√2です。共有入力で両方を有限表示するには、erf⁻¹側のy<1とerfc⁻¹側のy>0を同時に満たす0<y<1が必要です。実装は共有のinverse_erf・inverse_erfc named functionを直接呼び、端点を入力制約で除外します。
注意事項
- 参照ページと同様に一つのyから二つの逆関数を同時に求めます。ただし数学的な定義域はerf⁻¹が−1<y<1、erfc⁻¹が0<y<2で同一ではありません。両出力を一つのページで有限に保つ共通部分として0<y<1を採用するため、負のerf値や1を超えるerfc値の逆算はこのページの対象外です。
- y=0ではerf⁻¹(0)=0ですがerfc⁻¹(0)=+∞です。y=1ではerfc⁻¹(1)=0ですがerf⁻¹(1)=+∞です。片方だけ有限であっても二つのscalar結果を同時に返す契約に反するため、0と1を入力エラーにします。無限大を最大有限数へ置換したり空欄にしたりはしません。
- 実際の入力範囲は0.000000000000001≤y≤0.999999999999999へさらに有界化しています。端点へ極端に近い確率では逆値の感度が高く、十進入力をbinary64へ丸めた小さな差が結果へ大きく増幅されます。この範囲外や15桁を超える保証が必要な場合は、SciPyや多倍長特殊関数で必要精度を指定して検証してください。
- y=0.5ではerf⁻¹(0.5)とerfc⁻¹(0.5)が同じ正値になります。これはerfc(x)=1−erf(x)なので、erf(x)=0.5とerfc(x)=0.5が同じ条件になるためです。他のyでは通常二つの逆値は異なり、同じ結果になると決めつけて転記しないでください。
- 逆関数の検算は合成で行えます。求めたerf⁻¹(y)を前向きerfへ、erfc⁻¹(y)を前向きerfcへ入れると元のyへ戻ります。裾ではxの絶対誤差より戻したyの誤差を併せて確認すると、確率値として必要な精度を判断しやすくなります。
- 定義はNIST Digital Library of Mathematical Functions(DLMF)の§7.2 Error Functionsと§7.17 Inverse Error Functionsを2026年7月13日に確認しました。erf(x)=2/√π∫[0,x]exp(−t²)dt、erfc(x)=2/√π∫[x,∞]exp(−t²)dt=1−erf(x)という実数主枝です。
- 標準正規分布との関係はNIST DLMF §7.1のP(z)=Φ(z)=erfc(−z/√2)/2と、SciPy公式ドキュメントのscipy.special.ndtr、erf、erfc、erfinv、erfcinvを2026年7月13日に照合しました。本文のΦは平均0・標準偏差1の標準正規分布の下側累積確率を表します。
- 実装は共有のCephes型erf/erfc有理評価と、標準正規分位点を用いる逆関数を直接呼びます。erfを2Φ(x√2)−1の減算だけで評価するとxが0に近いとき有効桁を失うため、前向き計算では専用erfを使い、正の大きなxの小さい相補値は専用erfcで直接求めます。
- 対象は実数引数の二重精度計算です。複素誤差関数、虚数誤差関数erfi、Faddeeva関数、スケーリング相補誤差関数erfcxは扱いません。高精度桁数を選ぶ機能もなく、結果欄は最大15桁を目安に表示します。任意精度が必要なら専用の多倍長ライブラリを使ってください。
- 入力は有限の十進数へ限定し、対応範囲外を無限大や巨大な代替値へ置き換えません。逆関数では数学的な端点が無限大になるため、有限scalarというページ契約に合わせて端点を拒否します。入力制約に違反した場合は結果を丸めて続行せず、該当欄へエラーを表示してfail-closedで停止します。
- 計算式はschema v3の宣言的ASTにあるコード所有のnamed functionだけです。文字列を実行するevalやnew Functionを使わず、外部API、CDN、fetch、XHR、WebSocketにも接続しません。入力値と計算結果は利用者の端末内だけで処理され、サーバーや第三者へ送信・保存されません。
- 誤差関数は正規分布、拡散方程式、熱伝導、信号処理などに現れますが、このページは式の数値値だけを返します。物質定数、境界条件、単位、測定誤差、モデル妥当性は入力に含めません。工学設計や安全判定へ使う場合は、元の式の無次元化と採用規格を別に検証してください。
- 別ソフトと照合するときは、erfとerfcのどちらか、引数に√2の倍率があるか、下側確率と上側確率のどちらかを確認してください。標準正規CDF Φ(x)はerf(x)そのものではなく、Φ(x)=(1+erf(x/√2))/2です。似た記号でも尺度が違えば同じ入力値に対する結果は一致しません。
- 実数の二重精度による特殊関数値です。複素数、任意精度、個別の工学モデル判定は扱いません。
よくある質問
y=0を入力できないのはなぜですか?
erf⁻¹(0)は有限ですがerfc⁻¹(0)が+∞となり、両結果の有限表示契約を満たさないためです。
y=1ではerfc⁻¹(1)=0なのに、なぜ拒否しますか?
同時表示するerf⁻¹(1)が+∞になるため、共通入力の端点から除外します。
負のyのerf⁻¹を計算できますか?
この共通入力ページではできません。負のyはerfc⁻¹の実数定義域と共通しないためです。
結果が正しいか確認する方法はありますか?
各結果を前向きのerfまたはerfcへ戻し、元のyと一致するか確認できます。
入力した実数は利用者の端末内だけで計算されます。外部へ送信・保存せず、氏名、測定対象、設計情報などの個人情報・機密情報を入力する欄もありません。