Date: Wed, 16 Dec 2009 11:29:43 -0800
Reply-To: xlr82sas <xlr82sas@AOL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: xlr82sas <xlr82sas@AOL.COM>
Organization: http://groups.google.com
Subject: Re: Do over can't be nested?
Content-Type: text/plain; charset=ISO-8859-1
On Dec 16, 10:01 am, stringplaye...@YAHOO.COM (Dale McLerran) wrote:
> --- On Tue, 12/15/09, xlr82sas <xlr82...@AOL.COM> wrote:
>
>
>
>
>
> > From: xlr82sas <xlr82...@AOL.COM>
> > Subject: Re: Do over can't be nested?
> > To: SA...@LISTSERV.UGA.EDU
> > Date: Tuesday, December 15, 2009, 4:58 PM
>
> > Hi SAS-Lers,
>
> > To expand Mikes insight
>
> > Here is what I would like to see:
>
> > Basically some of the key functionality in IML.
>
> > data ary;
> > array xy[3,2] (1 11 2 22 3 33);
> > array xysquated[3,2] _temporary_; /* square
> > each element */
> > array xpose[2,3] _temporary_; /*
> > transpose xy */
> > /*
> > 1 11
> > 2 22
> > 3 33
> > */
> > array x[3] _temporary_;
> > array y[2] _temporary_;
> > array x2[3] _temporary_;
> > array y2[2] _temporary_;
> > array submatrix[2,2] _temporary_;
>
> > xysquared=xy[#,#]; /* square each element */
>
> > /* column and row reductions */
> > y=xy[+,];
> > x=xy[,+];
> > scalar=xy[+,+];
>
> > /* sum of squares */
> > y2=xy[#+,];
> > x2=xy[,#+];
>
> > submatrix=xy[1:2,1:2];
>
> > xpose=transpose(xy);
>
> > run;
>
> > inverse, eigen, deteminants?
>
> > FCMP may enable us to add this kind of functionality.
> > Also I have a macro on my site that tries to do some of the
> > above.
>
> One could write FCMP subroutines to accomplish all of the
> above objectives. FCMP already has call routines to return
> a matrix inverse and matrix determinant. Currently, there
> is no subroutine to compute the eigenvalues and eigenvectors
> of a matrix. Certainly, that could be coded up in FCMP.
> But it is not something that I would tackle myself.
>
> Note that FCMP does not support returning an array from a
> function. Arrays must be returned in a subroutine. Thus,
> syntax for all of the problems specified above would have
> the form:
>
> call myroutine(input1, input2, output);
>
> For persons who might be interested in using the FCMP call
> routines in SAS statistical procedures, please note the
> following caveat on the utility of such subroutines: the FCMP
> procedure only supports derivatives of functions, but not
> subroutines. Since arrays must be returned from a call
> routine and since derivatives can only be computed for
> results returned from a function call, the array processing
> made available through the FCMP procedure is basically useless
> within SAS statistical procedures which support programming
> statements.
>
> Dale
>
> ---------------------------------------
> Dale McLerran
> Fred Hutchinson Cancer Research Center
> mailto: dmclerra@NO_SPAMfhcrc.org
> Ph: (206) 667-2926
> Fax: (206) 667-5977
> ---------------------------------------- Hide quoted text -
>
> - Show quoted text -
Thanks Dale
You have added clarity to my post again.
I did not know about about the call structure, I was focusing on
functions. I will look into this as time permits.
Thanks Again
|