From: Robin Hankin <r.hankin_at_noc.soton.ac.uk>

Date: Tue 12 Jul 2005 - 23:39:42 EST

Date: Tue 12 Jul 2005 - 23:39:42 EST

Gabor

I cannot begin to tell you how much value you have added to my research with your observation.

A real "eureka" moment for me.

[oh, and it answered my question as well]

kia ora

Robin

On 12 Jul 2005, at 13:35, Gabor Grothendieck wrote:

> On 7/12/05, Robin Hankin <r.hankin@noc.soton.ac.uk> wrote:

*>
**>> Hi
**>>
**>> I want to write a little function that takes a vector of arbitrary
**>> length "n" and returns a matrix of size n+1 by n+1.
**>>
**>> I can't easily describe it, but the following function that works for
**>> n=3 should convey what I'm trying to do:
**>>
**>>
**>> f <- function(x){
**>> matrix(c(
**>> 1 , 0 , 0 , 0,
**>> x[1] , 1 , 0 , 0,
**>> x[1]*x[2] , x[2] , 1 , 0,
**>> x[1]*x[2]*x[3], x[2]*x[3], x[3], 1
**>> ),
**>> 4,4, byrow=T)
**>> }
**>>
**>> f(c(10,7,2))
**>> [,1] [,2] [,3] [,4]
**>> [1,] 1 0 0 0
**>> [2,] 10 1 0 0
**>> [3,] 70 7 1 0
**>> [4,] 140 14 2 1
**>>
**>>>
**>>>
**>>
**>>
**>> As one goes down column "i", the entries get multiplied by successive
**>> elements of x, starting with x[i], after the first "1"
**>>
**>> As one goes along a row, one takes a product of the tail end of x,
**>> until the zeroes kick in.
**>>
**>
**> I have not checked this generally but at least for
**> the 4x4 case its inverse is 0 except for 1s on the
**> diagonal and -x on the subdiagonal. We can use
**> diff on a diagonal matrix to give a matrix with
**> a diagonal and superdiagonal and then massage that
**> into the required form, invert and round --
**> leave off the rounding if the components of x
**> are not known to be integer.
**>
**> round(solve(diag(4) - t(diff(diag(5))[,1:4])+diag(4) * c(0,x)))
**>
*

-- Robin Hankin Uncertainty Analyst National Oceanography Centre, Southampton European Way, Southampton SO14 3ZH, UK tel 023-8059-7743 ______________________________________________ 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.htmlReceived on Tue Jul 12 23:45:15 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:33:33 EST
*