Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
Close
From: SourceForge.net <noreply@so...>  20100830 20:24:05

Bugs item #3056276, was opened at 20100830 16:24 Message generated for change (Tracker Item Submitted) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&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  Complex Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: abs(x^2) with domain:complex Initial Comment: abs(x)^2,domain:real => x^2 OK abs(x^2),domain:real => x^2 OK abs(x)^2,domain:complex => abs(x)^2 OK abs(x^2),domain:complex => x^2 NO! Should be abs(x)^2 The abs(x)^2 behavior is not documented by the docstring, but makes sense and should also apply to the abs(x^2) case.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&group_id=4933 
From: SourceForge.net <noreply@so...>  20100831 21:07:29

Bugs item #3056276, was opened at 20100830 22:24 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&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  Complex Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: abs(x^2) with domain:complex Initial Comment: abs(x)^2,domain:real => x^2 OK abs(x^2),domain:real => x^2 OK abs(x)^2,domain:complex => abs(x)^2 OK abs(x^2),domain:complex => x^2 NO! Should be abs(x)^2 The abs(x)^2 behavior is not documented by the docstring, but makes sense and should also apply to the abs(x^2) case.  >Comment By: Dieter Kaiser (crategus) Date: 20100831 23:07 Message: For the record: Both examples are correct for a symbol declared to be complex: (%i2) declare(z,complex)$ (%i3) abs(z^2),domain:real; (%o3) abs(z)^2 (%i4) abs(z^2),domain:complex; (%o4) abs(z)^2 The wrong simplification of abs(x^2) for a complex domain happens in the simplifier simpabs for the Abs function. The simplifier does not respect the global value of $domain. I think this bug report shows a general problem. Almost all functions in Maxima do not respect the concept of a real and complex domain. There are only some functions which take into account this concept. One example is the simplifier simpexpt for the power function. In Maxima core code I have counted 10 tests of the variable $domain. 9 of these tests are in simpexpt or related functions and 1 test we have in $rootscontract. We have the two functions risplit and $defint which set the global variable $domain to a value. In Maxima share code I have counted one test of the variable $complex. I had a look only at Lisp code. Perhaps, it is necessary to decide if it is desirable to fully implement the concept of a real and domain complex or to cut out the few examples of code, which we have. We always can declare symbols to be complex. This concept is implemented much more complete. Dieter Kaiser  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&group_id=4933 
From: SourceForge.net <noreply@so...>  20100831 21:14:19

Bugs item #3056276, was opened at 20100830 16:24 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&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  Complex Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: abs(x^2) with domain:complex Initial Comment: abs(x)^2,domain:real => x^2 OK abs(x^2),domain:real => x^2 OK abs(x)^2,domain:complex => abs(x)^2 OK abs(x^2),domain:complex => x^2 NO! Should be abs(x)^2 The abs(x)^2 behavior is not documented by the docstring, but makes sense and should also apply to the abs(x^2) case.  >Comment By: Stavros Macrakis (macrakis) Date: 20100831 17:14 Message: Maybe one way to simplify the logic here is to consider that domain:complex means that all variables are implicitly declared complex (unless explicitly declared otherwise).  Comment By: Dieter Kaiser (crategus) Date: 20100831 17:07 Message: For the record: Both examples are correct for a symbol declared to be complex: (%i2) declare(z,complex)$ (%i3) abs(z^2),domain:real; (%o3) abs(z)^2 (%i4) abs(z^2),domain:complex; (%o4) abs(z)^2 The wrong simplification of abs(x^2) for a complex domain happens in the simplifier simpabs for the Abs function. The simplifier does not respect the global value of $domain. I think this bug report shows a general problem. Almost all functions in Maxima do not respect the concept of a real and complex domain. There are only some functions which take into account this concept. One example is the simplifier simpexpt for the power function. In Maxima core code I have counted 10 tests of the variable $domain. 9 of these tests are in simpexpt or related functions and 1 test we have in $rootscontract. We have the two functions risplit and $defint which set the global variable $domain to a value. In Maxima share code I have counted one test of the variable $complex. I had a look only at Lisp code. Perhaps, it is necessary to decide if it is desirable to fully implement the concept of a real and domain complex or to cut out the few examples of code, which we have. We always can declare symbols to be complex. This concept is implemented much more complete. Dieter Kaiser  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&group_id=4933 
From: SourceForge.net <noreply@so...>  20100902 02:58:26

Bugs item #3056276, was opened at 20100830 15:24 Message generated for change (Comment added) made by willisbl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&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  Complex Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: abs(x^2) with domain:complex Initial Comment: abs(x)^2,domain:real => x^2 OK abs(x^2),domain:real => x^2 OK abs(x)^2,domain:complex => abs(x)^2 OK abs(x^2),domain:complex => x^2 NO! Should be abs(x)^2 The abs(x)^2 behavior is not documented by the docstring, but makes sense and should also apply to the abs(x^2) case.  >Comment By: Barton Willis (willisbl) Date: 20100901 21:58 Message: Declaring x to be complex allows Maxima to return the correct value: (%i1) declare(x,complex)$ (%i2) abs(x^2),domain:complex; (%o2) abs(x)^2 (%i3) abs(x^2),domain:real; (%o3) abs(x)^2 Do we have a policy for what domain : complex means?  Comment By: Stavros Macrakis (macrakis) Date: 20100831 16:14 Message: Maybe one way to simplify the logic here is to consider that domain:complex means that all variables are implicitly declared complex (unless explicitly declared otherwise).  Comment By: Dieter Kaiser (crategus) Date: 20100831 16:07 Message: For the record: Both examples are correct for a symbol declared to be complex: (%i2) declare(z,complex)$ (%i3) abs(z^2),domain:real; (%o3) abs(z)^2 (%i4) abs(z^2),domain:complex; (%o4) abs(z)^2 The wrong simplification of abs(x^2) for a complex domain happens in the simplifier simpabs for the Abs function. The simplifier does not respect the global value of $domain. I think this bug report shows a general problem. Almost all functions in Maxima do not respect the concept of a real and complex domain. There are only some functions which take into account this concept. One example is the simplifier simpexpt for the power function. In Maxima core code I have counted 10 tests of the variable $domain. 9 of these tests are in simpexpt or related functions and 1 test we have in $rootscontract. We have the two functions risplit and $defint which set the global variable $domain to a value. In Maxima share code I have counted one test of the variable $complex. I had a look only at Lisp code. Perhaps, it is necessary to decide if it is desirable to fully implement the concept of a real and domain complex or to cut out the few examples of code, which we have. We always can declare symbols to be complex. This concept is implemented much more complete. Dieter Kaiser  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&group_id=4933 
From: SourceForge.net <noreply@so...>  20100902 17:54:48

Bugs item #3056276, was opened at 20100830 16:24 Message generated for change (Comment added) made by macrakis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&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  Complex Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: abs(x^2) with domain:complex Initial Comment: abs(x)^2,domain:real => x^2 OK abs(x^2),domain:real => x^2 OK abs(x)^2,domain:complex => abs(x)^2 OK abs(x^2),domain:complex => x^2 NO! Should be abs(x)^2 The abs(x)^2 behavior is not documented by the docstring, but makes sense and should also apply to the abs(x^2) case.  >Comment By: Stavros Macrakis (macrakis) Date: 20100902 13:54 Message: Dieter, Barton: yes, declare(x,complex) handles this case. Barton: Do we have a policy for what domain : complex means? It is documented to only deal with powers. The abs case seems like a reasonable extension... but of course lots of things could be 'reasonable extensions'.  Comment By: Barton Willis (willisbl) Date: 20100901 22:58 Message: Declaring x to be complex allows Maxima to return the correct value: (%i1) declare(x,complex)$ (%i2) abs(x^2),domain:complex; (%o2) abs(x)^2 (%i3) abs(x^2),domain:real; (%o3) abs(x)^2 Do we have a policy for what domain : complex means?  Comment By: Stavros Macrakis (macrakis) Date: 20100831 17:14 Message: Maybe one way to simplify the logic here is to consider that domain:complex means that all variables are implicitly declared complex (unless explicitly declared otherwise).  Comment By: Dieter Kaiser (crategus) Date: 20100831 17:07 Message: For the record: Both examples are correct for a symbol declared to be complex: (%i2) declare(z,complex)$ (%i3) abs(z^2),domain:real; (%o3) abs(z)^2 (%i4) abs(z^2),domain:complex; (%o4) abs(z)^2 The wrong simplification of abs(x^2) for a complex domain happens in the simplifier simpabs for the Abs function. The simplifier does not respect the global value of $domain. I think this bug report shows a general problem. Almost all functions in Maxima do not respect the concept of a real and complex domain. There are only some functions which take into account this concept. One example is the simplifier simpexpt for the power function. In Maxima core code I have counted 10 tests of the variable $domain. 9 of these tests are in simpexpt or related functions and 1 test we have in $rootscontract. We have the two functions risplit and $defint which set the global variable $domain to a value. In Maxima share code I have counted one test of the variable $complex. I had a look only at Lisp code. Perhaps, it is necessary to decide if it is desirable to fully implement the concept of a real and domain complex or to cut out the few examples of code, which we have. We always can declare symbols to be complex. This concept is implemented much more complete. Dieter Kaiser  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3056276&group_id=4933 