Subject: how to interpret a ?print(%) quadpack result
From: Edwin Woollett
Date: Sat, 19 May 2012 13:59:58 -0700
I am constructing a test file of definite
integral results produced by nint, and am
using ?print(%) to get the correct digits to
put in the expected answer.
In the following, the use of quad (instead of
nint) forces the use of quadpack and the
form of the arguments causes quad to
call quad1d.
The option singular forces the use of quad_qags,
implemented by a call to function qags(complex-expr,x,x1,x2).
(%i30) quad(log(1/x)/sqrt(%i*x),x,0,1,singular);
(%o30) 2.82842712474623-2.828427124746158*%i
(%i31) ?print(%)$
((MPLUS SIMP (1708 "c:/work2/quad1d.mac" SRC $QAGS 1596))
2.8284271247462298 ((MTIMES SIMP) -2.8284271247461579 $%I))
---------------------------------
What is the meaning of:
(MPLUS SIMP (1708 "c:/work2/quad1d.mac" SRC $QAGS 1596))
2.8284271247462298
---------------------------------------
lines 1707 - 1710 of quad1d.mac are the end of
the function qags(complex-expr,x,x1,x2) which calls
quad_qags for the realpart and the imagpart separately.
1707 if dcode = 0 then cans + %i*dans
1708 else
1709 (print(" imagpart quad_qags error = ", part(codelist,dcode,2)),
1710 false))$
so line 1708 is the 'else' line which is ignored here.
I am assuming that this information is used for debug
puposes?
Ted Woollett