## maxima-bugs

 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: - 2002-06-26 21:06:07 ```Bugs item #505443, was opened at 2002-01-18 11:53 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- >Comment By: Raymond Toy (rtoy) Date: 2002-06-26 17:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: - 2002-06-26 21:19:58 ```Bugs item #505443, was opened at 2002-01-18 10:53 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- >Comment By: Cliff Yapp (starseeker) Date: 2002-06-26 16:19 Message: Logged In: YES user_id=11463 Unfortunately, I wasn't the original person to speak on this one - I just submitted it from the list, and I can't remember who it was. If you think the current behavior is OK then it probably isn't worth fussing with too much. CY ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-26 16:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: - 2002-06-27 17:42:39 ```Bugs item #505443, was opened at 2002-01-18 11:53 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- >Comment By: Raymond Toy (rtoy) Date: 2002-06-27 13:42 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- Comment By: Cliff Yapp (starseeker) Date: 2002-06-26 17:19 Message: Logged In: YES user_id=11463 Unfortunately, I wasn't the original person to speak on this one - I just submitted it from the list, and I can't remember who it was. If you think the current behavior is OK then it probably isn't worth fussing with too much. CY ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-26 17:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: - 2002-10-03 16:49:16 ```Bugs item #505443, was opened at 2002-01-18 11:53 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2002-10-03 12:49 Message: Logged In: YES user_id=588346 The proposed correction, sign(x)*sqrt(1-cos(x)) / sqrt(2) only extends the validity of the formula from [0,2pi] to [- 2pi,2pi]. It continues to be incorrect whenever fix(x/(2*pi)) is odd. I suppose you could use (-1)^entier(x/(2*pi)) * sqrt(1-cos(x))/sqrt(2) but I'm not sure that is terribly useful, especially since Maxima knows nothing about Entier except how to evaluate it for constants. For example, (-1)^(2*Entier(...)) should simplify to 1, but doesn't. Entier(Entier(x)) should simplify to Entier (x). Entier(x+5) should simplify to Entier(x)+5. Etc. ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-27 13:42 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- Comment By: Cliff Yapp (starseeker) Date: 2002-06-26 17:19 Message: Logged In: YES user_id=11463 Unfortunately, I wasn't the original person to speak on this one - I just submitted it from the list, and I can't remember who it was. If you think the current behavior is OK then it probably isn't worth fussing with too much. CY ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-26 17:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: SourceForge.net - 2006-03-26 23:13:47 ```Bugs item #505443, was opened at 2002-01-18 09:53 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&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 Group: None Status: Open Resolution: None Priority: 5 Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- >Comment By: Robert Dodier (robert_dodier) Date: 2006-03-26 16:13 Message: Logged In: YES user_id=501686 For the record, (halfangles : true, sin (x/2)); => sqrt(1-cos(x))/sqrt(2)\$ i.e., same behavior as when this report was first made. Recently (Maxima 5.9.3) floor and ceiling have been implemented as simplifying functions, and the simplifications for entier mentioned below are all implemented. (-1)^(2*floor(x)) => 1 floor(floor(x)) => floor(x) floor(x + 5) => floor(x) + 5 Perhaps this means it is now reasonable to change the half-angle simplification to (-1)^floor(x/(2*%pi)) * . ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2002-10-03 10:49 Message: Logged In: YES user_id=588346 The proposed correction, sign(x)*sqrt(1-cos(x)) / sqrt(2) only extends the validity of the formula from [0,2pi] to [- 2pi,2pi]. It continues to be incorrect whenever fix(x/(2*pi)) is odd. I suppose you could use (-1)^entier(x/(2*pi)) * sqrt(1-cos(x))/sqrt(2) but I'm not sure that is terribly useful, especially since Maxima knows nothing about Entier except how to evaluate it for constants. For example, (-1)^(2*Entier(...)) should simplify to 1, but doesn't. Entier(Entier(x)) should simplify to Entier (x). Entier(x+5) should simplify to Entier(x)+5. Etc. ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-27 11:42 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- Comment By: Cliff Yapp (starseeker) Date: 2002-06-26 15:19 Message: Logged In: YES user_id=11463 Unfortunately, I wasn't the original person to speak on this one - I just submitted it from the list, and I can't remember who it was. If you think the current behavior is OK then it probably isn't worth fussing with too much. CY ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-26 15:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: SourceForge.net - 2006-08-27 00:18:55 ```Bugs item #505443, was opened at 2002-01-18 09:53 Message generated for change (Settings changed) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&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 - Trigonometry Group: None Status: Open Resolution: None Priority: 5 Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- Comment By: Robert Dodier (robert_dodier) Date: 2006-03-26 16:13 Message: Logged In: YES user_id=501686 For the record, (halfangles : true, sin (x/2)); => sqrt(1-cos(x))/sqrt(2)\$ i.e., same behavior as when this report was first made. Recently (Maxima 5.9.3) floor and ceiling have been implemented as simplifying functions, and the simplifications for entier mentioned below are all implemented. (-1)^(2*floor(x)) => 1 floor(floor(x)) => floor(x) floor(x + 5) => floor(x) + 5 Perhaps this means it is now reasonable to change the half-angle simplification to (-1)^floor(x/(2*%pi)) * . ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2002-10-03 10:49 Message: Logged In: YES user_id=588346 The proposed correction, sign(x)*sqrt(1-cos(x)) / sqrt(2) only extends the validity of the formula from [0,2pi] to [- 2pi,2pi]. It continues to be incorrect whenever fix(x/(2*pi)) is odd. I suppose you could use (-1)^entier(x/(2*pi)) * sqrt(1-cos(x))/sqrt(2) but I'm not sure that is terribly useful, especially since Maxima knows nothing about Entier except how to evaluate it for constants. For example, (-1)^(2*Entier(...)) should simplify to 1, but doesn't. Entier(Entier(x)) should simplify to Entier (x). Entier(x+5) should simplify to Entier(x)+5. Etc. ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-27 11:42 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- Comment By: Cliff Yapp (starseeker) Date: 2002-06-26 15:19 Message: Logged In: YES user_id=11463 Unfortunately, I wasn't the original person to speak on this one - I just submitted it from the list, and I can't remember who it was. If you think the current behavior is OK then it probably isn't worth fussing with too much. CY ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-26 15:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```
 [Maxima-bugs] [ maxima-Bugs-505443 ] Halfangle limitation From: SourceForge.net - 2009-01-04 13:46:19 ```Bugs item #505443, was opened at 2002-01-18 17:53 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&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 - Trigonometry Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Cliff Yapp (starseeker) Assigned to: Nobody/Anonymous (nobody) Summary: Halfangle limitation Initial Comment: Setting HALFANGLES gives sin(x/2) => sqrt(1-cos(x))/2. Of course, this is wrong if x is negative. Need to make it smarter. ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2009-01-04 14:46 Message: As suggested on the mailing list the general factors in terms of the floor, round and unit_step function for the functions sin, cos, sinh and cosh are implemented (Revision 1.8 of logarc.lisp). The general factor take into accunt real and complex arguments and simplifies to correct expressions. Closing the bug report as fixed. Dieter Kaiser ---------------------------------------------------------------------- Comment By: Robert Dodier (robert_dodier) Date: 2006-03-27 01:13 Message: Logged In: YES user_id=501686 For the record, (halfangles : true, sin (x/2)); => sqrt(1-cos(x))/sqrt(2)\$ i.e., same behavior as when this report was first made. Recently (Maxima 5.9.3) floor and ceiling have been implemented as simplifying functions, and the simplifications for entier mentioned below are all implemented. (-1)^(2*floor(x)) => 1 floor(floor(x)) => floor(x) floor(x + 5) => floor(x) + 5 Perhaps this means it is now reasonable to change the half-angle simplification to (-1)^floor(x/(2*%pi)) * . ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2002-10-03 18:49 Message: Logged In: YES user_id=588346 The proposed correction, sign(x)*sqrt(1-cos(x)) / sqrt(2) only extends the validity of the formula from [0,2pi] to [- 2pi,2pi]. It continues to be incorrect whenever fix(x/(2*pi)) is odd. I suppose you could use (-1)^entier(x/(2*pi)) * sqrt(1-cos(x))/sqrt(2) but I'm not sure that is terribly useful, especially since Maxima knows nothing about Entier except how to evaluate it for constants. For example, (-1)^(2*Entier(...)) should simplify to 1, but doesn't. Entier(Entier(x)) should simplify to Entier (x). Entier(x+5) should simplify to Entier(x)+5. Etc. ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-27 19:42 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- Comment By: Cliff Yapp (starseeker) Date: 2002-06-26 23:19 Message: Logged In: YES user_id=11463 Unfortunately, I wasn't the original person to speak on this one - I just submitted it from the list, and I can't remember who it was. If you think the current behavior is OK then it probably isn't worth fussing with too much. CY ---------------------------------------------------------------------- Comment By: Raymond Toy (rtoy) Date: 2002-06-26 23:06 Message: Logged In: YES user_id=28849 What are you expecting? I think it would be fairly easy for maxima to say sign(x)*sqrt(1-cos(x))/2 (assuming I got that right.) See halfangleaux in logarc.lisp. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=505443&group_id=4933 ```