MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Hankel matrix?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59374] Re: Hankel matrix?
  • From: "Carl K. Woll" <carlw at u.washington.edu>
  • Date: Sun, 7 Aug 2005 03:47:05 -0400 (EDT)
  • Organization: University of Washington
  • References: <dd1i8s$190$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

"Thomas Schmelzer" <thomas.??? at balliol.ox.ac.uk> wrote in message 
news:dd1i8s$190$1 at smc.vnet.net...
> Hello,
> given a list of coefficents I would like to create a Hankel matrix.
>
> Let's say
>
> 1/Gamma(z)=sum c_k z^k
>
> I am now interested in the coefficents c_4,...c_100 (numerical
> approximations are fine)
>
> I would like to generate the Hankel matrix
>
> c_4   c_5
>
> c_5
>
> c_6
>
> c_7
>
> etc.
>
> How do I have to proceed in Mathematica? It seems there is nothing to 
> build
> a Hankel matrix with.
> Thanks a lot
> Thomas
>
>

Thomas,

There is a function HankelMatrix for doing what you want in 
LinearAlgebra`MatrixManipulation`, which you can access by executing

Needs["LinearAlgebra`MatrixManipulation`"]

You can find information about HankelMatrix in the help browser or by 
executing

?HankelMatrix

Alternatively, you could use Partition to construct the matrix yourself. 
Shrinking your example a bit, the antidiagonals are c4, c5, ..., and you can 
construct your HankelMatrix using

In[3]:=
Partition[{c4,c5,c6,c7,c8,c9,c10},4,1]//TableForm//OutputForm

Out[3]//OutputForm=
c4 c5 c6 c7

c5 c6 c7 c8

c6 c7 c8 c9

c7 c8 c9 c10

If your antidiagonals are instead {c4, ..., c100}, then use

Partition[{c4,..., c100}, matrixwidth, 1]

where matrixwidth is the desired width of your matrix.

Carl Woll
Wolfram Research 



  • Prev by Date: Re: running notebook from command line...
  • Next by Date: Re: String[bring] vs "bring"
  • Previous by thread: Re: Hankel matrix?
  • Next by thread: String[bring] vs "bring"