romberg or numerical integration



How does Maxima best do numerical integration?
I tried romberg and I failed.
Attached is an example.

Maxima 5.9.3 http://maxima.sourceforge.net
Using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (aka GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1) 
batching #pC:/dfw5/MATH/testrf.mac
(%i2) 		       load(c:\dfw5\math\elliptbf2.mac)
(%i3) mrf : bfloat([[1, 2, 0, 1.3110287771461], 
[%i, - %i, 0, 1.8540746773014], [0.5, 1, 0, 1.8540746773014], 
[%i - 1, %i, 0, 0.79612586584234 - %i 1.2138566698365], 
[2, 3, 4, 0.58408284167715], [%i, - %i, 2, 1.0441445654064], 
[%i - 1, %i, 1 - %i, 0.93912050218619 - %i 0.53296252018635]])
Warning:  Float to bigfloat conversion of 1.3110287771461
Warning:  Float to bigfloat conversion of 1.8540746773014001
Warning:  Float to bigfloat conversion of 0.5
Warning:  Float to bigfloat conversion of 1.8540746773014001
Warning:  Float to bigfloat conversion of 0.79612586584234002
Warning:  Float to bigfloat conversion of -1.2138566698365001
Warning:  Float to bigfloat conversion of 0.58408284167714997
Warning:  Float to bigfloat conversion of 1.0441445654064001
Warning:  Float to bigfloat conversion of 0.93912050218618992
Warning:  Float to bigfloat conversion of -0.53296252018635004
(%o3) [[1.0b0, 2.0b0, 0.0b0, 1.3110287771461b0], 
[%i, - 1.0b0 %i, 0.0b0, 1.8540746773014b0], 
[5.0b-1, 1.0b0, 0.0b0, 1.8540746773014b0], 
[%i - 1.0b0, %i, 0.0b0, 7.9612586584234b-1 - 1.2138566698365b0 %i], 
[2.0b0, 3.0b0, 4.0b0, 5.840828416771499b-1], 
[%i, - 1.0b0 %i, 2.0b0, 1.0441445654064b0], 
[%i - 1.0b0, %i, 1.0b0 - 1.0b0 %i, 9.391205021861899b-1
 - 5.3296252018635b-1 %i]]
(%i4) 				  fpprec : 20
(%o4) 				      20
(%i5) 			       bferrtol : 1.0b-6
(%o5) 				    1.0b-6
(%i6) 				   maxn : 16
(%o6) 				      16
(%i7) 		   bfrf((mrf ) , (mrf ) , (mrf ) ) - (mrf )
			    5 1	     5 2      5 3	 5 4
(%o7) 			   1.7679644369588548569b-15
						  2
(%i8) rf(x, y, z) := romberg(u/SQRT((x - 2 u x + u  (1 + x))
				 2			  2
		   (y - 2 u y + u  (1 + y)) (z - 2 u z + u  (1 + z))), u, 0,
1)
						  2
(%o8) rf(x, y, z) := romberg(u/SQRT((x - 2 u x + u  (1 + x))
				 2			  2
		   (y - 2 u y + u  (1 + y)) (z - 2 u z + u  (1 + z))), u, 0,
1)
(%i9) 	        bfloat(rf((mrf ) , (mrf ) , (mrf ) ) - (mrf ) )
			      5 1      5 2      5 3	   5 4
Warning:  Float to bigfloat conversion of 1.0
Warning:  Float to bigfloat conversion of 2.0
Warning:  Float to bigfloat conversion of 1.0
Warning:  Float to bigfloat conversion of 2.0
Warning:  Float to bigfloat conversion of 1.0
Warning:  Float to bigfloat conversion of 2.0
Maxima encountered a Lisp error:

 Error in MACSYMA-TOP-LEVEL [or a callee]: ((MTIMES SIMP) 1.0
                                            ((MEXPT SIMP)
                                             ((|$sqrt| SIMP
                                               (9
                                                "C:/dfw5/MATH/testrf.mac"
                                                SRC $RF 9))
                                              ((BIGFLOAT SIMP 69)
                                               295147905179352825856 1))
                                             -1)) is not of type (OR
                                                                  RATIONAL
 
LISP:FLOAT).

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.

Regards, Jim FitzSimons

Attached file: elliptbf2.mac
Attached file: testrf.mac