Ok. Apparently the post had to be validated on the mpmath list first.

On Thursday, January 14, 2016 at 4:22:13 PM UTC, Tobias Hartung wrote:
>
> Yes, I found it, but it won't let me re-post.
>
> Tobias
>
> On Thursday, January 14, 2016 at 4:18:55 PM UTC, Aaron Meurer wrote:
>>
>> Here is the mpmath mailing list 
>> https://groups.google.com/forum/#!forum/mpmath. 
>>
>> Aaron Meurer 
>>
>> On Thu, Jan 14, 2016 at 11:17 AM, Tobias Hartung 
>> <[email protected]> wrote: 
>> > Thank you and sorry about the wrong group post. Do you happen to know, 
>> how I 
>> > can crosspost it? 
>> > 
>> > Tobias 
>> > 
>> > On Thursday, January 14, 2016 at 3:35:34 PM UTC, Aaron Meurer wrote: 
>> >> 
>> >> You may want to crosspost this to the mpmath list. 
>> >> 
>> >> Aaron Meurer 
>> >> 
>> >> On Thu, Jan 14, 2016 at 10:14 AM, Tobias Hartung 
>> >> <[email protected]> wrote: 
>> >> > Hi everyone, 
>> >> > 
>> >> > I am trying to integrate polynomials on an n-sphere and implemented 
>> (see 
>> >> > attached) the algorithm published in Alan Genz "Fully Symmetric 
>> >> > Interpolatory Rules for Multiple Integrals over Hyper-Spherical 
>> >> > Surfaces" 
>> >> > Journal of Computational and Applied Mathematics 157: 187-195, 2003. 
>> On 
>> >> > double precision, everything is fine; however, I lose precision in 
>> some 
>> >> > integrals using more than double prec. 
>> >> > 
>> >> > I am using randomized samples on the sphere which (by construction) 
>> >> > should 
>> >> > integrate the polynomials (that I tested) exactly. However, 
>> integrating 
>> >> > all 
>> >> > polynomials up to degree 6 on a 5-dimensional sphere with points 
>> that 
>> >> > should 
>> >> > integrate all polynomials up to degree 7 exactly, I obtain the 
>> following 
>> >> > test results : 
>> >> > 
>> >> > mp.prec = 1024 (aka mp.dps = 307) 
>> >> > 
>> >> > polynomial  |  degree of polynomial  |  log_10 ( difference of two 
>> >> > randomized integrations )  |  log_10 ( relative error of weights ) 
>>  | 
>> >> > analytic value of integral 
>> >> > 
>> >> > [0, 0, 0, 0, 0, 0]      0      -inf                     -306.962262 
>> >> > 31.0062767 
>> >> > [1, 0, 0, 0, 0, 0]      1      -308.111506      -306.962262      0.0 
>> >> > [2, 0, 0, 0, 0, 0]      2      -14.519354        -306.962262 
>> >> > 5.16771278 
>> >> > [1, 1, 0, 0, 0, 0]      2      -14.8787358      -306.962262      0.0 
>> >> > [3, 0, 0, 0, 0, 0]      3      -308.583548      -306.962262      0.0 
>> >> > [2, 1, 0, 0, 0, 0]      3      -309.157806      -306.962262      0.0 
>> >> > [1, 1, 1, 0, 0, 0]      3      -309.759866      -306.962262      0.0 
>> >> > [4, 0, 0, 0, 0, 0]      4      -14.6442927      -306.962262 
>> >> > 1.93789229 
>> >> > [3, 1, 0, 0, 0, 0]      4      -15.3047045      -306.962262      0.0 
>> >> > [2, 2, 0, 0, 0, 0]      4      -15.0673319      -306.962262 
>> >> > 0.645964098 
>> >> > [2, 1, 1, 0, 0, 0]      4      -16.0594155      -306.962262      0.0 
>> >> > [1, 1, 1, 1, 0, 0]      4      -31.8146065      -306.962262      0.0 
>> >> > [5, 0, 0, 0, 0, 0]      5      -309.37189        -306.962262     
>>  0.0 
>> >> > [4, 1, 0, 0, 0, 0]      5      -309.481766      -306.962262      0.0 
>> >> > [3, 2, 0, 0, 0, 0]      5      -309.739262      -306.962262      0.0 
>> >> > [3, 1, 1, 0, 0, 0]      5      -310.095075      -306.962262      0.0 
>> >> > [2, 2, 1, 0, 0, 0]      5      -310.474598      -306.962262      0.0 
>> >> > [2, 1, 1, 1, 0, 0]      5      -310.714154      -306.962262      0.0 
>> >> > [1, 1, 1, 1, 1, 0]      5      -311.46643        -306.962262     
>>  0.0 
>> >> > [6, 0, 0, 0, 0, 0]      6      -14.7692314      -306.962262 
>> >> > 0.968946146 
>> >> > [5, 1, 0, 0, 0, 0]      6      -15.6057345      -306.962262      0.0 
>> >> > [4, 2, 0, 0, 0, 0]      6      -15.4314091      -306.962262 
>> >> > 0.193789229 
>> >> > [3, 3, 0, 0, 0, 0]      6      -15.8275833      -306.962262      0.0 
>> >> > [4, 1, 1, 0, 0, 0]      6      -16.5822942      -306.962262      0.0 
>> >> > [3, 2, 1, 0, 0, 0]      6      -16.4753651      -306.962262      0.0 
>> >> > [2, 2, 2, 0, 0, 0]      6      -16.0997045      -306.962262 
>> >> > 0.0645964098 
>> >> > [3, 1, 1, 1, 0, 0]      6      -32.3374853      -306.962262      0.0 
>> >> > [2, 2, 1, 1, 0, 0]      6      -17.3552924      -306.962262      0.0 
>> >> > [2, 1, 1, 1, 1, 0]      6      -33.4100353      -306.962262      0.0 
>> >> > [1, 1, 1, 1, 1, 1]      6      -49.1751847      -306.962262      0.0 
>> >> > 
>> >> > It should be noted that the polynomial are written in the following 
>> >> > form: a 
>> >> > list p of length n represents the polynomial 
>> >> > 
>> >> > z_0^{p[0]}  z_1^{p[1]}  z_2^{p[2]}  ...  z_{n-1}^{p[n-1]}. 
>> >> > 
>> >> > If we look at the second to last column, we can see that the weights 
>> add 
>> >> > are 
>> >> > exact with respect to mp.prec=1024 but do not add up to 1.0 exactly. 
>> >> > Hence, 
>> >> > the loss in precision is unlikely to be caused by the weights being 
>> only 
>> >> > on 
>> >> > double prec (and even if it is, then I don't understand why because 
>> they 
>> >> > are 
>> >> > calculated with mp.prec=1024, as well). 
>> >> > 
>> >> > The really interesting column is the middle one. Here, I took two 
>> >> > randomized 
>> >> > set of integration points (both should integrate all polynomials 
>> exactly 
>> >> > up 
>> >> > to machine error) and printed the decadic logarithm of the absolute 
>> >> > value of 
>> >> > their difference. In other words, we are expecting the middle column 
>> to 
>> >> > be 
>> >> > populated with numbers in the vicinity of -307 (just like the fourth 
>> >> > column). However, we only get these values for odd degree 
>> polynomials 
>> >> > (and 
>> >> > the constant 1 but that is just the sum of weights, i.e., the 
>> >> > randomization 
>> >> > doesn't do anything). For even degree polynomials, we have 
>> significantly 
>> >> > reduced precision. 
>> >> > 
>> >> > Does anyone have an idea what might be the reason for such behavior? 
>> >> > 
>> >> > Thank you very much, 
>> >> > Tobias 
>> >> > 
>> >> > -- 
>> >> > You received this message because you are subscribed to the Google 
>> >> > Groups 
>> >> > "sympy" group. 
>> >> > To unsubscribe from this group and stop receiving emails from it, 
>> send 
>> >> > an 
>> >> > email to [email protected]. 
>> >> > To post to this group, send email to [email protected]. 
>> >> > Visit this group at https://groups.google.com/group/sympy. 
>> >> > To view this discussion on the web visit 
>> >> > 
>> >> > 
>> https://groups.google.com/d/msgid/sympy/cf76f223-96a0-4789-8530-db224622f6bb%40googlegroups.com.
>>  
>>
>> >> > For more options, visit https://groups.google.com/d/optout. 
>> > 
>> > -- 
>> > You received this message because you are subscribed to the Google 
>> Groups 
>> > "sympy" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an 
>> > email to [email protected]. 
>> > To post to this group, send email to [email protected]. 
>> > Visit this group at https://groups.google.com/group/sympy. 
>> > To view this discussion on the web visit 
>> > 
>> https://groups.google.com/d/msgid/sympy/015dd6ad-d2e8-495c-82f7-1c157b0c7ab0%40googlegroups.com.
>>  
>>
>> > 
>> > For more options, visit https://groups.google.com/d/optout. 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/e83c7ee0-279f-475b-9e65-c8f0b51d9fc9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to