MathGroup Archive 2007

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

Search the Archive

Re: lower diagonal matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80429] Re: lower diagonal matrix
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Wed, 22 Aug 2007 04:45:30 -0400 (EDT)
  • References: <fae9s7$eai$1@smc.vnet.net>

On Aug 21, 2:05 am, Sean Bonness <nbonn... at chem.ucsb.edu> wrote:
> Hello...
>
> I am in need of some help in trying to convert data I got from
> another program into mathematica so that I can eventually diagonalize
> the matrix. What I have from the other program are values for a lower
> diagonal matrix, which corresponds to a full symmetric matrix and
> whereby the program tries to save on writing alot of data by just
> writing the lower diagonal matrix. The values I have from another
> program are in a five column by 56 row matrix. The first element
> (1,1) in this matrix corresponds to the (1,1) element in a lower
> diagonal matrix, the second element (1,2) corresponds to (2,1), the
> third (1,3) corresponds to (2,2), the fourth (1,4) corresponds to
> (3,1), the fifth (1,5) corresponds to (3,2), the sixth (2,1)
> corresponds to (3,3) and so on. What I have done so far is read in
> the data into mathematica, but when I do it reads it in as a one
> dimensional list. What I would like to do is to break up the data
> into a human readable form of a lower diagonal matrix and then
> construct a full symmetric (23x23) matrix of this data so as to
> eventually diagonalize and solve it. The lower diagonal elements are
> the same as the upper diagonal elements, so I understand that I would
> need to specify the elements to be a[i,j]=a[j,i] somewhere in
> defining the symmetric matrix. Any help in trying to help me write/
> construct the full symmetric matrix from the data I have would be
> much appreciated.

Here's a toy example for a 4 x 4 matrix:

k[i_,j_] := #(#-1)/2&@Max[i,j] + Min[i,j]

Table[k[i,j],{i,4},{j,4}]

{{1, 2, 4, 7},
 {2, 3, 5, 8},
 {4, 5, 6, 9},
 {7, 8, 9, 10}}

t = Flatten@Table[Random[],{2},{5}]

{0.963279, 0.290362, 0.347601, 0.300672, 0.184255,
 0.249541, 0.666380, 0.371960, 0.026704, 0.187856}

Table[t[[k[i,j]]],{i,4},{j,4}]

{{0.963279, 0.290362, 0.300672, 0.666380},
 {0.290362, 0.347601, 0.184255, 0.371960},
 {0.300672, 0.184255, 0.249541, 0.026704},
 {0.666380, 0.371960, 0.026704, 0.187856}}



  • Prev by Date: Re: Manipulate with Wrapping SetterBars
  • Next by Date: ListSurfacePlot3D in Mathematica Version 6
  • Previous by thread: lower diagonal matrix
  • Next by thread: Re: lower diagonal matrix