From: SourceForge.net <no...@so...> - 2011-07-25 17:21:56
|
Bugs item #3377347, was opened at 2011-07-25 13:21 Message generated for change (Tracker Item Submitted) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None Status: Open Resolution: None Priority: 6 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: log(1/(1+%i)) gives error Initial Comment: log(1/(1+%i)); sign: argument cannot be imaginary; found %i -- an error. Error comes from simpln. Looks like simpln needs to bind *complexsign* to T and do something intelligent.... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 |
From: SourceForge.net <no...@so...> - 2011-07-25 21:01:03
|
Bugs item #3377347, was opened at 2011-07-25 12:21 Message generated for change (Comment added) made by willisbl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None Status: Open Resolution: None Priority: 6 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: log(1/(1+%i)) gives error Initial Comment: log(1/(1+%i)); sign: argument cannot be imaginary; found %i -- an error. Error comes from simpln. Looks like simpln needs to bind *complexsign* to T and do something intelligent.... ---------------------------------------------------------------------- >Comment By: Barton Willis (willisbl) Date: 2011-07-25 16:01 Message: Changing $sign to $csign (two places?) might be all that is needed to fix this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 |
From: SourceForge.net <no...@so...> - 2011-08-03 19:11:21
|
Bugs item #3377347, was opened at 2011-07-25 19:21 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None Status: Open Resolution: None Priority: 6 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: log(1/(1+%i)) gives error Initial Comment: log(1/(1+%i)); sign: argument cannot be imaginary; found %i -- an error. Error comes from simpln. Looks like simpln needs to bind *complexsign* to T and do something intelligent.... ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 21:11 Message: The error does not come from simpln and not from sign-log. Both functions are not called for the example of this bug report. The origin is the the code of the function $sign. A more simple example is (%i1) sign(log(%i)); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); Because the expression contains the imaginary unit, the function $sign calls rectform. The result is (%i2) rectform(log(%i)); (%o2) %i*%pi/2 But the sign of an imaginary expression gives an error: (%i3) sign(%i*%pi/2); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); For the example of this bug report Maxima tries to get the sign of the following expression: (%i4) rectform(log(%i/(1+%i))); (%o4) %i*%pi/4-log(2)/2 Again, the sign on an imaginary expression gives an error. At this point we might argue that it is not a bug to get an error. It is the design of the function $sign not to accept imaginary expressions. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2011-07-25 23:01 Message: Changing $sign to $csign (two places?) might be all that is needed to fix this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 |
From: SourceForge.net <no...@so...> - 2011-08-03 19:35:40
|
Bugs item #3377347, was opened at 2011-07-25 13:21 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None Status: Open Resolution: None Priority: 6 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: log(1/(1+%i)) gives error Initial Comment: log(1/(1+%i)); sign: argument cannot be imaginary; found %i -- an error. Error comes from simpln. Looks like simpln needs to bind *complexsign* to T and do something intelligent.... ---------------------------------------------------------------------- >Comment By: Stavros Macrakis (macrakis) Date: 2011-08-03 15:35 Message: The example sign(log(%i)) correctly gives an error, since the sign of log(%i) is not defined. But the original expression, log(1/(1+%i)), does not ask for the sign of anything, so the error is inappropriate. The problem is that simpln is calling $sign, which requires a real argument. As Barton says, fixing this may be as easy as $sign -> $csign. ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 15:11 Message: The error does not come from simpln and not from sign-log. Both functions are not called for the example of this bug report. The origin is the the code of the function $sign. A more simple example is (%i1) sign(log(%i)); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); Because the expression contains the imaginary unit, the function $sign calls rectform. The result is (%i2) rectform(log(%i)); (%o2) %i*%pi/2 But the sign of an imaginary expression gives an error: (%i3) sign(%i*%pi/2); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); For the example of this bug report Maxima tries to get the sign of the following expression: (%i4) rectform(log(%i/(1+%i))); (%o4) %i*%pi/4-log(2)/2 Again, the sign on an imaginary expression gives an error. At this point we might argue that it is not a bug to get an error. It is the design of the function $sign not to accept imaginary expressions. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2011-07-25 17:01 Message: Changing $sign to $csign (two places?) might be all that is needed to fix this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 |
From: SourceForge.net <no...@so...> - 2011-08-03 20:10:39
|
Bugs item #3377347, was opened at 2011-07-25 19:21 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None Status: Open Resolution: None Priority: 6 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: log(1/(1+%i)) gives error Initial Comment: log(1/(1+%i)); sign: argument cannot be imaginary; found %i -- an error. Error comes from simpln. Looks like simpln needs to bind *complexsign* to T and do something intelligent.... ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 22:10 Message: Sorry, my error. I had a look at sign(log(1/(1+%i)) but not at the original example. To get this error in Maxima 5.25post we have to set logexpand to false: (%i1) log(1/(1+%i)); (%o1) - log(%i + 1) (%i2) log(1/(1+%i)),logexpand:false; sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); (%i3) build_info(); Maxima version: 5.25post Maxima build date: 21:36 8/3/2011 Host type: i686-pc-linux-gnu Lisp implementation type: SBCL Lisp implementation version: 1.0.45 (%i1) log(1/(1+%i)); (%o1) - log(%i + 1) (%i2) log(1/(1+%i)),logexpand:false; sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); Dieter Kaiser ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2011-08-03 21:35 Message: The example sign(log(%i)) correctly gives an error, since the sign of log(%i) is not defined. But the original expression, log(1/(1+%i)), does not ask for the sign of anything, so the error is inappropriate. The problem is that simpln is calling $sign, which requires a real argument. As Barton says, fixing this may be as easy as $sign -> $csign. ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 21:11 Message: The error does not come from simpln and not from sign-log. Both functions are not called for the example of this bug report. The origin is the the code of the function $sign. A more simple example is (%i1) sign(log(%i)); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); Because the expression contains the imaginary unit, the function $sign calls rectform. The result is (%i2) rectform(log(%i)); (%o2) %i*%pi/2 But the sign of an imaginary expression gives an error: (%i3) sign(%i*%pi/2); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); For the example of this bug report Maxima tries to get the sign of the following expression: (%i4) rectform(log(%i/(1+%i))); (%o4) %i*%pi/4-log(2)/2 Again, the sign on an imaginary expression gives an error. At this point we might argue that it is not a bug to get an error. It is the design of the function $sign not to accept imaginary expressions. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2011-07-25 23:01 Message: Changing $sign to $csign (two places?) might be all that is needed to fix this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 |
From: SourceForge.net <no...@so...> - 2011-08-03 20:44:35
|
Bugs item #3377347, was opened at 2011-07-25 19:21 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Simplification Group: None >Status: Closed >Resolution: Fixed Priority: 6 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: log(1/(1+%i)) gives error Initial Comment: log(1/(1+%i)); sign: argument cannot be imaginary; found %i -- an error. Error comes from simpln. Looks like simpln needs to bind *complexsign* to T and do something intelligent.... ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 22:44 Message: Fixed in simp.lisp revision 03.08.2011. Closing this bug report as fixed. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 22:10 Message: Sorry, my error. I had a look at sign(log(1/(1+%i)) but not at the original example. To get this error in Maxima 5.25post we have to set logexpand to false: (%i1) log(1/(1+%i)); (%o1) - log(%i + 1) (%i2) log(1/(1+%i)),logexpand:false; sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); (%i3) build_info(); Maxima version: 5.25post Maxima build date: 21:36 8/3/2011 Host type: i686-pc-linux-gnu Lisp implementation type: SBCL Lisp implementation version: 1.0.45 (%i1) log(1/(1+%i)); (%o1) - log(%i + 1) (%i2) log(1/(1+%i)),logexpand:false; sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); Dieter Kaiser ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2011-08-03 21:35 Message: The example sign(log(%i)) correctly gives an error, since the sign of log(%i) is not defined. But the original expression, log(1/(1+%i)), does not ask for the sign of anything, so the error is inappropriate. The problem is that simpln is calling $sign, which requires a real argument. As Barton says, fixing this may be as easy as $sign -> $csign. ---------------------------------------------------------------------- Comment By: Dieter Kaiser (crategus) Date: 2011-08-03 21:11 Message: The error does not come from simpln and not from sign-log. Both functions are not called for the example of this bug report. The origin is the the code of the function $sign. A more simple example is (%i1) sign(log(%i)); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); Because the expression contains the imaginary unit, the function $sign calls rectform. The result is (%i2) rectform(log(%i)); (%o2) %i*%pi/2 But the sign of an imaginary expression gives an error: (%i3) sign(%i*%pi/2); sign: argument cannot be imaginary; found %i -- an error. To debug this try: debugmode(true); For the example of this bug report Maxima tries to get the sign of the following expression: (%i4) rectform(log(%i/(1+%i))); (%o4) %i*%pi/4-log(2)/2 Again, the sign on an imaginary expression gives an error. At this point we might argue that it is not a bug to get an error. It is the design of the function $sign not to accept imaginary expressions. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2011-07-25 23:01 Message: Changing $sign to $csign (two places?) might be all that is needed to fix this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3377347&group_id=4933 |