I guess the problem is limit(Ei(-x),x=%plusInfinity) --> failed

https://en.wikipedia.org/wiki/Exponential_integral

Even with c:=1:

I:=integrate(exp(-x)*log(x),x=eps..1/eps,"noPole")

                                 1
                              - ---
           - eps       2        eps      1             1
         %e     log(eps ) - %e     log(----) + 2 Ei(- ---) - 2 Ei(- eps)
                                          2           eps
                                       eps
   (1)  ---------------------------------------------------------------
                                        2
                  Type: Union(f1: OrderedCompletion(Expression(Integer)),...)
limit(%,eps,0)


limit(%,eps=0)

   (42)  [leftHandLimit = - infinity, rightHandLimit = "failed"]
Type: Union(Record(leftHandLimit:
Union(OrderedCompletion(Expression(Integer)),"failed"),rightHandLimit:
Union(OrderedCompletion(Expression(Integer)),"failed")),...)

So the MM/M-results are not better.


On 05.09.2022 14:48, Ralf Hemmecke wrote:
> Consider c>0.
> 
> (1) -> integrate(exp(-c*x)*log(x),x=0..%plusInfinity)
> 
>    (1)  "faileed"
> 
> Can FriCAS specify "c>0" somehow?
> 
> In Mathematica I get.
> 
> In[1]:= Integrate[Exp[-c*x]*Log[x], {x, 0, Infinity}]
> 
> Out[1]= ConditionalExpression[-((EulerGamma + Log[c])/c), Re[c] > 0]
> 
> In Maple I get at least...
> 
>> integrate(exp(-c*x)*log(x),x=0..infinity);
> 
>                           exp(-c x) ln(x) + ln(c) + Ei(1, c x) + gamma
>               lim       - --------------------------------------------
>          x -> infinity                         c
> 
> Since we do not have "lim" in OutputForm, it would be hard to return a result
> similar to Maple.
> 
> Ralf
> 


I:=integrate(exp(-c*x)*log(x),x=eps..1/eps,"noPole")

                                   c
                                - ---
           - c eps       2        eps      1             c
         %e       log(eps ) - %e     log(----) + 2 Ei(- ---) - 2 Ei(- c eps)
                                            2           eps
                                         eps
   (1)  -------------------------------------------------------------------
                                         2 c
                  Type: Union(f1: OrderedCompletion(Expression(Integer)),...)



I.f1

                                   c
                                - ---
           - c eps       2        eps      1             c
         %e       log(eps ) - %e     log(----) + 2 Ei(- ---) - 2 Ei(- c eps)
                                            2           eps
                                         eps
   (2)  -------------------------------------------------------------------
                                         2 c
                                 Type: OrderedCompletion(Expression(Integer))


limit(I.f1,eps=0)

   (3)  "failed"
                                                    Type: Union("failed",...)




Using c^2 instead of c =>

limit(I.f1,eps=0)

   (22)  [leftHandLimit = - infinity, rightHandLimit = "failed"]
Type: Union(Record(leftHandLimit:
Union(OrderedCompletion(Expression(Integer)),"failed"),rightHandLimit:
Union(OrderedCompletion(Expression(Integer)),"failed")),...)


J:=integrate(exp(-c^2*x)*log(x),x)

                2
             - c x               2
         - %e     log(x) + Ei(- c x)
   (24)  ---------------------------
                       2
                      c
                                         Type: Union(Expression(Integer),...)

limit(J,x=0)

   (27)
                         2
                    log(c ) - log(- 1) - digamma(1)
   [leftHandLimit = -------------------------------, rightHandLimit = "failed"]
                                    2
                                   c
Type: Union(Record(leftHandLimit:
Union(OrderedCompletion(Expression(Integer)),"failed"),rightHandLimit:
Union(OrderedCompletion(Expression(Integer)),"failed")),...)

limit(J,x=%plusInfinity)

   (34)  "failed"
                                                    Type: Union("failed",...)


limit(Ei(-x),x=%plusInfinity)

   (37)  "failed"
                                                    Type: Union("failed",...)

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/e1deb241-ba32-dd91-c566-b6a910e9a2c2%40gmail.com.

Reply via email to