Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2002 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}
(67) 
_{Jul}
(61) 
_{Aug}
(49) 
_{Sep}
(43) 
_{Oct}
(59) 
_{Nov}
(24) 
_{Dec}
(18) 

2003 
_{Jan}
(34) 
_{Feb}
(35) 
_{Mar}
(72) 
_{Apr}
(42) 
_{May}
(46) 
_{Jun}
(15) 
_{Jul}
(64) 
_{Aug}
(62) 
_{Sep}
(22) 
_{Oct}
(41) 
_{Nov}
(57) 
_{Dec}
(56) 
2004 
_{Jan}
(48) 
_{Feb}
(47) 
_{Mar}
(33) 
_{Apr}
(39) 
_{May}
(6) 
_{Jun}
(17) 
_{Jul}
(19) 
_{Aug}
(10) 
_{Sep}
(14) 
_{Oct}
(74) 
_{Nov}
(80) 
_{Dec}
(22) 
2005 
_{Jan}
(43) 
_{Feb}
(33) 
_{Mar}
(52) 
_{Apr}
(74) 
_{May}
(32) 
_{Jun}
(58) 
_{Jul}
(18) 
_{Aug}
(41) 
_{Sep}
(71) 
_{Oct}
(28) 
_{Nov}
(65) 
_{Dec}
(68) 
2006 
_{Jan}
(54) 
_{Feb}
(37) 
_{Mar}
(82) 
_{Apr}
(211) 
_{May}
(69) 
_{Jun}
(75) 
_{Jul}
(279) 
_{Aug}
(139) 
_{Sep}
(135) 
_{Oct}
(58) 
_{Nov}
(81) 
_{Dec}
(78) 
2007 
_{Jan}
(141) 
_{Feb}
(134) 
_{Mar}
(65) 
_{Apr}
(49) 
_{May}
(61) 
_{Jun}
(90) 
_{Jul}
(72) 
_{Aug}
(53) 
_{Sep}
(86) 
_{Oct}
(61) 
_{Nov}
(62) 
_{Dec}
(101) 
2008 
_{Jan}
(100) 
_{Feb}
(66) 
_{Mar}
(76) 
_{Apr}
(95) 
_{May}
(77) 
_{Jun}
(93) 
_{Jul}
(103) 
_{Aug}
(76) 
_{Sep}
(42) 
_{Oct}
(55) 
_{Nov}
(44) 
_{Dec}
(75) 
2009 
_{Jan}
(103) 
_{Feb}
(105) 
_{Mar}
(121) 
_{Apr}
(59) 
_{May}
(103) 
_{Jun}
(82) 
_{Jul}
(67) 
_{Aug}
(76) 
_{Sep}
(85) 
_{Oct}
(75) 
_{Nov}
(181) 
_{Dec}
(133) 
2010 
_{Jan}
(107) 
_{Feb}
(116) 
_{Mar}
(145) 
_{Apr}
(89) 
_{May}
(138) 
_{Jun}
(85) 
_{Jul}
(82) 
_{Aug}
(111) 
_{Sep}
(70) 
_{Oct}
(83) 
_{Nov}
(60) 
_{Dec}
(16) 
2011 
_{Jan}
(61) 
_{Feb}
(16) 
_{Mar}
(52) 
_{Apr}
(41) 
_{May}
(34) 
_{Jun}
(41) 
_{Jul}
(57) 
_{Aug}
(73) 
_{Sep}
(21) 
_{Oct}
(45) 
_{Nov}
(50) 
_{Dec}
(28) 
2012 
_{Jan}
(70) 
_{Feb}
(36) 
_{Mar}
(71) 
_{Apr}
(29) 
_{May}
(48) 
_{Jun}
(61) 
_{Jul}
(44) 
_{Aug}
(54) 
_{Sep}
(20) 
_{Oct}
(28) 
_{Nov}
(41) 
_{Dec}
(137) 
2013 
_{Jan}
(62) 
_{Feb}
(55) 
_{Mar}
(31) 
_{Apr}
(23) 
_{May}
(54) 
_{Jun}
(54) 
_{Jul}
(90) 
_{Aug}
(46) 
_{Sep}
(38) 
_{Oct}
(60) 
_{Nov}
(92) 
_{Dec}
(17) 
2014 
_{Jan}
(62) 
_{Feb}
(35) 
_{Mar}
(72) 
_{Apr}
(30) 
_{May}
(97) 
_{Jun}
(81) 
_{Jul}
(63) 
_{Aug}
(64) 
_{Sep}
(28) 
_{Oct}
(45) 
_{Nov}
(48) 
_{Dec}
(109) 
2015 
_{Jan}
(106) 
_{Feb}
(36) 
_{Mar}
(65) 
_{Apr}
(63) 
_{May}
(95) 
_{Jun}
(56) 
_{Jul}
(48) 
_{Aug}
(55) 
_{Sep}
(100) 
_{Oct}
(57) 
_{Nov}
(33) 
_{Dec}
(46) 
2016 
_{Jan}
(76) 
_{Feb}
(53) 
_{Mar}
(88) 
_{Apr}
(79) 
_{May}
(62) 
_{Jun}
(65) 
_{Jul}
(37) 
_{Aug}
(23) 
_{Sep}
(108) 
_{Oct}
(68) 
_{Nov}
(66) 
_{Dec}
(47) 
2017 
_{Jan}
(55) 
_{Feb}
(11) 
_{Mar}
(30) 
_{Apr}
(19) 
_{May}
(14) 
_{Jun}
(21) 
_{Jul}
(30) 
_{Aug}
(48) 
_{Sep}
(39) 
_{Oct}
(30) 
_{Nov}
(75) 
_{Dec}
(28) 
2018 
_{Jan}
(70) 
_{Feb}

_{Mar}

_{Apr}
(1) 
_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 






1
(7) 
2
(8) 
3
(9) 
4
(3) 
5
(5) 
6
(1) 
7
(1) 
8
(1) 
9
(2) 
10

11

12
(1) 
13
(1) 
14
(5) 
15
(5) 
16

17

18

19
(3) 
20
(1) 
21
(1) 
22
(3) 
23

24
(2) 
25

26

27

28

29
(2) 
30
(1) 
31







From: SourceForge.net <noreply@so...>  20030809 13:52:45

Bugs item #571678, was opened at 20020620 11:48 Message generated for change (Settings changed) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=571678&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Raymond Toy (rtoy) Assigned to: Nobody/Anonymous (nobody) Summary: describe(diff) doesn't describe diff fun Initial Comment: describe(diff) lists a bunch of options, one of which is for DIFF. When selecting this, the documentation for the special symbol DIFF is returned. The documentation for the DIFF function isn't mentioned.  Comment By: Raymond Toy (rtoy) Date: 20020628 12:24 Message: Logged In: YES user_id=28849 For want of a better solution, I think we can just move the doc for the special symbol after the definition of the function. The special sym is described in EV.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=571678&group_id=4933 
From: SourceForge.net <noreply@so...>  20030809 02:36:10

Bugs item #703754, was opened at 20030314 18:56 Message generated for change (Comment added) made by wjenkner You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=703754&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Barton Willis (willisb) Assigned to: Nobody/Anonymous (nobody) Summary: tex('limit(x,x,0)) Initial Comment: Tex is broken for limits (C1) tex('limit(x,x,5,plus)); $$\lim x$$ (D1) FALSE Try to fix it by loading mactex.lisp; this doesn't help (C2) load("mactex.lisp"); (D2) C:/maxima/Maxima/share/maxima/5.9.0/src/mactex.lisp (C3) tex('limit(x,x,5,plus)); $$\lim x$$ (D3) FALSE Try fixing it by loading a file that contains limit.lisp (defprop %limit texlimit tex)  (C4) load("l:/limit.lisp"); (D4) l:/limit.lisp Now tex('limit ...) works. Why? (C5) tex('limit(x,x,5,plus)); $$\lim_{x\rightarrow 5}{x}$$ (D5) FALSE What's the story? mactex.lisp seems to contain the (defprop %limit texlimit tex) Maxima version: 5.9.0 Maxima build date: 19:10 2/9/2003 host type: i686pcmingw32 lispimplementationtype: Kyoto Common Lisp lispimplementationversion: GCL25.0 Barton  >Comment By: Wolfgang Jenkner (wjenkner) Date: 20030809 04:36 Message: Logged In: YES user_id=581700 Committed.  Comment By: Wolfgang Jenkner (wjenkner) Date: 20030314 19:32 Message: Logged In: YES user_id=581700 Is this fix OK? Wolfgang Index: mactex.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/mactex.lisp,v retrieving revision 1.14 diff C2 r1.14 mactex.lisp *** mactex.lisp 27 Aug 2002 22:29:55 0000 1.14  mactex.lisp 14 Mar 2003 18:13:50 0000 *************** *** 747,751 **** ; Latex's "ker" is ... ? ; Latex's "lg" is ... ? ! (%limit "\lim ") ; Latex's "liminf" ... ? ; Latex's "limsup" ... ?  747,751  ; Latex's "ker" is ... ? ; Latex's "lg" is ... ? ! ; lim is handled by texlimit. ; Latex's "liminf" ... ? ; Latex's "limsup" ... ?  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=703754&group_id=4933 
From: SourceForge.net <noreply@so...>  20030808 23:50:22

Bugs item #776441, was opened at 20030723 20:25 Message generated for change (Comment added) made by wjenkner You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=776441&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: orderlessp not transitive Initial Comment: l: [z+x*(x+2)+v+1,z+x^2+x+v+1,z+(x+1)^2+v]; orderlessp(l[1],l[2]) => True orderlessp(l[2],l[3]) => True orderlessp(l[1],l[3]) => False !!! More concise example: q: x^2; r: (x+1)^2; s: x*(x+2); orderlessp(q,r) => true orderlessp(r,s) => true orderlessp(s,q) => true That is, s<q<r<s. The problem is somewhere in the internal great function, which by the way does some strange things, in particular: why does ordlist have an explicit check for mplus: (RETURN (COND ((= L2 0) (EQ CX 'MPLUS)) (Thanks to Barton for his contributions to tracking this down.) Maxima 5.9.0 GCL 2.5.0  >Comment By: Wolfgang Jenkner (wjenkner) Date: 20030809 01:50 Message: Logged In: YES user_id=581700 This one doesn't even involve MEXPT (I found it while checking one of the cases needed for proving that ORDLIST implements a consistent way of extending a given total order on a set of simplified expressions to their simplified sums and products. So it doesn't...) (C1) orderlessp(t/2,t); (D1) TRUE (C2) orderlessp(t,t+1/4); (D2) TRUE (C3) orderlessp(t/2,t+1/4); (D3) FALSE The point is that t/2 is ((MTIMES SIMP) ((RAT SIMP) 1 2) $t) and, lexicographically, we have (t, 1/2) < (t, 1), (t, 0) < (t, 1/4) and (t, 1/2, *) > (t, 1/4, +). So t corresponds to (t, 1) in the first comparison and to (t, 0) in the second comparison. Trouble. Floats instead of rational numbers give the same results, by the way. This one is more like Stavros's examples. (C1) orderlessp((x+1)^2,x^21); (D1) TRUE (C2) orderlessp(x^21,x^2); (D2) TRUE (C3) orderlessp((x+1)^2,x^2); (D3) FALSE Maybe powers whose exponents are positive integers should be treated like products. Actually, ORDMEXPT does this already but it isn't always called by ORDFN, for whatever reason. Anyway, here is the patch I'm currently experimenting with (it solves all the issues reported by Stavros and also the last example above, but in light of the other example it is certainly far from being a complete solution. It might even be totally wrong since I have no reason to believe that it is more than a simple palliative and that it would make things more consistent). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cut ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Index: simp.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/simp.lisp,v retrieving revision 1.5 diff C2 r1.5 simp.lisp *** simp.lisp 5 Mar 2003 01:36:26 0000 1.5  simp.lisp 8 Aug 2003 19:10:57 0000 *************** *** 1848,1854 **** ((MEMQ CX '(MPLUS MTIMES)) (COND ((MEMQ CY '(MPLUS MTIMES)) (ORDLIST (CDR X) (CDR Y) CX CY)) ! ((ALIKE1 (SETQ U (CAR (LAST X))) Y) (NOT (ORDHACK X))) ! ((AND (EQ CX 'MPLUS) (EQ CY 'MEXPT) (MPLUSP (CADR Y))) (NOT (ORDMEXPT Y X))) (T (GREAT U Y)))) ((MEMQ CY '(MPLUS MTIMES)) (NOT (ORDFN Y X)))  1848,1854  ((MEMQ CX '(MPLUS MTIMES)) (COND ((MEMQ CY '(MPLUS MTIMES)) (ORDLIST (CDR X) (CDR Y) CX CY)) ! ((AND (EQ CX 'MPLUS) (EQ CY 'MEXPT)) (NOT (ORDMEXPT Y X))) + ((ALIKE1 (SETQ U (CAR (LAST X))) Y) (NOT (ORDHACK X))) (T (GREAT U Y)))) ((MEMQ CY '(MPLUS MTIMES)) (NOT (ORDFN Y X))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cut ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  Comment By: Stavros Macrakis (macrakis) Date: 20030805 06:35 Message: Logged In: YES user_id=588346 More amusing consequences: q+r+s => (x+1)^2+x^2+x*(x+2) expand(%,0,0) => x^2+x*(x+2)+(x+1)^2 expand(%,0,0) => x*(x+2)+(x+1)^2+x^2 expand(%,0,0) => (x+1)^2+x^2+x*(x+2) q+r+srqs => (x+1)^2+x^2+x*(x+2)(x+1)^2x^2x* (x+2) expand(%,0,0) => x^2x^2 expand(%,0,0) => 0 I haven't found an example where simptimes fails, though. Fateman reports that this bug is also found in commercial Macsyma 2.4, and calls it a Methuselah bug because it has persisted for so long  presumably it has been around for 30+ years.  Comment By: Stavros Macrakis (macrakis) Date: 20030725 16:26 Message: Logged In: YES user_id=588346 This not only screws up SORT etc., but even basic simplification, since simplus, simptimes, etc. depend on great: q+r+s => (x+1)^2+x^2+x*(x+2) q+s+r => x^2+x*(x+2)+(x+1)^2 (q+s+r)(q+s+r) => x^2x^2 (q+s+r)(s+q+r) => x^2x^2 (q+r+s)(q+s+r) => x (x + 2)  x (x + 2)  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=776441&group_id=4933 
From: SourceForge.net <noreply@so...>  20030807 15:14:02

Bugs item #783847, was opened at 20030805 20:35 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783847&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Barton Willis (willisb) Assigned to: Nobody/Anonymous (nobody) Summary: assignments to %i, inf, ... Initial Comment: Maxima allows assignments to %i, inf, ind, and und. An assignments to %i is especially troublesome (C1) %i : 42; (D1) 42 (C2) %i^2; (D2) 1764 The fix is to give $ind and $und the sysconst property. (The fix is mostly due to Stavros.) Thus change (simp.lisp) (evalwhen (load) (MAPC #'(LAMBDA (X) (MPUTPROP X T '$CONSTANT) (PUTPROP X T 'SYSCONST)) '($%PI $%I $%E $%PHI $INF $MINF $INFINITY %I $%GAMMA))) to (evalwhen (load) (MAPC #'(LAMBDA (X) (MPUTPROP X T '$CONSTANT) (PUTPROP X T 'SYSCONST)) '($%PI $%I $%E $%PHI $INF $MINF $INFINITY %I $%GAMMA $ind $und))) Additionally, I think it would be okay to give $unknown, $pos, $neg, $zero, $pz, $nz, $pn, and $pnz the sysconst property. Now disallow assignments to sysconsts by changing mset to (mlisp.lisp) to (DEFUN MSET (X Y) (declare (object y x)) (PROG NIL (COND ((OR (NULL $SETCHECK) (EQ $SETCHECK '$SETCHECK))) ((AND (OR (ATOM $SETCHECK) (MEMALIKE X (CDR $SETCHECK)) (AND (NOT (ATOM X)) (MEMALIKE (CAAR X) (CDR $SETCHECK)))) (NOT (EQ X Y))) (DISPLA (LIST '(MTEXT) (DISP2 X) ' set to  Y)) (IF $SETCHECKBREAK (LET (($SETVAL Y)) (MERRBREAK T) (SETQ Y $SETVAL))))) (COND ((ATOM X) (WHEN (OR (NOT (SYMBOLP X)) (MEMQ X '(T NIL)) (MGET X '$NUMER) (char= (GETCHARN X 1) #\&) (get x 'sysconst)) ;; prevent assignments to system consts (IF MUNBINDP (RETURN NIL)) (IF (MGET X '$NUMER) (MERROR "~:M improper value assignment to a numerical quantity" X) (MERROR "~:M improper value assignment" X))) (LET ((F (GET X 'ASSIGN))) (IF (AND F (OR (NOT (EQ X Y)) (MEMQ F '(NEVERSET READ ONLYASSIGN)))) (IF (EQ (FUNCALL F X Y) 'MUNBINDP) (RETURN NIL)))) (COND ((AND (NOT (BOUNDP X)) (NOT DSKSETP)) (ADD2LNC X $VALUES)) ((AND (NOT (EQ X Y)) (OPTIONP X)) (IF $OPTIONSET (MTELL "~:M option is being set.~%" X)) (IF (NOT (EQ X '$LINENUM)) (ADD2LNC X $MYOPTIONS)))) (RETURN (SET X Y))) ((MEMQ 'ARRAY (CDAR X)) (RETURN (ARRSTORE X Y))) ((AND $SUBSCRMAP (MEMQ (CAAR X) '(MLIST $MATRIX))) (RETURN (OUTERMAP1 'MSET X Y))) (T (MERROR "Improper value assignment:~% ~M" X))))) After the fixes (C1) load("mset.x86f"); (D2) mset.x86f (C3) und : 13; UND improper value assignment  an error. Quitting. To debug this try DEBUGMODE (TRUE);) (C4) inf : 34; INF improper value assignment  an error. Quitting. To debug this try DEBUGMODE (TRUE);) (C5) %i : 1; %I improper value assignment  an error. Quitting. To debug this try DEBUGMODE (TRUE);) Barton  >Comment By: Raymond Toy (rtoy) Date: 20030807 11:14 Message: Logged In: YES user_id=28849 Very nice! I'll apply this shortly, with the additional symbols you mentioned.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783847&group_id=4933 
From: SourceForge.net <noreply@so...>  20030806 00:35:46

Bugs item #783847, was opened at 20030805 19:35 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783847&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Barton Willis (willisb) Assigned to: Nobody/Anonymous (nobody) Summary: assignments to %i, inf, ... Initial Comment: Maxima allows assignments to %i, inf, ind, and und. An assignments to %i is especially troublesome (C1) %i : 42; (D1) 42 (C2) %i^2; (D2) 1764 The fix is to give $ind and $und the sysconst property. (The fix is mostly due to Stavros.) Thus change (simp.lisp) (evalwhen (load) (MAPC #'(LAMBDA (X) (MPUTPROP X T '$CONSTANT) (PUTPROP X T 'SYSCONST)) '($%PI $%I $%E $%PHI $INF $MINF $INFINITY %I $%GAMMA))) to (evalwhen (load) (MAPC #'(LAMBDA (X) (MPUTPROP X T '$CONSTANT) (PUTPROP X T 'SYSCONST)) '($%PI $%I $%E $%PHI $INF $MINF $INFINITY %I $%GAMMA $ind $und))) Additionally, I think it would be okay to give $unknown, $pos, $neg, $zero, $pz, $nz, $pn, and $pnz the sysconst property. Now disallow assignments to sysconsts by changing mset to (mlisp.lisp) to (DEFUN MSET (X Y) (declare (object y x)) (PROG NIL (COND ((OR (NULL $SETCHECK) (EQ $SETCHECK '$SETCHECK))) ((AND (OR (ATOM $SETCHECK) (MEMALIKE X (CDR $SETCHECK)) (AND (NOT (ATOM X)) (MEMALIKE (CAAR X) (CDR $SETCHECK)))) (NOT (EQ X Y))) (DISPLA (LIST '(MTEXT) (DISP2 X) ' set to  Y)) (IF $SETCHECKBREAK (LET (($SETVAL Y)) (MERRBREAK T) (SETQ Y $SETVAL))))) (COND ((ATOM X) (WHEN (OR (NOT (SYMBOLP X)) (MEMQ X '(T NIL)) (MGET X '$NUMER) (char= (GETCHARN X 1) #\&) (get x 'sysconst)) ;; prevent assignments to system consts (IF MUNBINDP (RETURN NIL)) (IF (MGET X '$NUMER) (MERROR "~:M improper value assignment to a numerical quantity" X) (MERROR "~:M improper value assignment" X))) (LET ((F (GET X 'ASSIGN))) (IF (AND F (OR (NOT (EQ X Y)) (MEMQ F '(NEVERSET READ ONLYASSIGN)))) (IF (EQ (FUNCALL F X Y) 'MUNBINDP) (RETURN NIL)))) (COND ((AND (NOT (BOUNDP X)) (NOT DSKSETP)) (ADD2LNC X $VALUES)) ((AND (NOT (EQ X Y)) (OPTIONP X)) (IF $OPTIONSET (MTELL "~:M option is being set.~%" X)) (IF (NOT (EQ X '$LINENUM)) (ADD2LNC X $MYOPTIONS)))) (RETURN (SET X Y))) ((MEMQ 'ARRAY (CDAR X)) (RETURN (ARRSTORE X Y))) ((AND $SUBSCRMAP (MEMQ (CAAR X) '(MLIST $MATRIX))) (RETURN (OUTERMAP1 'MSET X Y))) (T (MERROR "Improper value assignment:~% ~M" X))))) After the fixes (C1) load("mset.x86f"); (D2) mset.x86f (C3) und : 13; UND improper value assignment  an error. Quitting. To debug this try DEBUGMODE (TRUE);) (C4) inf : 34; INF improper value assignment  an error. Quitting. To debug this try DEBUGMODE (TRUE);) (C5) %i : 1; %I improper value assignment  an error. Quitting. To debug this try DEBUGMODE (TRUE);) Barton  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783847&group_id=4933 
From: SourceForge.net <noreply@so...>  20030805 18:24:55

Bugs item #783668, was opened at 20030805 14:24 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783668&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: Missing documentation entries and index entries Initial Comment: ABS is not documented (though it's used in several places in the doc). LAMBDA is not in the index. Of course, it is not a normal function, but it would be good to index it. UND and IND don't have index entries. Even though only LIMIT (currently) uses them, they should probably be indexed (even if the index entry points to LIMIT). The relational operators aren't indexed (<, >, <=, >=), though they are described in the INEQUALITY section. The arithmetic operators aren't indexed (+, , /)  are they even documented anywhere? LI, the log integral, is not documented, though it is returned by integrate(log(1x)/x,x) for example. There is some sort of indexing error for "["  instead of going to the list section, it goes to the Special Function section. There are no index entries for AND, OR, and NOT, which are only defined apparently under IF, even though they are meaningful outside it, e.g. true and false => false  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783668&group_id=4933 
From: SourceForge.net <noreply@so...>  20030805 04:35:45

Bugs item #776441, was opened at 20030723 14:25 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=776441&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: orderlessp not transitive Initial Comment: l: [z+x*(x+2)+v+1,z+x^2+x+v+1,z+(x+1)^2+v]; orderlessp(l[1],l[2]) => True orderlessp(l[2],l[3]) => True orderlessp(l[1],l[3]) => False !!! More concise example: q: x^2; r: (x+1)^2; s: x*(x+2); orderlessp(q,r) => true orderlessp(r,s) => true orderlessp(s,q) => true That is, s<q<r<s. The problem is somewhere in the internal great function, which by the way does some strange things, in particular: why does ordlist have an explicit check for mplus: (RETURN (COND ((= L2 0) (EQ CX 'MPLUS)) (Thanks to Barton for his contributions to tracking this down.) Maxima 5.9.0 GCL 2.5.0  >Comment By: Stavros Macrakis (macrakis) Date: 20030805 00:35 Message: Logged In: YES user_id=588346 More amusing consequences: q+r+s => (x+1)^2+x^2+x*(x+2) expand(%,0,0) => x^2+x*(x+2)+(x+1)^2 expand(%,0,0) => x*(x+2)+(x+1)^2+x^2 expand(%,0,0) => (x+1)^2+x^2+x*(x+2) q+r+srqs => (x+1)^2+x^2+x*(x+2)(x+1)^2x^2x* (x+2) expand(%,0,0) => x^2x^2 expand(%,0,0) => 0 I haven't found an example where simptimes fails, though. Fateman reports that this bug is also found in commercial Macsyma 2.4, and calls it a Methuselah bug because it has persisted for so long  presumably it has been around for 30+ years.  Comment By: Stavros Macrakis (macrakis) Date: 20030725 10:26 Message: Logged In: YES user_id=588346 This not only screws up SORT etc., but even basic simplification, since simplus, simptimes, etc. depend on great: q+r+s => (x+1)^2+x^2+x*(x+2) q+s+r => x^2+x*(x+2)+(x+1)^2 (q+s+r)(q+s+r) => x^2x^2 (q+s+r)(s+q+r) => x^2x^2 (q+r+s)(q+s+r) => x (x + 2)  x (x + 2)  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=776441&group_id=4933 
From: SourceForge.net <noreply@so...>  20030805 04:18:22

Bugs item #777564, was opened at 20030725 10:13 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=777564&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: ""(a,b) should work/FIX Initial Comment: Currently, the "" operator is defined as unary internally. However, it appears to the user as a binary operator as well. That is, the user can write "ab". Since the operator appears to be binary on the surface, it should also function as a binary operator in other contexts, in particular, I often want to do things like map("",foo,bar) or makelist(op(a,b),op,["+","","*"]) So mminus should be defined to work as a binary function  or perhaps even nary, where ""(a,b,c,...) == abc... That aligns the internal semantics with the surface syntax.  >Comment By: Stavros Macrakis (macrakis) Date: 20030805 00:18 Message: Logged In: YES user_id=588346 Revised fix (DEFUN SIMPMIN (X VESTIGIAL Z) VESTIGIAL ;Ignored (COND ((null (cdr x)) 0) ; 0ary is OK, too ((NUMBERP (CADR X)) (MINUS (CADR X))) ;; Line below commented out because it might inhibit pattern matching sm 8/2003 ;; ((ATOM (CADR X)) (LIST '(MTIMES SIMP) 1 (CADR X))) ((null (cddr x)) (SIMPLIFYA (LIST '(MTIMES) 1 (SIMPLIFYA (CADR X) Z)) T)) (t (sub (cadr x) (addn (cddr x) z)))))  Comment By: Stavros Macrakis (macrakis) Date: 20030805 00:15 Message: Logged In: YES user_id=588346 Here's the fix. (DEFUN SIMPMIN (X VESTIGIAL Z) VESTIGIAL ;Ignored (IF (NULL (CDR x)) (WNAERR (CAAR L))) (COND ((NUMBERP (CADR X)) (MINUS (CADR X))) ;; Line below commented out because it might inhibit pattern matching sm 8/2003 ;; ((ATOM (CADR X)) (LIST '(MTIMES SIMP) 1 (CADR X))) ((null (cddr x)) (SIMPLIFYA (LIST '(MTIMES) 1 (SIMPLIFYA (CADR X) Z)) T)) (t (sub (cadr x) (addn (cddr x) z))))) PS The makelist example above shouldn't use the symbol 'op', which is a defined function...!  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=777564&group_id=4933 
From: SourceForge.net <noreply@so...>  20030805 04:15:17

Bugs item #777564, was opened at 20030725 10:13 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=777564&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) >Summary: ""(a,b) should work/FIX Initial Comment: Currently, the "" operator is defined as unary internally. However, it appears to the user as a binary operator as well. That is, the user can write "ab". Since the operator appears to be binary on the surface, it should also function as a binary operator in other contexts, in particular, I often want to do things like map("",foo,bar) or makelist(op(a,b),op,["+","","*"]) So mminus should be defined to work as a binary function  or perhaps even nary, where ""(a,b,c,...) == abc... That aligns the internal semantics with the surface syntax.  >Comment By: Stavros Macrakis (macrakis) Date: 20030805 00:15 Message: Logged In: YES user_id=588346 Here's the fix. (DEFUN SIMPMIN (X VESTIGIAL Z) VESTIGIAL ;Ignored (IF (NULL (CDR x)) (WNAERR (CAAR L))) (COND ((NUMBERP (CADR X)) (MINUS (CADR X))) ;; Line below commented out because it might inhibit pattern matching sm 8/2003 ;; ((ATOM (CADR X)) (LIST '(MTIMES SIMP) 1 (CADR X))) ((null (cddr x)) (SIMPLIFYA (LIST '(MTIMES) 1 (SIMPLIFYA (CADR X) Z)) T)) (t (sub (cadr x) (addn (cddr x) z))))) PS The makelist example above shouldn't use the symbol 'op', which is a defined function...!  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=777564&group_id=4933 
From: SourceForge.net <noreply@so...>  20030805 04:04:36

Bugs item #783284, was opened at 20030805 00:04 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783284&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: lratsubst and fullratsubst don't autoload Initial Comment: lratsubst and fullratsubst are documented as though they were part of the core system  documentation does not say that they have to be loaded explicitly. But they are not set up for autoloading. They should autoload from share/simplification/lrats.mac. Maxima 5.9.0 gcl 2.5.0 mingw32 Windows 2000 Athlon  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783284&group_id=4933 
From: SourceForge.net <noreply@so...>  20030804 20:03:49

Bugs item #783051, was opened at 20030804 16:03 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783051&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: expand should check expop and expon args/FIX Initial Comment: expand((x+1)^2,false) => internal error Error: NIL is not of type NUMBER. Error signalled by SIMPEXPT. Expand should check that its second and third arguments are valid. This can easily be done in expand1 (simp.lisp): (DEFMFUN EXPAND1 (EXP $EXPOP $EXPON) (if (not (and (integerp $expop) (> $expop 1))) (merror "Maxposex must be a nonnegative integer: ~%~M" $expop)) (if (not (and (integerp $expon) (> $expon 1))) (merror "Maxnegex must be a nonnegative integer: ~%~M" $expon)) (SSIMPLIFYA (SPECREPCHECK EXP)))  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=783051&group_id=4933 
From: SourceForge.net <noreply@so...>  20030804 15:39:55

Bugs item #716059, was opened at 20030405 20:11 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=716059&group_id=4933 Category: Xmaxima Group: Fix for 5.9.0 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Someones Dad (someonesdad) Assigned to: Nobody/Anonymous (nobody) Summary: load(ellipt) doesn't work Initial Comment: Under Maxima 5.9.0 on Windows 2000, I get a "Load failed..." message. This also failed on Maxima 5.5. This is referenced in the documentation under the link share/maxima/5.9.0/doc/html/maxima_23.html#SEC74  >Comment By: Raymond Toy (rtoy) Date: 20030804 11:39 Message: Logged In: YES user_id=28849 Dcomuntation for ELLIPT removed.  Comment By: Raymond Toy (rtoy) Date: 20030525 11:26 Message: Logged In: YES user_id=28849 Documentation should be corrected. The elliptic functions are now included in the core, and are more complete than the version in share/specfunctions/ellipt.lisp. ellipt.lisp should be removed as well.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=716059&group_id=4933 
From: SourceForge.net <noreply@so...>  20030804 15:26:55

Bugs item #629714, was opened at 20021028 03:24 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=629714&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: x^^1 . x . y . x . y Initial Comment: x^^1 . x . y . x . y simplifies to x^^1 . (x . y)^^2 instead of y . x . y But the following work correctly: x^^1 . x . y . x . y . y => y . x . y^^2 (x^^1 . x . y) . x . y => y . x . y y . x . y . x . x^^1  A consequence of the above (this was the original problem I ran into): x^^1 . (x . y)^^2 expand(%) returns it unchanged. OK expand(%), dotexptsimp:false returns x^^1 . x . y . x . y and now expand(%) gives x^^1 . (x . y)^^2 instead of y . x . y Hmm. So how do I simplify this to y.x.y?  Compare this to x^^1 . (x . y)^^2 . y^^1 and (x . y . x^^1)^^2 and y . (x . y)^^1 and (x . y)^^1 . x for all of which the sequence expand/dotexptsimp:false then expand performs the expected cancellation.  The problem is that simpnct simplifies from right to left, so that by the time it sees x^^1 . x . y...., that has already become x^^1 . (x . y)^^2, which it doesn't currently simplify. The quick fix is to specialcase this in simpnct, but it's a bit messy....  >Comment By: Stavros Macrakis (macrakis) Date: 20030804 11:26 Message: Logged In: YES user_id=588346 For commutative terms, there is a simple canonical form in Maxima. But there is no canonical form for noncommutative terms. I wonder if by default the simplifer should canonicalize them. Currently, for example, (a.b.a^^1)^^2 and a.b^^2 .a^^1 (which are equivalent): both currently simplify to themselves. But if we canonicalize to the second one (following the rule that all possible cancellations have been carried out), we lose the structure shown in the first case.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=629714&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 17:55:31

Bugs item #713045, was opened at 20030331 20:34 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=713045&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: rectform/polarform of infinity /FIX Initial Comment: real//imagpartinfinity)=> infinity//0 NO should be und // und cabs//carg(infinity) => ABS(INFINITY) // 0 NO should be INF // IND (or UND?) Most of Maxima doesn't handle inf/und/infinity very well, but Limit calls rpart internally on these things. In particular, limit(abs(x),x,infinity) does, and goes into an infinite loop with the old behavior, but returns the noun form with the new behavior. Better, of course, if it could return inf, but.... The fix is trivial. In risplit, add one line. ((atom l) (cond ((eq l '$%i) (cons 0 1)) ((eq l '$infinity) (cons '$und '$und)) <<< New clause Similarly, in absarg, add ((memq l '($%e $%pi)) (cons l 0)) ((eq l '$infinity) (cons '$inf '$ind)) <<< New I'm not set up on cvs yet, otherwise I'd do it myself right now....  >Comment By: Raymond Toy (rtoy) Date: 20030803 13:55 Message: Logged In: YES user_id=28849 Suggested fixes applied.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=713045&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 17:22:48

Bugs item #703789, was opened at 20030314 14:13 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=703789&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: save() doesn't return a pathname Initial Comment: save(filename,xxx) is documented to return the pathname of the file it saved to. In fact, it only returns the filename, e.g. (C84) save("foobar",all); (D84) foobar Note that stringout correctly returns the full pathname. Having the full pathname would be far more useful, especially since the default is currently ridiculous (the Maxima bin directory!!). The documentation for Save should mention where it gets the default directory. By the way, fassave does nothing (not surprising), but it should give an error message ("Command not supported").  >Comment By: Stavros Macrakis (macrakis) Date: 20030803 13:22 Message: Logged In: YES user_id=588346 The DIREC variable ("the default file directory for SAVE,...") is supposed to be "initialized to the user's login name" (? shouldn't it be a directory path?). (DIREC is by the way a terrible name for a variable; how about changing it to default_save_directory or something?) On my system, its value is "JRMU" (actually ?JRMU, not even a legal Maxima string, and not a valid directory path either). Presumably it should be using some sort of environment inquiry at startup to set this variable. On Windows, the default should presumably be the My Documents directory for the current user. But it appears that SAVE does not use it correctly anyway. Though the following works: save("c:/temp/foobar",xxx) this does not do the same thing: direc: "c:/temp"$ save("foobar",xxx)$ nor does direc: "c:/temp/"$ save("foobar",xxx)$ The file ended up in my Maxima bin directory (as reported above).  Comment By: Stavros Macrakis (macrakis) Date: 20030314 14:13 Message: Logged In: YES user_id=588346 Maxima version: 5.9.0 Maxima build date: 19:10 2/9/2003 host type: i686pcmingw32 lispimplementationtype: Kyoto Common Lisp lispimplementationversion: GCL25.0  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=703789&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 17:14:38

Bugs item #782386, was opened at 20030803 13:14 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=782386&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: fassave obsolete Initial Comment: fassave is documented as saving expressions in fasl format. This was a PDP10 binary format for compiled code (something like .o) which also supported Lisp S expressions. As far as I know, none of the Lisps support such a format. So the function and its documentation should be removed, or at least marked as obsolete. Currently, the function returns as though it had worked. Presumably the other references to FASL files in the documentation (e.g. SIN FASL) will be removed as the filename formats are updated. Maxima 5.9.0 gcl 2.5.0 mingw32 Windows 2000 Athlon  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=782386&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 13:10:17

Bugs item #733030, was opened at 20030505 21:48 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=733030&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: Weird trigexpand interaction /FIX? Initial Comment: makelist(f(sin(x)^2cos(x)^2),f,['trigreduce,'trigexpand]); gives the error "Improper name or value in functional position: 2". The problem is that the internal function sp1add is somehow modifying the fluid variable "arg", which is also used by makelist. I found this using: (trace (sp1add :entry (if (boundp 'arg) (list 'sp1add arg)) :exit (if (boundp 'arg) (list 'sp1add arg)))) I do not understand how arg is being modified. The code clearly *binds* arg in the let*. The subfunctions are not modifying arg. I have been unable to reproduce this problem using source. When I load sp1add from source, it works fine; also if I compile sp1add. Perhaps there is some problem with the nonstandard let* function? or with the compiler it was built on? I am grasping at straws. Maxima 5.9.0 mingw Windows 2000 Athlon  >Comment By: Raymond Toy (rtoy) Date: 20030803 09:10 Message: Logged In: YES user_id=28849 This doesn't cause an error with CMUCL. Are you using gcl? A bug in GCL perhaps?  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=733030&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 13:07:23

Bugs item #733003, was opened at 20030505 20:49 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=733003&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: atan2(2,0.3) gives nonfloat answer /FIX Initial Comment: atan2(a,b) should be an approximate number (float or bfloat) whenever one of the arguments is approximate and the other is either approximate or an exact number. This is not currently true. All the following give results involving %PI: atan2(1.0,1), atan2(1.0b0,1.0), atan2( 2/3,1.0b0) etc. The attached code fixes this.  >Comment By: Raymond Toy (rtoy) Date: 20030803 09:07 Message: Logged In: YES user_id=28849 Suggested fix applied.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=733003&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 13:03:28

Bugs item #769985, was opened at 20030711 23:07 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=769985&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: sign(rat(x)) fatal error/FIX Initial Comment: sign(rat(1)) => fatal error FIX $sign needs to call SPECREPCHECK, e.g. (defmfun $sign (x) (setq x (specrepcheck x)) ...  >Comment By: Raymond Toy (rtoy) Date: 20030803 09:03 Message: Logged In: YES user_id=28849 Fix applied  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=769985&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 12:20:28

Bugs item #771301, was opened at 20030714 19:50 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=771301&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: trigrat(sin(1)) internal error /FIX Initial Comment: trigrat(sin(1)) => Error: $%I is not of type LIST. Fix: in $listofei (trigrat.lisp), replace (cond ((and (CONSP VAR) (CONSP (CAR VAR)) (equal (caar var) 'mexpt) (equal (cadr var) '$%e) (equal (caaaddr var) 'mtimes) (equal (cadaddr var) '$%i)) (setq $lexp (cons var $lexp)) ... with (cond ((and (mexptp var) (equal (cadr var) '$%e) (mtimesp (caddr var)) (eq (cadr (caddr var)) '$%i)) (setq $lexp (cons var $lexp)) ...  >Comment By: Raymond Toy (rtoy) Date: 20030803 08:20 Message: Logged In: YES user_id=28849 Suggested fix applied.  Comment By: Stavros Macrakis (macrakis) Date: 20030802 10:27 Message: Logged In: YES user_id=588346 Trigrat does some ugly things. I am not sure what it is *supposed* to return for sin(1)  perhaps sin(1)?  but at least (1) what it does return is correct and (2) it doesn't give an error.  Comment By: Raymond Toy (rtoy) Date: 20030802 10:19 Message: Logged In: YES user_id=28849 If I do this, trigrat(sin(1)) returns (%I*(SIN(1)*SIN(2)+COS(1)*COS(2)COS(1)) COS(1)*SIN(2)+SIN(1)*COS(2)SIN(1)) /(2*SIN(1)^2+2*COS(1)^2) Is that really right? (The numerical value is right.)  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=771301&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 12:19:24

Bugs item #686619, was opened at 20030214 11:32 Message generated for change (Comment added) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=686619&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Barton Willis (willisb) Assigned to: Nobody/Anonymous (nobody) Summary: factor bug / FIX? Initial Comment: Maxima halts when it tries to factor (C1) 5*b^3(3*a21)*b^2(3*a^228)*b5*a^321*a^228*a; (D1) 5*b^3(3*a21)*b^2+(3*a^2+28)*b5*a^321*a^228*a (C2) factor(%); Typeerror in KERNEL::OBJECTNOTFIXNUMERRORHANDLER: NIL is not of type FIXNUM Restarts: 0: [MACSYMAQUIT] Macsyma toplevel 1: [ABORT ] Skip remaining initializations. Debug (type H for help) (KTERMS 2 21 NIL)[:EXTERNAL] Source: ; File: /home/barton/mac2/maxima5.9.0rc3/src/factor.lisp (DEFUN KTERMS (P K) (DECLARE (FIXNUM K)) (COND (# P) (# #) (T #))) 0] 0; Maxima restarted. The first time kterms gets called, its second argument is nil; however, this argument is declared to be a fixnum. Commercial Macsyma factors the polynomial correctly; it also calls kterms with a second argument of nil. Removing the declaration allows Maxima to factor d1. (C3) load("newest.lisp")$ (C4) factor(d1); (D4) (ba)*(5*b^2+2*a*b+21*b+5*a^2+21*a+28) (C5) build_info(); Maxima version: 5.9.0rc3 Maxima build date: 5:35 1/16/2003 host type: i686pclinuxgnu lispimplementationtype: CMU Common Lisp lispimplementationversion: 18d The file "newest.lisp" contains the definition (DEFUN KTERMS (P K) ;(DECLARE (FIXNUM K)) <<=== only change. (COND ((PACOEFP P) P) ((= K 0) (CONSTA P)) (T (PROG (V ANS W) (SETQ V (CAR P)) (SETQ P (CDR P)) LOOP (COND ((NULL P) (RETURN 0)) ((> (CAR P) K) (SETQ P (CDDR P)) (GO LOOP))) AG (COND ((NULL P) (RETURN (PSIMP V ANS)))) (SETQ W (KTERMS (CADR P) (f K (CAR P)))) (COND ((NOT (PZEROP W)) (SETQ ANS (NCONC ANS (LIST (CAR P) W))))) (SETQ P (CDDR P)) (GO AG))))) (D5) Barton  >Comment By: Raymond Toy (rtoy) Date: 20030803 08:19 Message: Logged In: YES user_id=28849 Fix applied.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=686619&group_id=4933 
From: SourceForge.net <noreply@so...>  20030803 03:24:02

Bugs item #767408, was opened at 20030707 19:01 Message generated for change (Settings changed) made by rtoy You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=767408&group_id=4933 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Stavros Macrakis (macrakis) >Assigned to: Raymond Toy (rtoy) Summary: plot2d parametric miscalculates yminmax Initial Comment: plot2d([parametric,t*cos(t),t*sin(t),[t,0,2*%pi]]) clips off pieces on the left and the right. For some reason, it is using the ymin/max from plot_options, but calculates the xmin/max from the data. It should either use plot_options for both axes, or determine x/y min/max from the data. If I try deleting [x,...] or [y,...] from plot_options, I get an internal error. Maxima 5.9.0 gcl 2.5.0 mingw Windows 2000 Athlon  Comment By: Raymond Toy (rtoy) Date: 20030708 11:36 Message: Logged In: YES user_id=28849 With the CVS version, this doesn't clip the plot. In fact, I'm pretty sure the CVS version changed the plot limits for y from a default of +/ 3 to be +/ "number close to largest doublefloat". However, the plot contains 10 line segments, instead of a smooth curve. Probably related to the adaptive plotting stuff.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=767408&group_id=4933 
From: SourceForge.net <noreply@so...>  20030802 21:29:11

Bugs item #782099, was opened at 20030802 17:29 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=782099&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: limit returns expression in IND Initial Comment: limit(sinh(exp(%i*x)),x,inf) => (%E^IND%E^IND)/2 should be just IND This may be related to limit(%e^ind) not giving IND.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=782099&group_id=4933 
From: SourceForge.net <noreply@so...>  20030802 19:02:43

Bugs item #779053, was opened at 20030728 13:41 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=779053&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Barton Willis (willisb) Assigned to: Nobody/Anonymous (nobody) Summary: primep(1) => true Initial Comment: My understanding is that 1 is no longer considered prime. But (C1) primep(1); (D1) TRUE (C2) describe("primep"); 0: PRIMEP :(maxima.info)Definitions for Number Theory. Info from file C:/maxima/Maxima/info/maxima.info:  Function: PRIMEP (n) returns TRUE if n is a prime, FALSE if not. (D2) FALSE (C3) Additionally (C3) primep(4); (D3) FALSE (C4) primep(3); (D4) TRUE are suspect. And wouldn't it be better for primep(a) to return itself instead of signaling an error? (C5) primep(a); Argument to PRIMEP must be an integer: a  an error. Quitting. To debug this try Barton  >Comment By: Stavros Macrakis (macrakis) Date: 20030802 15:02 Message: Logged In: YES user_id=588346 primep(0) also incorrectly gives true. I am not sure whether 3 should give true or false. If someday there is a gprimep (Gaussian integers), should only topright quadrant numbers be primes, or should any unit*prime product be OK? It doesn't seem useful to return a noun form for primep. To be consistent with evenp and oddp, we should give FALSE if the argument is not a literal integer. It might be nice to have simplifying (rather than evaluating) predicates of various kinds, but Maxima doesn't do that in other areas, so perhaps we should first get simplifications like (x^2>0) => (x#0) before worrying about simplifying primep....  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=779053&group_id=4933 
From: SourceForge.net <noreply@so...>  20030802 18:44:44

Bugs item #782046, was opened at 20030802 14:44 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=782046&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: limit(abs(x),x,0) fails Initial Comment: limit(abs(x),x,0) returns noun form, even though limit knows the limit for x>inf and x>minf. This really seems like too trivial a case to fail on. There does appear to be code in limit.lisp (bothside) to handle the zero case by looking at the pluslimit and the minuslimit, but (a) it is not being invoked and (b) it looks incomplete  it doesn't know how to interpret IND nor how to return it. So this really is a bug and not a feature request. Maxima 5.9.0  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=782046&group_id=4933 