[dei.comp.hp28] Integration on non-bounded intervals

ares@alessia.dei.unipd.it (Nicola Catacchio 259126) (03/08/91)

  The following are functions that allow to integrate ,numerically,many kinds
of functions that the default integrator of hp28 can`t solve.
  Next, I'll post the version for hp48.
First,the volume integrator:
                   VOL
Arguments:
3: 'Algbraic'
2: {List}
1: Real Number
Where 'Algebraic' is a function of two variables:
      {List} must be formed with two lists each containing a variable and 
             its lower and upper limits : note that the first variable MUST
             have real limits,but the ones that refers to the second variable
             can be algebraics ; that is to say they can be functions of the
             first variable, allowing integration on non-rectangular domains.
      Real Number  expresses the maximum relative error on the final result.

  The procedure returns:
2: Real number ; the approximation of integral
1: Real Number ; the max. relative error that could occur.
 
Note that the `$` symbol is used instead of the integral symbol you can 
obtain pressing [SHIFT][5] on hp28 keyboard.

<< SWAP LIST-> DROP  ->        | List with variable lists in stack ...
F P x y                        |
   <<                          |
      << F y P $ DROP          | Program that performs the y-integration ...
      >> x P $                 | integrated varying the variable in list x
   >>                          |
>>

Now , if you understood what this program does , guess what`s the function 
performed by the next program .
<< SWAP LIST-> DROP ->
F P x y z
   <<
       <<
           << F z P $ DROP
           >> y P $ DROP
       >> x P $
   >>
>>

  The next program allows you to integrate a function whose right limit 
is +oo (infinite).The use is similar to that of the standard numerical
integrator but doesn`t request the right limit of integratin, being assumed
equal to +oo .
Arguments
3: `Algebraic`   "function of a variable"
2: {List}        "containining variable name and left limit"
1: Real number   "max. relative error"

  Return the same arguments as shown below.

       INF

<< SWAP LIST-> DROP 1
- 'INV(y)' + OVER
STO ROT 'y' SHOW
SWAP PURGE 'SQ(y)' /
{ y 0 1 } ROT $ 
>>

  The following can integrate functions whose left value is +oo,on a
limited interval,and its usage is equal to the standard integrator.

    SNGL

<< SWAP LIST-> DROP 1
- 'EXP(INV(y))' +
OVER STO ROT 'y'
SHOW SWAP PURGE 
'SQ(INV(y))*EXP(INV(y))'
/ { y 0 1 } ROT $
>>

  
           ARES ( Nicola Catacchio 259126 IL 
                    e-mail ares@deipd1.unipd.it
                      mail Cannaregio 4389 Venice,Italy )