23 July 202405:23:28 PM
ASA310_PRB:
C++ version
Test the ASA310 library.
TEST01:
NCBETA computes the noncentral incomplete Beta function.
Compare to tabulated values.
A B LAMBDA X FX FX2
(Tabulated) (NCBETA) DIFF
55540.8640.45630210.45630224833903671.483 e-07551400.90.10413370.10413347908759822.209 e-07551700.9560.60223530.60224181585488076.516 e-061010540.86860.9187770.91877592543309741.075 e-0610101400.90.60081060.60080678940968323.811 e-0610102500.90.0902850.09028989932605594.899 e-062020540.87870.99986550.99986140486117034.095 e-0620201400.90.99259970.99259547773473624.222 e-0620202500.9220.96411119999999990.96411795457015096.755 e-0610201500.8680.93766265730.93766265552197311.778 e-0910101200.90.73068178580.7306817844791931.321 e-09155800.880.16042569180.16042569169197811.08 e-1020101100.850.18674853130.1867485309480683.519 e-102030650.660.65593868740000010.65593868739922887.713 e-1320501300.720.97968814860.97968814742020761.18 e-093020800.720.11623864230.11623864215237971.476 e-1030401300.80.99304300540.99304300423072621.169 e-09105200.6440.05068992730.050689879813552734.749 e-081010540.70.10309597060.10309597061126841.127 e-111030800.780.99784178320000010.99784178304248381.575 e-1015201200.760.25555523690.25555523558549331.315 e-09105550.7950.06683070640.06683070640851368.514 e-121217640.560.01136010670.011360106665912963.409 e-1130301400.80.78133666150.78133665911859012.381 e-093530200.670.88671264770.88671255693544489.076 e-08
ASA310_PRB:
Normal end of execution.
これがその結果だ。
どちらもあまりよくないが...。一般的に、非集中ベータ分布での作業は、むしろ非自明なタスクに属する。我々はオープンソースのコードからブーストを 見ることができた。そしてそれは、今SBにあるものよりも複雑になるだろう。
同じウィキペディアにこうある:
つまり、2つの確率変数が取られ、1つ目は非心カイ2乗分布から、2つ目は中心分布から 取られる。おそらくコードはこのように修正できるだろう:
例のグラフを修正したものが以下になります。
ありがとうございます、その通りです、この式で計算する必要があります、しかしもう一つ間違いがありました、ラムダ非中心性パラメータは乗数2なしにすべきです。
テストスクリプト
結果
非心ベータ分布の CFD関数もチェックした。
疑わしい結果もある:
別の情報源では,ASA310アルゴリズムが使われています.
例えば,Wolfram Mathematicaの結果の一部.
これは多かれ少なかれ真実に近い...