Rev 20 | Rev 4161 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_title=Geometric mean of data
slib_parms=1\
,[data] or [data],[weight]
slib_author=Adeline Grelot
slib_out=geometric mean,total weight
slib_comment=The numbers must be strictly positive. \
Data and weight can be recognized under many formats, \
in particular as a matrix (with data before weight).
slib_example=[3,5,6]\
[3,5,6],[4,1,1]\
[3,5,6;4,1,1]
slib_require=pari
!exit
:proc
!readproc slib/stat/dataproc $wims_read_parm
!if $slib_cnt=0
slib_out=1
!else
!if $slib_weight =$empty
slib_data=!product x for x in $slib_data
slib_out=$[($slib_data)^(1/$slib_cnt)],$slib_cnt
!else
slib_out=!exec pari print(prod(x=1,$slib_cnt,[$slib_data][x]^[$slib_weight][x])^(1/$slib_tw))
slib_out=$slib_out,$slib_tw
!endif weight
!endif
slib_out =!trim $slib_out