maxima/cygwin.git
8 years agoCommit changelog for Maxima 5.33.branch-5_33-base
Robert Dodier [Wed, 2 Apr 2014 17:17:40 +0000 (2 10:17 -0700)]
Commit changelog for Maxima 5.33.

8 years agoFix bug in mset extension stuff. Fixes bug reported to mailing
Robert Dodier [Tue, 1 Apr 2014 18:31:32 +0000 (1 11:31 -0700)]
Fix bug in mset extension stuff. Fixes bug reported to mailing
list 2014-02-27: "assigning to a list of structure fields does not work"

8 years ago$CONS and friends should treat lists the same as other expressions.
Robert Dodier [Mon, 31 Mar 2014 21:37:39 +0000 (31 14:37 -0700)]
$CONS and friends should treat lists the same as other expressions.

8 years agoUpdate list of share directories and list of share files
Robert Dodier [Mon, 31 Mar 2014 20:03:22 +0000 (31 13:03 -0700)]
Update list of share directories and list of share files
now that kovacicODE.mac was added.

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Mon, 31 Mar 2014 17:41:55 +0000 (31 10:41 -0700)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoCommit kovacicODE.mac by Nijso Beishuizen (renamed from kovacic.mac).
Robert Dodier [Mon, 31 Mar 2014 17:40:57 +0000 (31 10:40 -0700)]
Commit kovacicODE.mac by Nijso Beishuizen (renamed from kovacic.mac).

8 years agoImplementation of feature request db #114
Yasuaki Honda [Sun, 30 Mar 2014 05:22:54 +0000 (30 14:22 +0900)]
Implementation of feature request db #114
Support for gnuplot terminal canvas in draw package.

8 years agoUpdate src/sharefiles.mk
Kris Katterjohn [Sat, 29 Mar 2014 00:58:47 +0000 (28 19:58 -0500)]
Update src/sharefiles.mk

8 years agoRemove 2 duplicate tests in tests/rtest_round.mac
Kris Katterjohn [Fri, 28 Mar 2014 23:19:53 +0000 (28 18:19 -0500)]
Remove 2 duplicate tests in tests/rtest_round.mac

8 years agoHandle arguments of zeroa and zerob in round() and truncate()
Kris Katterjohn [Fri, 28 Mar 2014 23:09:49 +0000 (28 18:09 -0500)]
Handle arguments of zeroa and zerob in round() and truncate()

This is consistent with the behavior of ceiling() and floor().
The test suite runs fine, with new tests.

8 years agoAdd docs for truncate()
Kris Katterjohn [Fri, 28 Mar 2014 22:54:42 +0000 (28 17:54 -0500)]
Add docs for truncate()

8 years agoUpdate docs for floor(), ceiling() and round()
Kris Katterjohn [Fri, 28 Mar 2014 22:49:43 +0000 (28 17:49 -0500)]
Update docs for floor(), ceiling() and round()

These functions distribute over bags.
See commits 74ae8da1 and 1a5f1298.

8 years agoFix typos in descriptive documentation
Mario Rodriguez [Fri, 28 Mar 2014 18:25:15 +0000 (28 19:25 +0100)]
Fix typos in descriptive documentation

8 years agortests for descriptive (by Litvinov Sergey)
Mario Rodriguez [Fri, 28 Mar 2014 18:13:35 +0000 (28 19:13 +0100)]
rtests for descriptive (by Litvinov Sergey)

8 years agoApply patch supplied by T. Papp.
Leo Butler [Fri, 28 Mar 2014 13:45:11 +0000 (28 09:45 -0400)]
Apply patch supplied by T. Papp.
#49 patch fixing comment indentation in Emacs

In maxima.el, comment-indent-function was set to
maxima-comment-indent, which is not defined. This patch sets the
indent function to the default.

8 years agoApply patch provided by S. Litvinov:
Leo Butler [Fri, 28 Mar 2014 13:32:28 +0000 (28 09:32 -0400)]
Apply patch provided by S. Litvinov:
#51 fix a typoe in alt-display info file

8 years agoCommit patch for sound.lisp submitted by Tomio Arisaka.
Robert Dodier [Thu, 27 Mar 2014 22:13:00 +0000 (27 15:13 -0700)]
Commit patch for sound.lisp submitted by Tomio Arisaka.

Tomio writes (in http://article.gmane.org/gmane.comp.mathematics.maxima.general/44931):

    By the way, I had some minor troubles using the sound package.
    So, I fixed them as follows.

    1. $sound_sample_list function does not work with a Lisp error.
       I fixed it (for SBCL).

    2. The option player = "open -a" does not work, 
       because it doesn't accept long directory names with spaces
       or adding command-options.
       I fixed it.
       My solution is that I put a command-path in double-quotes
       and I add $player_options to divide the player-command 
       between a command-path and command-options.

    3. $wxplay function is added for wxMaxima. 
       (and always draws the waveform when it is called)

    For example:
    When I play sounds on Mac OS X, I call the next command using a terminal.
    ('QuickTime Player.app' is a music & movie player built in Mac OS X.)

    open -a '/Applications/QuickTime Player.app' ~/maxout.wav

    So, I set the following options and play sounds with wxMaxima.

    load("~/sound.lisp")$

    set_sound_defaults(
       player         = "open",
       player_options = "-a '/Applications/QuickTime Player.app'",
       draw_wave_options = [dimensions = [800,200]] )$

    wxplay(
       file_name = "sound-out",
       envelope = adsr(0.01, 0.1, 0.8, 0.4),
       attenuation_coef = [1,1/2,1/3],
       note(440,1000,0.5,0,0.6,1.2)) $

    Another player options like following is allowed:

       player = "/usr/bin/open"
       player = "~/maxima/A Maxima Sound package/playsound"

    My environment:
            Mac OS X 10.6.8
            wxMaxima 13.04.0
            Maxima 5.30.0
            SBCL 1.0.55.0

8 years agoCommit sound.lisp by Mario Rodriguez Riotorto as retrieved from: http://riotorto...
Robert Dodier [Thu, 27 Mar 2014 22:11:00 +0000 (27 15:11 -0700)]
Commit sound.lisp by Mario Rodriguez Riotorto as retrieved from: riotorto.users.sourceforge.net/sound/sound.lisp

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Thu, 27 Mar 2014 20:58:04 +0000 (27 13:58 -0700)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoPut built-in operators on *MOPL* list.
Robert Dodier [Thu, 27 Mar 2014 20:57:04 +0000 (27 13:57 -0700)]
Put built-in operators on *MOPL* list.
Fixes SF bug #2695: kill kills built-in properties of operator after user-defined property

8 years agoWhen first argument of "get" or "put" is a string, assume it is the
Robert Dodier [Thu, 27 Mar 2014 18:12:07 +0000 (27 11:12 -0700)]
When first argument of "get" or "put" is a string, assume it is the
name of an operator. E.g. put("*", bar, foo); get("*", foo); => bar

8 years agoUpdate maximaMathML somewhat.
Robert Dodier [Thu, 27 Mar 2014 16:26:10 +0000 (27 09:26 -0700)]
Update maximaMathML somewhat.
 * CtMathML.lisp: second argument must be a string or an output stream
 * PrMathML.lisp: second argument must be a string or an output stream;
      revise float formatting; format lambda expressions; format %build_info
 * ezunits.lisp: format ezunits expressions

8 years agogenfact adjust and adding some examples: realpart, imagpart, factcomb, rectform,...
Jorge Barros de Abreu [Sun, 23 Mar 2014 18:34:41 +0000 (23 15:34 -0300)]
genfact adjust and adding some examples: realpart, imagpart, factcomb, rectform, polarform.

8 years agoRemove mention of "special" declaration in docs for define_variable
Kris Katterjohn [Sun, 23 Mar 2014 17:44:31 +0000 (23 12:44 -0500)]
Remove mention of "special" declaration in docs for define_variable

Maxima "special" declarations (i.e., declare(var, special)) are no longer
supported (since May 2011).  See commits aa3e14aa and d5bf51ea.

8 years agoFix for bug db #2703 plotting option legend causes an error
Yasuaki Honda [Sat, 22 Mar 2014 16:11:44 +0000 (23 01:11 +0900)]
Fix for bug db #2703 plotting option legend causes an error
There is a bug in gnuplot_def.lisp which causes this error.
The code is to detect if [legend,false] is set or not, and if set,
unset is output as gnuplot command.
If [legend,"something"] is set, (getf plot-option :legend) returns
"something" instead of ("something"). But the code assumes the
return value is always a list, and #'first is used to the return
value, causing this error.
The fix is to check if the return value is null, which happens
only when [legend,false] is set.

8 years agoFix for bug db #2699 nticks seems ignored
Yasuaki Honda [Wed, 19 Mar 2014 11:30:30 +0000 (19 20:30 +0900)]
Fix for bug db #2699 nticks seems ignored
The specification for nticks has been changed in the past, but that
was not reflected in the rtest_plot.mac. One test case in rtest_plot.mac
is modified to draw polygonal drawing of a circle with parmeters of
nticks=4 and adapt_depth=1 instead of nticks=8.

8 years agoFix for bug db #2702 plotting option adapt_depth causes an error
Yasuaki Honda [Sun, 16 Mar 2014 10:14:57 +0000 (16 19:14 +0900)]
Fix for bug db #2702 plotting option adapt_depth causes an error
Now, plot_option adapt_depth must be a natural number,
[adapt_depth,0] are replaced with [adapt_depth,1].

8 years agoFix for bug db #2701 plotting option logy causes an error
Yasuaki Honda [Sun, 16 Mar 2014 06:17:11 +0000 (16 15:17 +0900)]
Fix for bug db #2701 plotting option logy causes an error
There was a typing error in around line 1867 of plot.lisp.

8 years agoFix for bug db #2700 plot option psfile causes an error
Yasuaki Honda [Sun, 16 Mar 2014 04:03:48 +0000 (16 13:03 +0900)]
Fix for bug db #2700 plot option psfile causes an error

Option name is changed from psfile to ps_file.

The fix is to reflect the change in rtest_plot.mac.

8 years agoFix for bug db #2671 Since 4833b5 Maxima (with ECL at least) outputs
Yasuaki Honda [Sun, 16 Mar 2014 03:11:59 +0000 (16 12:11 +0900)]
Fix for bug db #2671 Since 4833b5 Maxima (with ECL at least) outputs
palette numbers gnuplot can't read (0.0f0).
The fix is to replace "~f" appeared in format string with "~,8f".
By doing grep '~f' *.lisp in src directory, there are 16 in
gnuplot_def.lisp, 5 in plot.lisp, and 5 in xmaxima_def.lisp.
All such "~f" were replaced.
Also, partial regression tests are added in rtest_plot.mac.

8 years agoMake the rational and irrational properties mutually exclusive
Kris Katterjohn [Fri, 14 Mar 2014 22:48:02 +0000 (14 17:48 -0500)]
Make the rational and irrational properties mutually exclusive

Now an "inconsistent declaration" error is given when trying to declare
a variable to be both rational and irrational.

The test suite runs fine.

8 years agoIf a variable is declared to be irrational, treat it as being real
Kris Katterjohn [Fri, 14 Mar 2014 22:45:44 +0000 (14 17:45 -0500)]
If a variable is declared to be irrational, treat it as being real

Maxima has been treating the irrational property differently from
other real properties when combined with domain:complex or the complex
property.  This has, for instance, led to there being artificial
distinctions between rational and irrational variables.  Here are some
(contrived) examples of different cases:

(%i2) declare(r,rational,i,irrational)$

(%i3) abs(r)^3,domain:complex;
(%o3) r^2*abs(r)
(%i4) abs(i)^3,domain:complex;
(%o4) abs(i)^3

(%i5) abs(r)^(2/3),domain:complex;
(%o5) r^(2/3)
(%i6) abs(i)^(2/3),domain:complex;
(%o6) abs(i)^(2/3)

(%i7) declare(r,complex,i,complex)$

(%i8) rectform(r);
(%o8) r
(%i9) rectform(i);
(%o9) 'realpart(i)+%i*'imagpart(i)

This commit changes DECL-REALP to check for the irrational property.
The test suite runs fine.

8 years agoThis is a fix for bug id #2696.
Yasuaki Honda [Sat, 8 Mar 2014 14:38:10 +0000 (8 23:38 +0900)]
This is a fix for bug id #2696.
After *prompt-prefix* and/or *prompt-suffix* are set, they are
NOT inserted for askinteger() and asksign() on release 5.32.0,
5.32.1 and the latest git. They ARE, however, inserted for main
prompt when set. This happens after the introduction of new
format-prompt architecture in macsys.lisp.

Fix was necessary for both default-format-prompt function in
macsys.lisp and aformat function in mformt.lisp.

default-format-prompt function works now when stream is nil
or a real stream.

aformat function given nil as stream did not work as intended
by the original auther when control-string contained ~M directive.
Now this is fixed.

8 years agonew timing measurements for comppi documented, let CLISP and SBCL run the second...
Volker van Nek [Mon, 10 Mar 2014 13:28:28 +0000 (10 14:28 +0100)]
new timing measurements for comppi documented, let CLISP and SBCL run the second version of comppi

8 years agoreplace some tabs by blanks, no change of code
Volker van Nek [Mon, 10 Mar 2014 13:18:41 +0000 (10 14:18 +0100)]
replace some tabs by blanks, no change of code

8 years agoFix missing and misplaced parentheses in docs for bindtest and splice
Kris Katterjohn [Sun, 9 Mar 2014 02:29:19 +0000 (8 20:29 -0600)]
Fix missing and misplaced parentheses in docs for bindtest and splice

8 years agoI have added two simple tests to rtest_tex.mac:
Yasuaki Honda [Tue, 4 Mar 2014 12:24:48 +0000 (4 21:24 +0900)]
I have added two simple tests to rtest_tex.mac:
tex(make_array(fixnum,5));
and
tex(gf_set_data(2,x^3+1));
and found that these two tests did not pass. This was due to my
mistake on the treatment of character quoting for tex output.
I fixed the issue and resulted the attached patch file.

The issue was that character #\# needs to be quoted when used as an output of tex(). However, the function quote-% does not quote the char. In addition, the simple fix of making quote-% quotes #\# introduces an incompatibility with the existing maxima programs that uses tex() function.

My fix in this patch avoids such incompatibility passes all the regression tests and rtest_tex.mac test.

8 years agopt_BR update. Conclusion year estimated: 2015.
Jorge Barros de Abreu [Sun, 2 Mar 2014 18:23:55 +0000 (2 15:23 -0300)]
pt_BR update. Conclusion year estimated: 2015.

8 years agoFix limit(x^2*exp(-%i*x - x), x, inf)
Dan Gildea [Sun, 2 Mar 2014 18:05:17 +0000 (2 13:05 -0500)]
Fix limit(x^2*exp(-%i*x - x), x, inf)
Fixes bug #2675

o src/limit.lisp:
  expfactor: pass zero from highest order term through to next iteration

o tests/rtest_limit.mac:
  now get one more existing test case correct
  add limit(x^2*exp(-%i*x - x), x, inf);

o tests/rtest16.mac:
  syntactic change in result

8 years agopt_BR update. Including promote_float_to_bigfloat
Jorge Barros de Abreu [Sun, 2 Mar 2014 17:16:05 +0000 (2 14:16 -0300)]
pt_BR update. Including promote_float_to_bigfloat

8 years agoTwo test cases for tex() with lisp objects are added.
Yasuaki Honda [Sat, 1 Mar 2014 03:55:57 +0000 (1 12:55 +0900)]
Two test cases for tex() with lisp objects are added.
tex-atom treats array objects and other objects differently
for string conversion as it is done in msize-atom function in
grind.lisp.
quote-% is now a wrapping function for quote-chars. This does
not change the behavior of quote-% while we allow tex-atom
to quote additional chars #\#.

8 years agoSpecial variable clean-up: cut out declaration for unused specials $SAVEFACTORS and...
Robert Dodier [Thu, 27 Feb 2014 19:30:32 +0000 (27 11:30 -0800)]
Special variable clean-up: cut out declaration for unused specials $SAVEFACTORS and $RATFAC.

8 years agoSpecial variable clean-up: cut out declaration for unused specials QUOTIND and L.
Robert Dodier [Thu, 27 Feb 2014 19:29:14 +0000 (27 11:29 -0800)]
Special variable clean-up: cut out declaration for unused specials QUOTIND and L.

8 years agoFix the single-label case for plotting option 'label'
Kris Katterjohn [Thu, 27 Feb 2014 06:11:05 +0000 (27 00:11 -0600)]
Fix the single-label case for plotting option 'label'

When adding a single label to a plot, the form [label,"label",x,y]
should be equivalent to [label,["label",x,y]].  Previously no label
was being written in this case.

8 years agoFix a reoccurring typo in plotting error messages (argumet -> argument)
Kris Katterjohn [Wed, 26 Feb 2014 22:58:36 +0000 (26 16:58 -0600)]
Fix a reoccurring typo in plotting error messages (argumet -> argument)

8 years agoRe-add the plot_format "openmath" synonym for "xmaxima"
Kris Katterjohn [Wed, 26 Feb 2014 22:56:12 +0000 (26 16:56 -0600)]
Re-add the plot_format "openmath" synonym for "xmaxima"

This synonym was silently dropped in Maxima v5.32.0, even though the
documentation says it should still work.  I imagine this was accidental
since a lot of the plotting functions were redone prior to this release.
See in particular commit 3066cbd7.

This removal broke (at least) the Embedded plotting in XMaxima (fixed
separately as commit 0fe27e05).

8 years agoFix Embedded plotting (Options->Plot Windows->Embedded) in XMaxima
Kris Katterjohn [Wed, 26 Feb 2014 22:33:43 +0000 (26 16:33 -0600)]
Fix Embedded plotting (Options->Plot Windows->Embedded) in XMaxima

The plot format "openmath" has been a synonym for "xmaxima" since commit
33999182 in November 2009.  During the more recent reworkings of the
plotting functions (in December 2013, appearing in Maxima v5.32), this
synonym seems to have been silently dropped even though the documentation
still states that it should work.

This commit simply updates XMaxima to use "xmaxima" instead of "openmath"
for the Embedded plotting.

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Sun, 23 Feb 2014 00:27:46 +0000 (22 16:27 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agobugfix: %pi is now correctly rounded with high probability, improvement: better timin...
Volker van Nek [Sat, 22 Feb 2014 18:13:52 +0000 (22 19:13 +0100)]
bugfix: %pi is now correctly rounded with high probability, improvement: better timing results for gcl,ccl,ecl,cmucl,clisp

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Thu, 20 Feb 2014 03:29:24 +0000 (19 19:29 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoAvoid erroring when computing 1000!^0.1
Rupert Swarbrick [Wed, 19 Feb 2014 22:38:02 +0000 (19 22:38 +0000)]
Avoid erroring when computing 1000!^0.1

This was the original bug report that triggered all the discussion about
promotion to big floats. Unfortunately, I seem to be illiterate and
didn't realise that I'd misread it as 1000!*0.1 until rtoy pointed it
out.

More stupidly still, my changes for the former case actually end up
breaking this example, where exptrl assumed that (addk r1 0.0) was
always a float.

Maybe there's a better fix than this, avoiding any bigfloat conversion
when the result is small enough to fit in a machine float, but here's a
quick fix that at least gives a useful answer rather than a lisp error.

8 years agoFix for bug #2676
Rupert Swarbrick [Wed, 19 Feb 2014 21:16:36 +0000 (19 21:16 +0000)]
Fix for bug #2676

The thing that was actually being tickled by the subscript in this
example was ELEMXPT. Unfortunately, I think if you fix that to deal
correctly with subscripted variables... you get a bind stack
overflow. Eugh.

So I went for a stupider fix in SININT itself, where we replace

  integrate (f(x[y]), x[y])

by

  integrate (f(z), z)

(where z is a gensym, obviously) and then substitute back at the end. I
think this is probably a much more robust approach than playing
whack-a-mole with all the bits of the integration code that assume
variables are atomic.

I don't replace all non-atomic expressions in this way. Presumably this
replacement would already exist if there weren't some integration tricks
we can do that are cleverer than just substituting.

8 years agoFix possible bug in diag.mac
Rupert Swarbrick [Wed, 19 Feb 2014 20:21:22 +0000 (19 20:21 +0000)]
Fix possible bug in diag.mac

This was caused by the (dubious) fact that:

  (%i30) matrix([1]) . matrix([1]);
  (%o30)                                 1

I'm not convinced that this product should be a scalar, but there's an
easy workaround in diag.mac that stops it exploding in this case (in
hindsight, I should probably have tested it with 1x1 matrices before!)

8 years ago%e^^A should not simplify to %e^A
Rupert Swarbrick [Wed, 19 Feb 2014 19:59:19 +0000 (19 19:59 +0000)]
%e^^A should not simplify to %e^A

When A is a literal matrix, the simplification happened because of some
incorrect logic in SIMPNCEXPT. I think this logic is supposed to allow
simplifications like

  u^^3 = u^3

when u is known to be a scalar. I guess that if u=v*w, with v and w
scalar, this is be useful. Unfortunately, it doesn't deal with the
possibility that ^^ is being used to raise by a matrix.

With this patch, the matrix example gives a noun form (which, although
not particularly helpful, does have the advantage of not being wrong!)

8 years agolisp objects can be passed to tex()
Yasuaki Honda [Tue, 18 Feb 2014 14:17:55 +0000 (18 23:17 +0900)]
lisp objects can be passed to tex()

8 years agoAdd the promote_float_to_bigfloat option variable
Rupert Swarbrick [Tue, 18 Feb 2014 21:33:26 +0000 (18 21:33 +0000)]
Add the promote_float_to_bigfloat option variable

This controls automatic promotion on floating point overflow. The patch
contains code that (I think!) makes everything work, together with a
simple test and some documentation.

While writing the documentation, I noticed the float2bf variable (that
I'd never noticed before). It occurred to me that maybe we should just
use that as a flag instead. "float2bf" is a generic enough name that it
describes this operation too, and maybe this is a good way to avoid yet
another flag. On the flip side, flags with multiple magic properties are
confusing...

I'll push this for now, and copy the above to the mailing list for
discussion. Hopefully we can decide the best way to structure this
before the next release.

8 years agoFix build of pt_BR docs
Rupert Swarbrick [Tue, 18 Feb 2014 20:39:55 +0000 (18 20:39 +0000)]
Fix build of pt_BR docs

Since I don't speak a word of Portuguese, let alone a Brazilian flavour,
I'm a little wary about editing these... But all I've done is moved two
subsubsections up to subsection level. These were directly contained in
a section, which wouldn't compile with the version of texinfo I have
here.

The German docs don't compile on my system at the moment. I do speak a
little German, but the torrent of error messages on the screen in front
of me suggests that fixing that might be rather more work!

8 years agoimprove power tables and introduce nth root in GF
Volker van Nek [Sun, 16 Feb 2014 12:11:51 +0000 (16 13:11 +0100)]
improve power tables and introduce nth root in GF

8 years agoimprove comppi and make sure that %e and %pi are correct up to one mio digits
Volker van Nek [Sun, 16 Feb 2014 11:59:55 +0000 (16 12:59 +0100)]
improve comppi and make sure that %e and %pi are correct up to one mio digits

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Thu, 13 Feb 2014 19:45:06 +0000 (13 11:45 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoAdd Wronskian tests for hankel_1 and hankel_2
Kris Katterjohn [Wed, 12 Feb 2014 22:06:20 +0000 (12 16:06 -0600)]
Add Wronskian tests for hankel_1 and hankel_2

These test the numerical value of hankel_1 and hankel_2 with real order
(both real and complex argument) and complex order (complex argument).

There doesn't seem to be any other test in the test suite for the Hankel
functions, and functions.wolfram.com doesn't have an evaluation tool for
them like it does for the other Bessel functions.

8 years agoNumerically evaluate hankel_1 and hankel_2 when the order is complex
Kris Katterjohn [Wed, 12 Feb 2014 21:59:49 +0000 (12 15:59 -0600)]
Numerically evaluate hankel_1 and hankel_2 when the order is complex

While the Hankel functions are defined using the Bessel functions J and Y,
hankel_1 and hankel_2 didn't support numerical evaluation when the order
was complex even though bessel_j and bessel_y did.

Numerical evaluation of hankel_1 and hankel_2 with complex orders is now
done using the hypergeometric representation of bessel_j and bessel_y.

(Also, while updating the documentation for hankel_1 and hankel_2, the
script update_examples has been run on Special.texi)

The test suite runs fine.

8 years agoRemove code duplication of the hypergeometric representation of the
Kris Katterjohn [Wed, 12 Feb 2014 21:55:11 +0000 (12 15:55 -0600)]
Remove code duplication of the hypergeometric representation of the
Bessel functions.

The hypergeometric representation of the Bessel functions bessel_j,
bessel_y, bessel_i and bessel_k is used when the order is complex,
and it's also returned when hypergeometric_representation is true.
This commit removes the duplication that was present between these
two cases for each function.

The test suite runs fine.

8 years agoAdd some tests for Bessel functions with complex order
Kris Katterjohn [Wed, 12 Feb 2014 21:49:21 +0000 (12 15:49 -0600)]
Add some tests for Bessel functions with complex order

This adds tests for the numerical value of bessel_j, bessel_y, bessel_i
and bessel_k with complex order.  The reference values were obtained from
functions.wolfram.com as with the existing tests.

8 years agoFix some copy-and-paste mistakes (and typos) in rtest14.mac comments
Kris Katterjohn [Wed, 12 Feb 2014 21:47:48 +0000 (12 15:47 -0600)]
Fix some copy-and-paste mistakes (and typos) in rtest14.mac comments

8 years agoAdding examples in Simplification.texi: opproperties, negdistrib, linear
Jorge Barros de Abreu [Wed, 12 Feb 2014 21:19:50 +0000 (12 19:19 -0200)]
Adding examples in Simplification.texi: opproperties, negdistrib, linear

8 years agoSpecial variable clean-up: cut out declaration for unused special COMPLEXSIGN.
Robert Dodier [Sun, 9 Feb 2014 23:46:30 +0000 (9 15:46 -0800)]
Special variable clean-up: cut out declaration for unused special COMPLEXSIGN.

8 years agoSpecial variable clean-up: (1) Replace special YYY with lexical.
Robert Dodier [Sun, 9 Feb 2014 23:45:54 +0000 (9 15:45 -0800)]
Special variable clean-up: (1) Replace special YYY with lexical.
(2) Cut out declarations for unused specials PROB, ROOTFAC, SIMP, and BIGFLOATZERO.

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Sun, 9 Feb 2014 22:00:41 +0000 (9 14:00 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoAdding an example for distribute_over in Simplification.texi
Jorge Barros de Abreu [Sun, 9 Feb 2014 18:59:07 +0000 (9 16:59 -0200)]
Adding an example for distribute_over in Simplification.texi

8 years agopt_BR update. Conclusion year estimated: 2015.
Jorge Barros de Abreu [Sun, 9 Feb 2014 18:47:04 +0000 (9 16:47 -0200)]
pt_BR update. Conclusion year estimated: 2015.

8 years agoAdding an example for noundisp in Evaluation.texi
Jorge Barros de Abreu [Sun, 9 Feb 2014 18:42:14 +0000 (9 16:42 -0200)]
Adding an example for noundisp in Evaluation.texi

8 years agoMake $tex1 reduce rather than apply. Fixes bug report #2687, call-arguments-limit...
Leo Butler [Mon, 3 Feb 2014 12:49:35 +0000 (3 07:49 -0500)]
Make $tex1 reduce rather than apply. Fixes bug report #2687, call-arguments-limit easily exhaustable in tex1.

8 years agoMove code for formatting floats out of EXPLODEN into a separate function.
Robert Dodier [Mon, 3 Feb 2014 02:35:10 +0000 (2 18:35 -0800)]
Move code for formatting floats out of EXPLODEN into a separate function.
No functional changes.

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Fri, 31 Jan 2014 20:07:08 +0000 (31 12:07 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoFix bug number in test
Rupert Swarbrick [Thu, 30 Jan 2014 23:47:56 +0000 (30 23:47 +0000)]
Fix bug number in test

It turns out I can't drive SourceForge's bug system. This patch just
makes the comment on a test point at the right bug...

8 years agoTrivial change to fix some subscripted integration
Rupert Swarbrick [Thu, 30 Jan 2014 23:37:39 +0000 (30 23:37 +0000)]
Trivial change to fix some subscripted integration

$DEFINT used STRIPDOLLAR to make a temporary integration variable when
you passed it a subscripted variable. This turns out to be less than
brilliant... The first example in #2676 hit this bug because it was
using x[1]. It turns out that X is the dummy variable used in the
integral lookup table (and (STRIPDOLLAR $X) => X).

Gensyms seem a saner way to make symbols...

8 years agoDocument SUM-OF-INTSP & make it a bit more efficient
Rupert Swarbrick [Thu, 30 Jan 2014 22:39:26 +0000 (30 22:39 +0000)]
Document SUM-OF-INTSP & make it a bit more efficient

I was trying to track down another bug and had to think hard to work out
what this function was doing, so I figure I may as well leave the
documentation for the next visitor...

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Thu, 30 Jan 2014 22:48:48 +0000 (30 14:48 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoAdding an example for commutative in Simplification.texi
Jorge Barros de Abreu [Wed, 29 Jan 2014 08:24:51 +0000 (29 06:24 -0200)]
Adding an example for commutative in Simplification.texi

8 years agoAdding an example for combine in Simplification.texi
Jorge Barros de Abreu [Wed, 29 Jan 2014 08:02:12 +0000 (29 06:02 -0200)]
Adding an example for combine in Simplification.texi

8 years agopt_BR update. Conclusion year estimated: 2015.
Jorge Barros de Abreu [Wed, 29 Jan 2014 06:54:12 +0000 (29 04:54 -0200)]
pt_BR update. Conclusion year estimated: 2015.

8 years agopt_BR update. **passes** translation note.
Jorge Barros de Abreu [Wed, 29 Jan 2014 06:07:51 +0000 (29 04:07 -0200)]
pt_BR update. **passes** translation note.

8 years agoDeal more robustly with floating point errors
Rupert Swarbrick [Tue, 28 Jan 2014 23:04:32 +0000 (28 23:04 +0000)]
Deal more robustly with floating point errors

When we would have got a floating point exception, build the relevant
bigfloat instead.

  (%i180) 1000! * 0.01;

  (%o180) 4.023872600770938b2565
  (%i181) 1000! + 0.01;

  (%o181) 4.023872600770938b2567

This works on every supported lisp except Allegro, where handling a
type-error doesn't work. I intend to push this (which doesn't make
things worse on Allegro). If the missing functionality is annoying an
Allegro user, maybe someone with more experience of Franz lisps can
figure out a patch.

This fixes bug 2680 on non-Allegro lisps and, I suspect, helps lots of
other confused users. Searching the web for the strings that SBCL gives
on floating point overflow returns hits that include up Sage and
Launchpad bug reports about Maxima!

My logic for why this is "clearly the right thing to do" is that Lisp
has arbitrary sized integers. Maxima also has arbitrary sized floats, so
we should try to use them to avoid things exploding. I was a little
worried that there would be a massive performance hit, but was
pleasantly surprised.

Test suite timings slow down slightly on GCL (4%), CMUCL (3%). On the
other implementations, there doesn't seem to be a dramatic
difference. Bizarrely, CCL seems to get 2% faster! On those lisps that
report it, the number of bytes consed usually goes down with the patch,
by 0.5% or so.

Note that the "after patch" row doesn't include tests 251-253 of
rtest15.mac which I removed (because eg. 2*foo is no longer NaN), but I
hardly think they take 13 seconds...

8 years agopt_BR update. adjust incorrect sectioning for alt-display.
Jorge Barros de Abreu [Tue, 28 Jan 2014 13:30:03 +0000 (28 11:30 -0200)]
pt_BR update. adjust incorrect sectioning for alt-display.

8 years agoFix bug 2681
Rupert Swarbrick [Mon, 27 Jan 2014 00:15:40 +0000 (27 00:15 +0000)]
Fix bug 2681

This fix is deep inside solve_rec.mac that (to me, at least) is rather
scary code. Anyway, I think I've understood what the get_exps function
was supposed to be doing (and I've added comments to explain what I
think it does). The bug in the original post was triggered by
solve_rec_lin_cc making assumptions about the format of the result of
get_exps which weren't guaranteed to be true. My solution is to make
get_exps much more robust and (I think!) it now always returns data in
the format that solve_rec_lin_cc expects.

I've also renamed get_exps to solve_rec_get_exps to alleviate name
clashes.

8 years agoFix bug 2682
Rupert Swarbrick [Sun, 26 Jan 2014 18:45:44 +0000 (26 18:45 +0000)]
Fix bug 2682

The error was a misreading of
http://numbers.computation.free.fr/Constants/Miscellaneous/zetaevaluations.pdf (the
paper that explains how to compute the result). To approximate the
number of terms required we were using the second bound in proposition
2, but that's only valid for negative sigma.

8 years agoSpecial variable clean-up: cut out unused specials.
Robert Dodier [Sat, 25 Jan 2014 05:02:29 +0000 (24 21:02 -0800)]
Special variable clean-up: cut out unused specials.

8 years agoMake some small improvements to the orthopoly function documentation
Kris Katterjohn [Fri, 24 Jan 2014 02:02:56 +0000 (23 20:02 -0600)]
Make some small improvements to the orthopoly function documentation

8 years agoUpdate src/sharefiles.mk
Kris Katterjohn [Fri, 24 Jan 2014 01:57:08 +0000 (23 19:57 -0600)]
Update src/sharefiles.mk

8 years agoSpecial variable clean-up:
Robert Dodier [Tue, 21 Jan 2014 20:31:16 +0000 (21 12:31 -0800)]
Special variable clean-up:
 * src/rat3c.lisp: cut out declaration for unused special $FLOAT
 * src/rat3d.lisp: cut out redundant declaration for $INTFACLIM
 * src/rat3e.lisp: cut out declaration for unused special TRUNCLIST

8 years agopt_BR update. Revert prompt-related commits --- Update of doc/info to add the documen...
Jorge Barros de Abreu [Tue, 21 Jan 2014 08:19:55 +0000 (21 06:19 -0200)]
pt_BR update. Revert prompt-related commits --- Update of doc/info to add the documentation for alt-display.

8 years agoMerge branch 'master' of ssh://git.code.sf.net/p/maxima/code
Robert Dodier [Mon, 20 Jan 2014 20:27:11 +0000 (20 12:27 -0800)]
Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code

8 years agoCut out logand, logor, logxor from functs.mac, per discussion
Robert Dodier [Mon, 20 Jan 2014 19:59:03 +0000 (20 11:59 -0800)]
Cut out logand, logor, logxor from functs.mac, per discussion
on mailing list circa 2014-01-18 and 2008-03-22; superseded by functions in share package "bitwise".

8 years agoAdd a hook to format-prompt, $alt_format_prompt, to allow customized
Leo Butler [Mon, 13 Jan 2014 23:19:59 +0000 (13 18:19 -0500)]
Add a hook to format-prompt, $alt_format_prompt, to allow customized
prompts. The format-prompt function is now a dispatcher, which
mfuncalls $alt_format_prompt or default-format-prompt (which is the
old format-prompt).

See http://www.math.utexas.edu/pipermail/maxima/2013/034765.html
and the related discussion.

8 years agoUpdate of doc/info to add the documentation for alt-display.
Leo Butler [Mon, 13 Jan 2014 22:54:39 +0000 (13 17:54 -0500)]
Update of doc/info to add the documentation for alt-display.

8 years agoAdded alt-display, a package to manipulate the prompt and alt-display hooks.
Leo Butler [Mon, 13 Jan 2014 22:52:13 +0000 (13 17:52 -0500)]
Added alt-display, a package to manipulate the prompt and alt-display hooks.
Includes documentation.

8 years agoCorrect some comments in tests/rtest14.mac
Kris Katterjohn [Sun, 12 Jan 2014 22:47:06 +0000 (12 16:47 -0600)]
Correct some comments in tests/rtest14.mac

8 years agoAdd/correct tests for real- and imagpart of expintegral_si with real argument
Kris Katterjohn [Sun, 12 Jan 2014 22:37:04 +0000 (12 16:37 -0600)]
Add/correct tests for real- and imagpart of expintegral_si with real argument

This just corrects what was probably a copy-and-paste mistake, because the
surrounding comments and tests make it obvious this was supposed to test
expintegral_si (instead of having a duplicate test for expintegral_ei).

8 years agoSpecial variable clean-up: remove declaration for unused special $RATEPSILON.
Robert Dodier [Sat, 11 Jan 2014 21:27:56 +0000 (11 13:27 -0800)]
Special variable clean-up: remove declaration for unused special $RATEPSILON.