Raymond Toy | 1 Mar 2009 01:21
Picon

Re: Work on laplace and the last commit

Dieter Kaiser wrote:
> A question:
>
> Is it worth to change a big number of lines in the code only because to remove
> some lambda-bindings. I do not see any improvement of the algorithm. The bugs I
> am working on are still present.
>
>   
If you mean changing ((lambda (foo) ...) init) to (let ((foo init))
...), then that's a difficult question.  For me, I have decided more or
less to ignore such forms and leave them as is, unless I need to make
significant changes in that area.

I think there are better things for me to do than just changing a lambda
expression to a let without also fixing a bug therein.

Ray
Dieter Kaiser | 1 Mar 2009 01:31
Picon

integrate(atan(y),y,x,inf) loops endlessly

I have observed the reported bug working on the code of $laplace. If we
correct a bug in the lisp function createname we get a lot of more
integrals with $laplace.

I have done some further improvements and added the code to call
$specint when $laplace fails. Next I have tried the modified $laplace
function with all integrals of the test file rtest_hypgeo.mac.

With the modifications up to now almost all integrals can be solved
calling $laplace too.

But some types of integrals do not work. $laplace does not return from a
call. 

One reason I have found is that the integral in the bug report does not
work. $laplace has an recursive integration algorithm which is called
for some types of integrals. The reported integral is generated
internally in this recursive algorithm.

Dieter Kaiser
Dieter Kaiser | 1 Mar 2009 17:49
Picon

Re: integrate(atan(y),y,x,inf) loops endlessly

Am Sonntag, den 01.03.2009, 01:31 +0100 schrieb Dieter Kaiser:
> I have observed the reported bug working on the code of $laplace. If we
> correct a bug in the lisp function createname we get a lot of more
> integrals with $laplace.
> 
> I have done some further improvements and added the code to call
> $specint when $laplace fails. Next I have tried the modified $laplace
> function with all integrals of the test file rtest_hypgeo.mac.
> 
> With the modifications up to now almost all integrals can be solved
> calling $laplace too.
> 
> But some types of integrals do not work. $laplace does not return from a
> call. 
> 
> One reason I have found is that the integral in the bug report does not
> work. $laplace has an recursive integration algorithm which is called
> for some types of integrals. The reported integral is generated
> internally in this recursive algorithm.

With the fix which has Dan Gildea checked in today the Laplace
transformation of sin(t)/t^2 works as expected. We get the noun form and
$laplace no longer hangs:

(%i3) laplace(sin(t)/t^2,t,s);
(%o3) 'laplace(sin(t)/t^2,t,s)

Dieter Kaiser
Richard Fateman | 1 Mar 2009 17:56
Picon
Favicon

Re: integrate(atan(y),y,x,inf) loops endlessly

Dieter Kaiser wrote:
> Am Sonntag, den 01.03.2009, 01:31 +0100 schrieb Dieter Kaiser:
>   
......
>>     
>
> With the fix which has Dan Gildea checked in today the Laplace
> transformation of sin(t)/t^2 works as expected. We get the noun form and
> $laplace no longer hangs:
>
> (%i3) laplace(sin(t)/t^2,t,s);
> (%o3) 'laplace(sin(t)/t^2,t,s)
>   
Mathematica 6.0 gives this answer..

(2 - 2*EulerGamma + (-1 - I*s)*Log[-I + s] + I*(I + s)*Log[I + s])/2

RJF
Richard Fateman | 1 Mar 2009 19:18
Picon
Favicon

about asksign, an example.

Robert:
I just came across this example, not for the first time,
but I thought I'd send it to you (and Maxima list)
to illustrate the problem and hope that you had an idea that could fix 
it in a nice way.

let s(c):= (x^2+x+2)/(x^2+x+c);

Now consider integrate(s(c),x);

Maxima gives two possible answers depending on the sign of 4*c-1. call 
them A(x,c) and B(x,c).
Mathematica gives only one answer, which corresponds to answering 
"positive" and is equal to A(x,c).
In fact this is a bug in Maxima because it should provide yet a third 
form of the answer for 4*c-1=0.
It is a bug in Mathematica, though they have traditionally denied it, 
but may be trying to "fix" it.

Consider the questions of whether 2 forms that are supposed to be 
identical are computationally identical.

 bfloat(rectform(subst(x=1.0, subst(c=1/8, integrate(s(c),x)) = 
integrate(s(1/8),x))));
 bfloat(rectform(subst(x=1.0, subst(c=4,   integrate(s(c),x)) = 
integrate(s(4),x))));

 /* shows bug... bfloat(rectform(subst(x=1.0, subst(c=1/4, 
integrate(s(c),x)) = integrate(s(1/4),x))));*/

(Continue reading)

Loïc | 1 Mar 2009 19:23
Picon
Favicon

Inverse trigonometric functions

Hello,

Does anyone know if it's possible with Maxima to compute expressions
such as Machin's formula:
pi/4=4arctan(1/5)-arctan(1/239)

or formula such as:

cos(1/2*arccos(1/3))=sqrt(6)/3

If it's impossible, does anyone know if someone plan to implement it in
Maxima?

Best

Loïc

_______________________________________________
Maxima mailing list
Maxima <at> math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
Andrej Vodopivec | 1 Mar 2009 19:38
Picon
Gravatar

Re: Inverse trigonometric functions

Here is one possibility (note that logcontract is not always correct
for complex arguments).

(%i1) 4*atan(1/5)-atan(1/239);
(%o1) 4*atan(1/5)-atan(1/239)
(%i2) rectform(logcontract(ratsimp(logarc(%))));
(%o2) %pi/4

(%i3) cos(1/2*acos(1/3));
(%o3) cos(acos(1/3)/2)
(%i4) radcan(exponentialize(logarc(%)));
(%o4) (sqrt(2)*%i+2)/(sqrt(3)*sqrt(2*sqrt(2)*%i+1))
(%i5) rectform(%);
(%o5) sqrt(2)/sqrt(3)

Andrej

On Sun, Mar 1, 2009 at 7:23 PM, Loïc <xlogo <at> free.fr> wrote:
> Hello,
>
> Does anyone know if it's possible with Maxima to compute expressions
> such as Machin's formula:
> pi/4=4arctan(1/5)-arctan(1/239)
>
> or formula such as:
>
> cos(1/2*arccos(1/3))=sqrt(6)/3
>
> If it's impossible, does anyone know if someone plan to implement it in
> Maxima?
(Continue reading)

Richard Fateman | 1 Mar 2009 20:20
Picon
Favicon

Re: Inverse trigonometric functions

Loïc wrote:
> Hello,
>
> Does anyone know if it's possible with Maxima to compute expressions
>   

Please define what you mean by "compute expressions".

Do you mean "prove that identities are true"
or do you mean "invent new formulas"
or do you mean confirm them numerically?

> such as Machin's formula:
> pi/4=4arctan(1/5)-arctan(1/239)
>
> or formula such as:
>
> cos(1/2*arccos(1/3))=sqrt(6)/3
>
> If it's impossible, 

In general, proving that f(x)=0 is recursively undecidable, as shown by 
Daniel Richardson in 1968.
So yes, some interpretation of your question leads to an impossibility.
> does anyone know if someone plan to implement it in
> Maxima?
>
> Best
>
> Loïc
(Continue reading)

Loïc | 1 Mar 2009 20:45
Picon
Favicon

Re: Inverse trigonometric functions

Le dimanche 01 mars 2009 à 11:20 -0800, Richard Fateman a écrit :
> Loïc wrote:
> > Hello,
> >
> > Does anyone know if it's possible with Maxima to compute expressions
> >   
> 
> Please define what you mean by "compute expressions".
> 
> Do you mean "prove that identities are true"
> or do you mean "invent new formulas"
> or do you mean confirm them numerically?
> 

Why I write for example on some other computer algebra system:
arctan(2)+arctan(5)+arctan(8) 

it returns directly, or after a "simplify" command, the value 5*pi/4

That's what I would like Maxima to do.
Is it possible?

_______________________________________________
Maxima mailing list
Maxima <at> math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
Raymond Toy | 1 Mar 2009 21:02
Picon

Re: [Maxima-commits] CVS: maxima/src trigi.lisp, 1.32, 1.33 trigo.lisp, 1.16, 1.17

Andrej Vodopivec wrote:
> Update of /cvsroot/maxima/maxima/src
> In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv12025
>
> Modified Files:
> 	trigi.lisp trigo.lisp 
> Log Message:
> Set the default value of triginverses to true. Added new
> trig identities.
>
>
>   
Why should triginverses now default to true when it has previously been all?

Did I miss some discussion about this?  If so, ignore me. 

If not, then I think any change of defaults ought to be discussed on the
mailing list.

Ray

Gmane