- 积分
- 32
- 注册时间
- 2009-7-29
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2010-6-18 10:08:08
|
显示全部楼层
来自 湖南湘潭
5# TBE_Legend
楼主没仔细看我的意思吧,可能是我写得还不是很清楚吧,不作解释了。
下面的贴子虽然是关于maple的,但对于MM可能也有所帮助。
关键词: zero imaginary part
出处:http://www.mapleprimes.com/posts/41752-Bug--Evalf-Hypergeometric-2F1
“
The initial problem you've described is a bug which we will fix. Thanks for pointing it out. For the other issue, note that as a general rule, in the floating point domain, Maple closes branch cuts from *both* sides, using the sign of the zero imaginary part to associate "sides". For your example, we thus have: > tstData:=[a=1.2+.4*I, b=-2.6+.85*I, c=-1.0+.7*I, z= 2.8 - 0.0*I]; tstData := [a = 1.2 + 0.4 I, b = -2.6 + 0.85 I, c = -1.0 + 0.7 I, z = 2.8 - 0. I] > TstData:= op(eval([a,b,c,z], (tstData))): > MPL_2F1(TstData); -720.102249494927486 + 440.743419599155560 I > tstData:=[a=1.2+.4*I, b=-2.6+.85*I, c=-1.0+.7*I, z= 2.8 + 0.0*I]; tstData := [a = 1.2 + 0.4 I, b = -2.6 + 0.85 I, c = -1.0 + 0.7 I, z = 2.8 + 0. I] > TstData:= op(eval([a,b,c,z], (tstData))): > MPL_2F1(TstData); 1.49139640953106626 - 3.74804421753558801 I showing the limiting values from below (the first) and above (the second). The question then becomes: If the user is not explicit in specifying the side of the branch cut they want, which side should be assumed? That is, do we associate z=2.8 with z=2.8+0.0*I or z=2.8-0.0*I? There is no "right" answer to this, and the best we can hope to achieve is consistency. To make this decision, Maple uses the convention of "counter-clockwise continuity" around a (finite) branch point, meaning that the closure rule is determined by taking a limit along a path around the branch point in a counter-clockwise direction. For branches extending to positive infinity, this implies the closure is from below, so for a 2F1 such as yours, the association is z=2.8 => z=2.8-0.0*I. Note that this convention determines other things, such as the logarithmic form of inverse trig functions and the identities relating them. As a final note, I am confused by your remarks concerning an apparent difference in this behaviour for 2F1 between Maple 10 and Maple 11. My tests indicate that the same results obtain in both versions. Can you provide an explicit example, with results, showing the discrepancy? Thx. Dave Hare Manager Mathematical Software Development Group Maplesoft
”
"Dave, Thank you for the detailled answer, it is very welcome. Certainly it would be worth to add such to the docu, especially for the numerics ... I was not aware of this rule in Maple. And also not of the subtility of the 'complex zero'. Please find attached the version for M10 and M11, printed as pdf. There seems to be a difference in handling 2.8 + 1e-300*I*0 giving 2.8 or 2.8 + 0.0*I (and after that it is covered by what you said)."
|
|