macro qq x.1-x.p mconstant i n p mcolumn x.1-x.p y.1-y.p t dd dsquare pi chis mmatrix z zt s sinv t1 t2 t3 let n=count(x.1) do i=1:p let y.i=x.i-mean(x.i) enddo covar x.1-x.p s invert s sinv do i=1:n copy y.1-y.p z; use i transpose z zt multiply z sinv t1 multiply t1 zt t2 copy t2 t let dd(i)=t(1) enddo set pi 1:n end let pi=pi/n sort dd dsquare invcdf pi chis; chisq p. plot dsquare*chis endmacro