Example 0 (Astronomical data). We apply the holonomic gradient descent method to the problem minimize f(x,y,r=1) * exp( - S11*x11 - S12*x12 - S13*x13 - S22*x22 - S23*x23 - S33*x33 - S1*y1 - S2*y2 - S3*y3 ) subject to (x11,x12,x13,x22,x23,x33,y1,y2,y3) in A (in R^9) where [S11,S12,S13,S22,S23,S33,S1,S2,S3] =[0.3119,0.0292,0.0707, 0.3605,0.0462, 0.3276, -0.0063,-0.0054,-0.0762]; and A=domain([-30,-30,-30,-30, -30, -30.0, -30.0, -30, -30], [ 10, 10, 10, 10, 20, -0.01, -0.01, -0.001, 10] ) =[-30,10] x [-30,10] x ... x [-30,-0.001] x [-30,10] (We fix the value of y1 in a narrow strip) The function f(x,y,r) is the Fisher-Bingham integral on the sphere S^2. --------------------------- We provide some programs to solve this problem on the computer algebra system Risa/Asir and Maple at http://www.math.kobe-u.ac.jp/OpenXM/Math/Fisher-Bingham (Programs are provided as they are in our study and keep our tries and have no cosmetics. A user friendly package of the holonomic gradient descent method will provided later.) Instruction to execute this program (on Debian GNU linux) 1. Download all programs with the extension .rr. (sei15c.rr, sei15.rr set15a.rr, sei13.rr) 2. If you do not have Risa/Asir (version >= 20100206), install it: 2.a. Add the line http://fe.math.kobe-u.ac.jp/KnoppixMath ./ to /etc/apt/sources.list 2.b. sudo su 2.c apt-get update 2.d dpkg --purge openxm 2.e. apt-get install openxm You do not need Maple to execute the function test5b_demo(). 3. Start the Risa/Asir, load sei15c.rr, and execute test5b_demo(): asir load("sei15c.rr"); test6_64_demo(); The starting point of the holonomic gradient descent method is taken at Pos = [-0.161,0.4377,1.0604, 0.2038,0.6924, -0.0428, -0.019,-0.0162,-0.2286] This starting point is found by an approximation of the target function by a polynomial (see our paper). During the first execution, the big data file "tmp-sei13c-r1.ab" is automatically downloaded by "wget". It will take a while. The file "tmp-sei13c-r1.ab" is the Pfaffian system for the Fisher-Bigham integral on S^2. The output of this function will be [5,5,[-0.161,0.3377,1.1104,0.2538,0.6424,-0.0928,-0.019,-0.0162,-0.2286],[11.68573121328159669,14.91244805708979873,0.2030659537984784740,0.003250244171008496903,0.004930946227270569453,-0.3545059504800473289]] point = [[x11,-0.161],[x12,0.3377],[x13,1.1104],[x22,0.2538],[x23,0.6424],[x33,-0.0928],[y1,-0.019],[y2,-0.0162],[y3,-0.2286]] int value=13.53011258277268755 This means that the target function takes the minimal 11.68573121328159669 at the point point = [[x11,-0.161],[x12,0.3377],[x13,1.1104], [x22,0.2538],[x23,0.6424], [x33,-0.0928], [y1,-0.019],[y2,-0.0162],[y3,-0.2286]] We pose that conditions x33 <= -0.01, y1 <= -0.01 and y2 <= -0.001, because x33=y1=y2=0 belong to the singularity of the equation. y1 and y2 do not change from the starting point and lie on the border of the domain. Other points are in the interior. This means that we solved the optimization problem with the confinement that y1 and y2 are almost 0. =============================== The function test6_64() works with Risa/Asir and Maple. Although we cannot change the starting point Pos in test6_64_demo(), we can change the starting point "Pos" when we use the function test6_64(). -----------------------------------------------