> restart:
> with(Statistics):
> a:=-1:b:=1:
> assume(x>a,x<b):
> beta_:=RandomVariable(BetaDistribution(2,2)):
> pdf:=factor(subs(u=(x-a)/(b-a),PDF(beta_,u))/(b-a));
> rough:=int(pdf^2,x=a..b);
> ddf:=(diff(pdf,x));
> cdf:=int(subs(x=u,pdf),u=a..x);
> cf:=subs(u=x,simplify(CharacteristicFunction(beta_,u),hypergeom));
> mu_:=a+(b-a)*Mean(beta_);
> var_:=(b-a)^2*Variance(beta_);
> skew_:=simplify(convert(Skewness(beta_),GAMMA),symbolic);
> kurt_:=simplify(convert(Kurtosis(beta_),GAMMA),symbolic);
> qdf2:=solve(cdf=p,x) assuming p>0,p<1:
> qdf2[1];
> evalf(subs(x=0.5,ddf));
> evalf(subs(x=0.5,pdf));
> evalf(subs(x=0.5,cdf));
> evalf(subs(x=0.5,cf));
> evalf(solve(subs(cdf)=0.95,x));
> evalf(subs(mu_));
> evalf(subs(sqrt(var_)));
> evalf(subs(skew_));
> evalf(subs(kurt_));
> evalf(subs(var_));
> evalf([mu_,sqrt(var_)]);
> 

                             3 (x~ + 1) (-1 + x~)
                    pdf := - --------------------
                                      4


                             rough := 3/5


                                     3 x~
                            ddf := - ----
                                      2


                                                3
                    cdf := 3/4 x~ + 1/2 - 1/4 x~


               12 I (1 + 1/2 I x~ - exp(x~ I) (1 - 1/2 I x~))
         cf := ----------------------------------------------
                                      3
                                    x~


                               mu_ := 0


                             var_ := 1/5


                              skew_ := 0


                            kurt_ := 15/7


                      2 1/2 (1/3)                  1
  (1 - 2 p + 2 (-p + p )   )      + -------------------------------
                                                        2 1/2 (1/3)
                                    (1 - 2 p + 2 (-p + p )   )


                            -0.7500000000


                             0.5625000000


                             0.8437500000


                    0.9628702176 + 0.2458611264 I


               0.7292992757, 1.248140468, -1.977439743


                                  0.


                             0.4472135954


                                  0.


                             2.142857143


                             0.2000000000


                          [0., 0.4472135954]

> qdf2[1];

                      2 1/2 (1/3)                  1
  (1 - 2 p + 2 (-p + p )   )      + -------------------------------
                                                        2 1/2 (1/3)
                                    (1 - 2 p + 2 (-p + p )   )

> 
> N:=3:
> f:=simplify(subs(p=q+1/2,2*cos(arccos(1-2*p)/3-2*Pi/3)));
> p1:=subs(q=p-1/2,convert(series(f,q,N),polynom));
> assume(r,real,r>0);
> w:=simplify(subs(p=r^2,convert(series(subs(q=p-1/2,f),p,N),polynom)));
> p2:=subs(r=sqrt(p),w);

                              Pi
                  f := 2 cos(---- + 1/3 arccos(2 q))
                              3


                                 4 p
                           p1 := --- - 2/3
                                  3


                 1/2            2         1/2   3   16    4
  w := -1 + 2/3 3    r~ + 2/9 r~  + 5/81 3    r~  + --- r~
                                                    243

            77   1/2   5
         + ---- 3    r~
           2916


                1/2  1/2            1/2  3/2       2       1/2  5/2
             2 3    p      2 p   5 3    p      16 p    77 3    p
  p2 := -1 + ----------- + --- + ----------- + ----- + ------------
                  3         9        81         243        2916

> plot(subs(q=p-1/2,f)-p2,p=0..1/2);
> plot(subs(q=p-1/2,f)-(p2-(subs(x=p2,cdf)-p)/subs(x=p2,pdf)),p=0..1/2);


> evalf[25](-2*Pi/3);

                     -2.094395102393195492308429

> ff:=subs(q=p-1/2,f):
> p1:=convert(series(ff,p=1/2,8),polynom);
> #p2:=convert(series(ff,p=0,4),polynom);
> p2:=-1+2/3*3^(1/2)*p^(1/2)+2/9*p+5/81*3^(1/2)*p^(3/2)+16/243*p^2+77/29
> 16*3^(1/2)*p^(5/2)+224/6561*p^3;#+2431/157464*3^(1/2)*p^(7/2);
> px:=0.5:
> eps:=evalf(2^(-53));
> Digits:=100:
> a:=evalf(p1):
> a1:=a:
> b:=evalf(p2):
> b1:=b:
> evalf(subs(p=px,[abs(a-ff)-eps,abs(b-ff)-eps]));
> a:=a:
> a:=evalf(a-(subs(x=a,cdf)-p)/subs(x=a,pdf)):
> a2:=a:
> b:=evalf(b-(subs(x=b,cdf)-p)/subs(x=b,pdf)):
> b2:=b:
> evalf(subs(p=px,[abs(a-ff)-eps,abs(b-ff)-eps]));
> 
> a:=evalf(a-(subs(x=a,cdf)-p)/subs(x=a,pdf)):
> a3:=a:
> b:=evalf(b-(subs(x=b,cdf)-p)/subs(x=b,pdf)):
> b3:=b:
> evalf(subs(p=px,[abs(a-ff)-eps,abs(b-ff)-eps]));
> plot([log(abs(a3-ff)),log(abs(b3-ff)),log(eps)],p=0..1/2);;

                                3                 5
        4 p         64 (p - 1/2)    1024 (p - 1/2)
  p1 := --- - 2/3 + ------------- + ---------------
         3               81               729

                          7
           65536 (p - 1/2)
         + ----------------
                19683


                1/2  1/2            1/2  3/2       2       1/2  5/2
             2 3    p      2 p   5 3    p      16 p    77 3    p
  p2 := -1 + ----------- + --- + ----------- + ----- + ------------
                  3         9        81         243        2916

                3
           224 p
         + ------
            6561


                                            -15
                      eps := 0.1110223025 10


  [-0.111022302499999999999999999999999999999999999999999999999999\

                                                   -15
        9999999999999999999999998178519134867177 10   , 0.005777828\
        6593878658274124493692111815084069695563791443598568411184\

        97379303305732659146901592765525790]


  [-0.111022302499999999999999999999999999999999999999999999999999\

                                                   -15
        9999999999999999999999999511852468200510 10   , 0.128592966\
        5443449134498879080828307299827470649429612519087379674887\

                                            -6
        148286475287456287546854408228519 10  ]


  [-0.111022302499999999999999999999999999999999999999999999999999\

                                                   -15
        9999999999999999999999999511852468200510 10   , -0.11102088\
        4878184288128244021101317482340479600090471007159716812029\

                                             -15
        8997201491430570693952320134867177 10   ]


> y:=convert((cdf-q)/pdf,parfrac,x);
> convert(subs(x=y,(cdf-q)/pdf),parfrac,x);

                       x~       2 q        -2 + 2 q
                 y := ---- - ---------- + -----------
                       3     3 (x~ + 1)   3 (-1 + x~)


                        2
   x~            2 q (x~  - 1)              2 q
  ---- - ----------------------------- - ----------
   9               3                 2   9 (x~ + 1)
         -3 x~ + x~  + 4 q - 5 + 3 x~

                           2         2
             2 - 2 q - 2 x~  + 2 q x~       -2 + 2 q
         + ----------------------------- + -----------
                2                3         9 (-1 + x~)
           -3 x~  + 1 - 3 x~ + x~  + 4 q

> assume(u,real):Re(convert(simplify(cf),trig));

                    6 (u~ - 2 sin(u~) + u~ cos(u~))
                  - -------------------------------
                                    3
                                  u~

> 
