HP Forums

Full Version: (50G) Gauss-Legendre Abscissae & Weights Programme
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
For positive integer input the programme NLGFW returns two lists, one of abscissae & the other the associated weights for Gaussian integration.

eg For input 5 the programme returns

{ 0. .538469310106 .906179845939 }
{ .568888888889 .478628670496 .236926885055 }

NLGFW

::
CK1&Dispatch
BINT1
::
DUP
%2
%<
caseSIZEERR
DUP
%FP
%0=
NcaseSIZEERR
FPTR2 ^PUSHFLAGS_
BINT105
SetSysFlag
FPTR2 ^LEGENDRE
FPTR2 ^RCLVX
ONE{}N
FPTR2 ^VXXLext
INNERDUP
#1+_ONE_DO
SWAP
DUPTYPEZINT?
ITE
FPTR2 ^Z>R
%%>%
ISTOP@
UNROLL
LOOP
DUP
ONE{}N
SWAP
FPTR2 ^XEQ>ARRAY1
SWAPDROPDUP
FPTR 3 92
FPTR2 ^MATRE
FPTR2 ^XEQARRY>
CARCOMP
NULL{}
SWAP
COERCE
#2/
ZERO_DO
SWAP
%ABS
>HCOMP
SWAPDROP
LOOP
OVER
%0=
IT
::
SWAP
>HCOMP
;
SWAP
FPTR 7 3
FPTR2 ^PDer
FPTR 7 1
DROPSWAP
DUPLENCOMP
DUP1LAMBIND
#1+_ONE_DO
2DUP
INDEX@
NTHCOMPDROP
DUPUNROT
FPTR2 ^PEVAL
%SQ_
%1
ROT
%SQ_
%-
%*
%2
SWAP
%/
3UNROLL
LOOP
SWAPDROP
1GETABND
FPTR2 ^POPFLAGS_
DUPUNROT
#2+UNROLL
{}N
;
;
Reference URL's