From: Martin Maechler <maechler_at_stat.math.ethz.ch>

Date: Tue 30 May 2006 - 00:55:15 EST

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue May 30 01:12:26 2006

Date: Tue 30 May 2006 - 00:55:15 EST

>>>>> "comtech" == comtech usa <comtech.usa@gmail.com> >>>>> on Tue, 23 May 2006 23:14:21 -0700 writes:

comtech> imagine when you have complicated matrix algebra computation using R, comtech> you cannot prevent some middle-terms become quadratic and absorbs into one comtech> scalar, right?

comtech> if R cannot intelligently determine this, and you have to manually add comtech> "drop" everywhere,

comtech> do you think it is reasonable?

I don't think you can find any reasonable example where `` you have to manually add "drop" everywhere ''.

To the contrary: In my experience, the S behavior (which won't be changed -- forget about that if you still consider it!!), is even rather useful, pointing to ``infelicities'' in your code most of the time, when matrix dimensions do not match.

Further note, that c( <1x1--matrix> ) also produces a scalar and gives slightly more readable formulae --- however in the present case, c() is only advisable if you *know* you don't have a ``proper'' (n x k, with n, k > 1) matrix.

Martin Maechler, ETH Zurich

comtech> On 5/23/06, Patrick Burns <pburns@pburns.seanet.com> wrote:

* >>
*

>> I think

* >>
** >> drop(B/D) * solve(A)
** >>
** >> would be a more transparent approach.
** >>
** >> It isn't that R can not do what you want, it is that
** >> it is saving you from shooting yourself in the foot
** >> in your attempt. What you are doing is not really
** >> a matrix computation.
** >>
** >>
** >> Patrick Burns
** >> patrick@burns-stat.com
** >> +44 (0)20 8525 0696
** >> http://www.burns-stat.com
** >> (home of S Poetry and "A Guide for the Unwilling S User")
** >>
** >> Michael wrote:
** >>
** >> >This is very strange:
** >> >
** >> >I want compute the following in R:
** >> >
** >> >g = B/D * solve(A)
** >> >
** >> >where B and D are quadratics so they are just a scalar number, e.g.
** >> B=t(a)
** >> >%*% F %*% a;
** >> >
** >> >I want to multiply B/D to A^(-1),
** >> >
** >> >but R just does not allow me to do that and it keeps complaining that
** >> >"nonconformable array, etc."
** >> >
** >> >
** >> >I tried the following two tricks and they worked:
** >> >
** >> >as.numeric(B/D) * solve(A)
** >> >
** >> >diag(as.numeric(B/D), 5, 5) %*% solve (A)
** >> >
** >> >----------------------------
** >> >
** >> >But if R cannot intelligently do scalar and matrix multiplication, it is
** >> >really problemetic.
** >> >
** >> >It basically cannot be used to do computations, since in complicated
** >> matrix
** >> >algebras, you have to distinguish where is scalar, and scalars obtained
** >> from
** >> >quadratics cannot be directly used to multiply another matrix, etc. It is
** >> >going to a huge mess...
** >> >
** >> >Any thoughts?
** >> >
** >> > [[alternative HTML version deleted]]
** >> >
** >> >______________________________________________
** >> >R-help@stat.math.ethz.ch mailing list
** >> >https://stat.ethz.ch/mailman/listinfo/r-help
** >> >PLEASE do read the posting guide!
** >> http://www.R-project.org/posting-guide.html
** >> >
** >> >
** >> >
** >> >
** >>
*

comtech> [[alternative HTML version deleted]]

comtech> ______________________________________________ comtech> R-help@stat.math.ethz.ch mailing listcomtech> https://stat.ethz.ch/mailman/listinfo/r-help comtech> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue May 30 01:12:26 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Tue 30 May 2006 - 02:10:25 EST.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*