/usr/share/openturns/validation/qnorm.txt is in openturns-validation 1.5-7build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | > restart:
> Digits:=40;
> a:=[-3.969683028665376e+01, 2.209460984245205e+02,
> -2.759285104469687e+02, 1.383577518672690e+02,
> -3.066479806614716e+01, 2.506628277459239e+00];
> b:=[-5.447609879822406e+01, 1.615858368580409e+02,
> -1.556989798598866e+02, 6.680131188771972e+01,
> -1.328068155288572e+01];
> c:=[-7.784894002430293e-03, -3.223964580411365e-01,
> -2.400758277161838e+00, -2.549732539343734e+00, 4.374664141464968e+00,
> 2.938163982698783e+00];
> d:=[7.784695709041462e-03, 3.224671290700398e-01,
> 2.445134137142996e+00, 3.754408661907416e+00];
> #u := q - 0.5;
> #t := u * u;
> u := U * (((((a[1] * t + a[2]) * t + a[3]) * t + a[4]) * t + a[5]) * t
> + a[6])
> /(((((b[1] * t + b[2]) * t + b[3]) * t + b[4]) * t + b[5]) * t +
> 1.0);
> t_ := sqrt(2.0)*Q;#sqrt(-2.0 * log(q));
> u_ := (((((c[1] * t_ + c[2]) * t_ + c[3]) * t_ + c[4]) * t_ + c[5]) *
> t_ + c[6])
> /((((d[1] * t_ + d[2]) * t_ + d[3]) * t_ + d[4]) *t_ + 1.0);
>
Digits := 40
a := [-39.69683028665376, 220.9460984245205, -275.9285104469687,
138.3577518672690, -30.66479806614716, 2.506628277459239]
b := [-54.47609879822406, 161.5858368580409, -155.6989798598866,
66.80131188771972, -13.28068155288572]
c := [-0.007784894002430293, -0.3223964580411365,
-2.400758277161838, -2.549732539343734, 4.374664141464968,
2.938163982698783]
d := [0.007784695709041462, 0.3224671290700398, 2.445134137142996,
3.754408661907416]
u := U (((((-39.69683028665376 t + 220.9460984245205) t
- 275.9285104469687) t + 138.3577518672690) t
- 30.66479806614716) t + 2.506628277459239)/((((
(-54.47609879822406 t + 161.5858368580409) t
- 155.6989798598866) t + 66.80131188771972) t
- 13.28068155288572) t + 1.0)
t_ := 1.414213562373095048801688724209698078570 Q
u_ := (1.414213562373095048801688724209698078570 (
1.414213562373095048801688724209698078570 (
1.414213562373095048801688724209698078570 (
1.414213562373095048801688724209698078570 (
-0.01100950267987388672798637002440513580830 Q
- 0.3223964580411365) Q - 2.400758277161838) Q
- 2.549732539343734) Q + 4.374664141464968) Q
+ 2.938163982698783)/(
1.414213562373095048801688724209698078570 (
1.414213562373095048801688724209698078570 (
1.414213562373095048801688724209698078570 (
0.01100922225067407300617876507022233666631 Q
+ 0.3224671290700398) Q + 2.445134137142996) Q
+ 3.754408661907416) Q + 1.0)
> with(numapprox):
> ierf1:=convert(evalf((subs(q=(y+1)/2,normal(expand(sqrt(2.)*u))))),hor
> ner);
> ierf2:=subs(Q=sqrt(-ln((y+1)/2.)),hornerform(factor(evalf(sqrt(2)*u_))
> ,Q));
ierf1 := U (-3.544907705810765295505665718572722409393 + (
43.36657331257757109076702467506121353083 + (
-195.6674091501432358871886667629048566966 + (
390.2218417195093784004984640943102852344 + (
-312.4649689453776198212601960895482222640
+ 56.13979577460878582336455957425683612063 t) t) t) t) t)/(
-1. + (13.28068155288572000000000000000000000000 + (
-66.80131188771972000000000000000000000000 + (
155.6989798598866000000000000000000000000 + (
-161.5858368580409000000000000000000000000
+ 54.47609879822406000000000000000000000000 t) t) t) t) t)
ierf2 := - 2.000050944416131948227267355243852992704
(%1 + 22.73777230481436499516779895424500212089)
(%1 + 5.352510420435462167145102449823247783109)
(%1 + 1.618888586630886083997843272345593052133)
(%1 + 0.4067753714160157551643163079786755678642)
(%1 - 0.8324751754965660964085275823519476015729)/(
(%1 + 22.70055746612312273302231184873396591411)
(%1 + 5.213271232693735748366578666495225744200)
(%1 + 1.138444540257063858241777655664381170080)
(%1 + 0.2383634405785183657476502235410438313666))
%1 := (-ln(0.5000000000000000000000000000000000000000 y
1/2
+ 0.5000000000000000000000000000000000000000))
> yn:=0.1:
> subs(y=yn,ierf1);
> subs(q=(yn+1)/2,u*sqrt(2.));
> evalf(subs(y=yn,ierf2));
> evalf(subs(Q=sqrt(-ln((yn+1)/2.)),u_*sqrt(2.)));
0.1777119810182547967590368227913735050444
0.1777119810182547967590368227913735050445
0.1773549607124649398991024707644887000326
0.1773549607124649398991024707644887000326
>
|