<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://blog.gmane.org/gmane.comp.mathematics.maxima.general">
    <title>gmane.comp.mathematics.maxima.general</title>
    <link>http://blog.gmane.org/gmane.comp.mathematics.maxima.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21054"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21048"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21044"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21042"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21038"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21033"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21032"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21029"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21025"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21024"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21014"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21010"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21000"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20999"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20996"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20983"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20975"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20974"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20971"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20970"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21054">
    <title>How to solve an inequality?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21054</link>
    <description>How can I solve an inequality in Maxima?
</description>
    <dc:creator>Radek</dc:creator>
    <dc:date>2008-05-17T18:08:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21048">
    <title>stringout() problem with Maxima 5.15.0</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21048</link>
    <description>I have the following maxima file

------ test.max -------------------
output_integer(z) := block(

        [tmp],

        tmp : file_output_append,
        file_output_append : true,

        stringout( "output.txt", "/* integer */" ),
        stringout( "output.txt", z ),

        file_output_append : tmp,

        return(z)

);

output_integer(1);
------ test.max -------------------


using my NEW Maxima installation (maxima -b test.max), I have

------------------------------------------------
Maxima 5.15.0 http://maxima.sourceforge.net
Using Lisp CLISP 2.45 (2008-05-15)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1)                           batch(test.max)

batching /home/seirios/test.max
(%i2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%o2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%i3)                          output_integer(1)
Error in `stringout' attempt
#0: output_integer(z=1)(test.max line 7)
 -- an error.  To debug this try debugmode(true);
------------------------------------------------


whereas using my OLD Maxima installation (maxima -b test.max), I have

------------------------------------------------
Maxima 5.13.0 http://maxima.sourceforge.net
Using Lisp CLISP 2.41 (2006-10-13)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1)                           batch(test.max)

batching /home/seirios/test.max
(%i2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%o2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%i3)                          output_integer(1)
(%o3)                                  1
------------------------------------------------

Andre
</description>
    <dc:creator>andre maute</dc:creator>
    <dc:date>2008-05-17T15:19:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21044">
    <title>simple question</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21044</link>
    <description>_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>ahmet alper parker</dc:creator>
    <dc:date>2008-05-17T13:52:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21042">
    <title>Bug Report - tex2ooo</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21042</link>
    <description>Using Maxima 5.15.0, compiled on Debian Lenny AMD64 using CLISP.

kill(all);
(%o0) done
(%i1) load (tex2ooo);
(%o1) /usr/local/share/maxima/5.15.0/share/contrib/tex2ooo.lisp
(%i2) 'integrate(x^2*exp(-%i), x);
(%o2) %e^(-%i)*integrate(x^2,x)
(%i3) tex(%);
Maxima encountered a Lisp error:
 
APPEND: A proper list must not end with " cdot "
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.


(%i2) (s+1)/(s^4+3*s^3+4*s^2-2*s-3);
(%o2) (s+1)/(s^4+3*s^3+4*s^2-2*s-3)
(%i3) tex(%);
Maxima encountered a Lisp error:
 
APPEND: A proper list must not end with " cdot "
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.


BTW: "cdot" is multiplication "." in OOoMath.

Thanks
Ismael
</description>
    <dc:creator>Ismael Garrido</dc:creator>
    <dc:date>2008-05-17T03:53:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21038">
    <title>Feature Request</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21038</link>
    <description>I would really like it if wxMaxima had the 4 most recent files opened listed in the File menu (or a configurable number if not 4).  That is all.

Rich
</description>
    <dc:creator>Richard Hennessy</dc:creator>
    <dc:date>2008-05-16T22:48:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21033">
    <title>static condensation</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21033</link>
    <description>_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>ahmet alper parker</dc:creator>
    <dc:date>2008-05-16T13:43:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21032">
    <title>Series solutions to non-linear ODEs?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21032</link>
    <description>
Dear All,

Browsing through the Maxima manual a couple of weeks ago, I thought I
saw a function for finding Taylor-series solutions to systems of
non-linear ODEs.  Only now I can't find it.  Can anyone suggest search
terms that might get me back to this, please?

</description>
    <dc:creator>Dan Hatton</dc:creator>
    <dc:date>2008-05-16T11:38:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21029">
    <title>Problems with the function $specint</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21029</link>
    <description>Because I have only time in the evening hours and I use the time to look at the
code, I can not answer so fast.

I will open a bug report at the weekend.

Perhaps further results I have got are interessting for you:

1. 

I have found a bug in the routine lt-exp and f35p147. This bug prevents the
calculation of integrals with e.g. sin(2*sqrt(a*t)). SPECINT gives the result 0.
Here the output of Maxima after correction:

(%i6) radcan(specint(%e^(-s*t)*sin(2*sqrt(a*t)),t));
(%o6) sqrt(%pi)*sqrt(a)*%e^-(a/s)/s^(3/2)

That is perfectly the tabulated expression and SPECINT now works for a lot of
other integrals too.

2. 

To show how we can extend the algorithm of SPECINT to calculate further
integrals, I have added code to calculate integrals of the form
t^-1*(%e^(-a*t)-%e^(-b*t)). The code works also for integrals like
t^-1*sin(a*t). Here an example

(%i4) specint(%e^(-s*t)*t^-1*sin(a*t),t);
(%o4) %i*(log(s-%i*a)-log(s+%i*a))/2

That's equivalent with the tabulated answer: atan(a/s)

Dieter Kaiser
</description>
    <dc:creator>Dieter Kaiser</dc:creator>
    <dc:date>2008-05-15T23:00:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21025">
    <title>complex function works only after defining it twice</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21025</link>
    <description>First of all i want to say hello, as i am new to this mailing list,
and new to maxima.

I have defined a (programming) function, which take a mathematical
function as an argument, and should give me a new (mathematical)
function:


-8&lt;-------------------------------------
/* the error is defined as

                     | df |             | df |
error(f(x,y, ...)) = | -- | * delta_x + | -- | * delta_y + ...
                     | dx |             | dy |

and is a function of all arguments to f() plus all deltas of its arguments:
df(x, y, ...., dx, dy, ...) */
error(fun, ret) := 
block(
  [
  dep:dependencies,
  N:length(dependencies),
  vars:[],
  all_vars:[],
  dvars:[],
  num_vars,
  reservoir: [d1, d2, d3, d4, d5, d6, d7, d8, d9, d10]
  ],
  /* find out what arguments fun() takes via dependencies */
  (for i:1 step 1 while i&lt;=N
    doif (part(dep[i], 0) = fun) then
    (for j:1 thru length(dep[i])
      do (vars: cons(part(dep[i], j), vars)))),
  vars: reverse(vars),
  num_vars:length(vars),
 
  /* define delta-parameter list */
  (for i:1 thru num_vars
    do dvars: cons(reservoir[i], dvars)),
  dvars: reverse(dvars),
 
  /* argument list for the error function contains
     all of the arguments of the original function
     plus all the deltas of those arguments */
  all_vars: append(vars, dvars),
 
  ret_f: funmake(ret, all_vars),
  temp_f: funmake(tempfunc, all_vars),
  fun_f: funmake(fun, vars),
  pt_f: funmake(pt, vars),

  /* initialize ret(...) */
  define(''ret_f, 0),
  /* main stuff, construct error function */
  (for i:1 thru num_vars
    do (
      define(''pt_f, ''diff(''fun_f, vars[i])),
      define(''temp_f, ''ret_f), /* save current return function */
      define(''ret_f, abs( ''pt_f)*dvars[i] + ''temp_f))), /* add the new partdiff */
 ''ret_f);
-8&lt;------------------------------------

I hope, with the comments, you understand what i am trying to do.
It is (at least for me :) ) not a simple task, as it should work with
any function (of any argument count, with my "reservoir" it is limited
to 10 args...).

The behaviour of the code above is as follows (i have it in a file,
partdiff.max):

(%i1) batchload("partdiff.max");
(%o1)            /home/pixelbrei/projects/maxima/partdiff.max
/* first definition of the function */

(%i2) v(x):=x^2;
                                           2
(%o2)                             v(x) := x
(%i3) depends(v, x);
(%o3)                               [v(x)]
/* define a trivial example function, and inform maxima of the
dependencies */


(%i4) error(v, dv);

Improper function definition:
ret_f
#0: error(fun=v,ret=dv)
 -- an error.  To debug this try debugmode(true);
/* this is the error message it throws. */


(%i5) batchload("partdiff.max");
(%o5)            /home/pixelbrei/projects/maxima/partdiff.max
/* i define the function a second time */

(%i6) error(v, dv);
(%o6)                             2 d1 abs(x)
/* now it works */

The second definition of the function only works, if i try to execute
my "error" function between the two batchloads.
As you see, i pass the name for the function i want to build as a
second argument.

So, can anyone explain why this code behaves like it does?
And/or point me to some changes i can do to make it work the first
time?

Thanks in advance,
 Christoph
</description>
    <dc:creator>Christoph Sarnowski</dc:creator>
    <dc:date>2008-05-15T20:12:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21024">
    <title>Maxima divide question</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21024</link>
    <description>_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>Ronald Modesitt</dc:creator>
    <dc:date>2008-05-15T19:26:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21014">
    <title>apply(+,...), reduce, sum, ...</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21014</link>
    <description>Hi All,

I have a number of related questions that keep popping up, probably because I 
am still new to maxima and am missing something still.

For example, how do convert a list to a sum, 
like from [a,b,c] to a+b+c?

My thoughts and troubles on that so far:

* apply(+,[a,b,c]) does not work because (unlike in lisp) + is an infix   
  operator requiring exactly two arguments.
* But I don't know of a reduce(+,[a,b,c]) that would do the trick as in lisp. 
  Is there something like that available?
* and I dont want to do something uggly like either
   
   lambda([l],sum(l[i],i,1,length(l)))([a,b,c])
   
   or

   block(res:1,
            for e in [a,b,c] do res: res+e,
            res)
   
   Mainly because sometimes maxima doesn't seem to expand such a sum 
   expression them. Can I force maxima to do that?

* I would be happy to do it in lisp but then without having to bother about 
type conversions to much, and I don't know how to do that. Or is this not a 
good idea?

Thanks, Joachim.
</description>
    <dc:creator>Joachim De Beule</dc:creator>
    <dc:date>2008-05-15T15:05:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21010">
    <title>plot3d multiple functions bug?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21010</link>
    <description>I cannot obtain the 3d plotting of  2 functions (and  more functions too):
 
plot3d([7*x-3*y, x^2-y^2], [x,-5,5], [y,-5,5])$

List [7*x-3*y,x^2-y^2] is not of length 3 -- an error.  To debug this 
try debugmode(true);

Is this a bug?
My student needed urgently this feature. Sorry if it is known issue.
___________________________________________

Krzysztof Le`sniak
</description>
    <dc:creator>Krzysztof Leśniak</dc:creator>
    <dc:date>2008-05-15T11:11:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21000">
    <title>Link to a book on Maxima</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/21000</link>
    <description>Dear Sir/Madam:

I'm developing a book on Maxima. The first four chapters are available 
at this web site:

http://www.neng.usu.edu/cee/faculty/gurro/Maxima.html

Would it be possible to list the link in the Maxima Documentation page?

Thanks,

Gilberto Urroz
</description>
    <dc:creator>Gilberto Urroz</dc:creator>
    <dc:date>2008-05-14T00:14:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20999">
    <title>Is it a bug?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20999</link>
    <description>_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>Alexey Beshenov</dc:creator>
    <dc:date>2008-05-14T22:25:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20996">
    <title>vect and vector packages</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20996</link>
    <description>Hello

I was browsing the sources for the vect and vector packages. The
vector package has a warning (from 1978, no less!) saying that it
*might* be broken. The vect package states that it will soon be
replaced (again, in another notice from 1978). What's going to happen
to those packages? Which one is "current"?

Both vect and vector are underdocumentated. The intent of those
packages (AFAIK) is to implement the vector operators (grad, div,
curl, laplacian). The documentation should be improved for these
packages (or, for the package that should be used). How do I help
improve it?

Vector seems to handle the operators in multiple coordinate systems
(coordsystem). Vect has a function that probably has something to do
with that, but I cannot understand it (scalefactor).

I want to work with the operators in, for example, cylindrical
coordinates. Should I use vector, despite its warning? Should I use
vect's scalefactor? How does it work?


Thanks,
Ismael
</description>
    <dc:creator>Ismael Garrido</dc:creator>
    <dc:date>2008-05-14T18:17:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20983">
    <title>Cross product via 3x3 anti-symmetric matrix</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20983</link>
    <description>Hi all you Maxima experts,

I need a cross product via a 3x3 anti-symmetric matrix.

And I don't want to use load("vect") due to the commutative behaviour
with the dot product.

I want the following: A method/macro/whatever that takes a 3x1 vector
                                    [ ax ]
                                    [ ay ]
                                    [ az ]
and creates the following anti-symmetric matrix out of it
                             [  0    - az   ay  ]
                             [  az    0    - ax ]
                             [ - ay   ax    0   ]

Just as a syntactical transformation, putting the vector elements into
the right places inside the matrix (and adding a '-').
                             
I want to use this method in that way (the numbers reflect the
dimensions):

resultmatrix33 : crossp33(matrix33 . vector31) . othermatrix33;

It is important that it can transform the vector even if it is the
result of a calculation like  matrix33 . vector31

I don't know much about LISP so I might be thinking too much in C++
return value terms :-)

Best regards,
weaker
</description>
    <dc:creator>weaker</dc:creator>
    <dc:date>2008-05-13T15:38:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20975">
    <title>second order functions?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20975</link>
    <description>Hi all,

I was wondering how to define a second order function in maxima, i.e. a 
function returning a function.

More concrete: I want to define a function make_fn(n) which should return a 
function fn(x), where the way in which fn(x) is computed depends on the 
initially provided n.

I tried it as follows:

make_fn(n) := lambda([x],n+x)$
fn3: make_fn(3)

but this evaluates to lambda([x], x + n), whereas I want it to evaluate to 
lambda([x], x + 3)

Thanks, Joachim.
</description>
    <dc:creator>Joachim De Beule</dc:creator>
    <dc:date>2008-05-13T13:26:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20974">
    <title>way to resize a matrix?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20974</link>
    <description>Hello, group!

What's the canonical way to resize a matrix?

Here's my dirty solution:

resize_matrix(m,rows,cols):=block([list: flatten(m), a],
  a[i,j]:= list[j+(i-1)*rows],
  genmatrix(a,rows,cols));


--
Andrei Zorine
</description>
    <dc:creator>Andrei Zorine</dc:creator>
    <dc:date>2008-05-13T13:21:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20971">
    <title>Maxima Limit question</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20971</link>
    <description>_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>Ronald Modesitt</dc:creator>
    <dc:date>2008-05-13T03:26:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20970">
    <title>Simplifying boolean expressions?</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20970</link>
    <description>_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>Alasdair McAndrew</dc:creator>
    <dc:date>2008-05-13T00:53:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20957">
    <title>Problems with the function $specint</title>
    <link>http://comments.gmane.org/gmane.comp.mathematics.maxima.general/20957</link>
    <description>I started to look at the code of the Maxima function $specint which calculate
the Laplace transform. I have rearranged the code, drawn flow charts and added a
lot of debug information to find the problems. 

To get an overview of the problems with the code I have taken the tabulated
Laplace transforms from the website of EqWorld. There are 99 Examples tabulated.
47 examples pass the test. 53 examples don't give the tabulated answer. The file
test_eqworld.mac includes comments to the examples which fails. Some answers of
Maxima might be correct, but I can't show that the result is identical to the
tabulated answer. I run this test file with the Maxima CVS-Version and GCL
2.6.8.

I have divided the problems in the following cases:

1. Maxima has no algorithmen:

In most cases Maxima gives an internal symbol like
other-defint-to-follow-negtest or arbpow-failed. This is a known problem. In
some cases we get a correct noun form of the unevaluated integral. At last there
are many problems which gives a wrong answer. 

A lot of examples include terms like t^(-1) ... or t^(-1/2) ... Maxima can't
calculate these integrals but we know solutions.  

A simple type of integral Maxima can't evaluate is the division by the sum of
constants:

(%i7) specint(%e^(-s*t)/(x+y),t);
(%o7) other-defint-to-follow-negtest

In this cases the exponential function is hidden in a summation. I have found a
correction which works generally and gives the correct result:

(%i7) specint(%e^(-s*t)/(x+y),t);
(%o7) (1/(x+y)*s)

2. Maxima has an algorithmen for a special function but don't give the correct
result:

We get no results for functions like bessel_k, bessel_y, log, erf, erfc etc. For
all these functions Laplace transforms are tabulated. Beside the test of EqWorld
I tried to get results for the internal functions %l[n,a](x) - the Laguerre
function - or %he[n](x) - the Hermite function. But I dont' get the expected
result.

Here the example for the Laguerre function:

(%i6) kill(all);
(%o0) done
(%i1) assume(s&gt;0,n&gt;0),declare(n,integer);
(%o1) [s &gt; 0,n &gt; 0]
(%i2) specint(%e^(-2*t)*%l[n,0](t),t);
Maxima encountered a Lisp error:
Error in MACSYMA-TOP-LEVEL [or a callee]: $N is not of type NUMBER.
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
 
After correction of the code:

(%i6) kill(all);
(%o0) done
(%i1) assume(s&gt;0,n&gt;0),declare(n,integer);
(%o1) [s &gt; 0,n &gt; 0]
(%i2) specint(%e^(-s*t)*%l[n,0](t),t);
(%o2) (1-1/s)^n/s

In the case of the Laguerre function I have found a bug in the transformation.
After correction, Maxima gives the expected result for the Laguerre function.
There may be further bugs. Or limitations of the algorithmen prevend the
calculation of results. At least, these limitations should be documented for the
user.

3. Maxima gets extra factors or terms in the result

A simple example is the bessel_i function. Here we get an additional phase
factor (v is the order of the Bessel function): 

  %e^(%i*%pi*v/(-1)^(v/2) 

in all calculations. This factor vanishs when we introduce a small correction to
the code. In other cases the problem seems to be more difficult.


The testsuite shows that Maxima can evaluate a lot of different combinations of
special functions. On the other hand it seems to me that Maxima fails on a lot
of more simple examples.  

If it is interesting for the project I would like to investigate the problems
further and present some corrections to the code.

Dieter Kaiser

_______________________________________________
Maxima mailing list
Maxima&lt; at &gt;math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
</description>
    <dc:creator>Dieter Kaiser</dc:creator>
    <dc:date>2008-05-11T22:40:42</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.comp.mathematics.maxima.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.mathematics.maxima.general</link>
  </textinput>
</rdf:RDF>
