Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Re: Stata matrix to Mata matrix form - Turn lower diagonal matrix


From   "Bianca B." <[email protected]>
To   [email protected]
Subject   Re: st: Re: Stata matrix to Mata matrix form - Turn lower diagonal matrix
Date   Thu, 1 Nov 2012 09:46:33 -0700 (PDT)

mat_S2[1,2] is the name of the matrix.

  mat_S2
    
   1   2
   +---------+
 1 |  0      |
   |  1   0
   |
> >+---------+
I found this old post 
http://www.stata.com/statalist/archive/2007-02/msg00156.html

where there is exactly my same question that is to turn my lower-triangular matrix, named mat_S2, into a symmetrical matrix by reflecting the lower triangular elements across the diagonal.

I tried to use mata makesymmetric function but I do not obtain the matrix I wish and that I report below

         1   2
      +---------+
    1 |  0   1  |
    2 |  1   0  |
      +---------+



--- On Thu, 11/1/12, Nick Cox <[email protected]> wrote:

> From: Nick Cox <[email protected]>
> Subject: Re: st: Re: Stata matrix to Mata matrix form
> To: [email protected]
> Date: Thursday, November 1, 2012, 9:34 AM
> You've lost me. What is mat_S2[1,2]?
> 
> Nick
> 
> On Thu, Nov 1, 2012 at 3:39 PM, Bianca B. <[email protected]>
> wrote:
> > Nick, you're right, I'm sorry. I didn't specify that I
> need to turn my lower-triangular matrix into a symmetrical
> matrix by reflecting the lower triangular elements across
> the diagonal. So starting from this matrix
> >
> > mat_S2
> >
> >     
>    1   2
> >      +---------+
> >    1 |  0      |
> >    2 |  1   0
> >      |
> >      +---------+
> >  I'd like to obtain a matrix like that
> >
> >     
>    1   2
> >      +---------+
> >    1 |  0   1  |
> >    2 |  1   0  |
> >      +---------+
> >
> >
> >
> >
> > --- On Thu, 11/1/12, Nick Cox <[email protected]>
> wrote:
> >
> >> From: Nick Cox <[email protected]>
> >> Subject: Re: st: Re: Stata matrix to Mata matrix
> form
> >> To: [email protected]
> >> Date: Thursday, November 1, 2012, 8:29 AM
> >> Looks symmetric to me.
> >>
> >> If a matrix is symmetric, Stata says so, and only
> displays
> >> the lower
> >> half (including the principal diagonal).
> >>
> >> In your case, Stata is doing exactly that.
> >>
> >> Here is another example:
> >>
> >> . mata : I(3)
> >> [symmetric]
> >>
> >>   
> 1   2   3
> >>     +-------------+
> >>   1 |  1     
>     |
> >>   2 | 
> 0   1      |
> >>   3 |
> >> 0   0   1  |
> >>     +-------------+
> >>
> >> If this is not what you mean, you'll have to
> explain what
> >> "doesn't
> >> work" means exactly.
> >>
> >> Nick
> >>
> >> On Thu, Nov 1, 2012 at 3:16 PM, Bianca B. <[email protected]>
> >> wrote:
> >> > Dear Nick,
> >> >
> >> > Thanks a lot. I converted a lower-triangular
> matrix
> >> from stata to mata form to apply the mata
> makesymmetric
> >> command but it doesn't work.
> >> > The command is
> >> >
> >> > : makesymmetric(mat_S2)
> >> > [symmetric]
> >> >       
> 1   2
> >> >     +---------+
> >> >   1 |  0   
>   |
> >> >   2 | 
> 1   0
> >> |
> >> >     +---------+
> >> >
> >> > Would you have any suggestion?
> >> > Best,
> >> > Bianca
> >> >
> >> >
> >> >
> >> > . mat foo = J(6,7,42)
> >> >
> >> > . mat li foo
> >> >
> >> > foo[6,7]
> >> >     c1  c2  c3
> >> c4  c5  c6  c7
> >> > r1  42  42  42  42 
> 42
> >> 42  42
> >> > r2  42  42  42  42 
> 42
> >> 42  42
> >> > r3  42  42  42  42 
> 42
> >> 42  42
> >> > r4  42  42  42  42 
> 42
> >> 42  42
> >> > r5  42  42  42  42 
> 42
> >> 42  42
> >> > r6  42  42  42  42 
> 42
> >> 42  42
> >> >
> >> > . mata : mat_foo = st_matrix("foo")
> >> >
> >> > . mata : mat_foo
> >> >         1
> >> 2    3    4    5
> >> 6    7
> >> >
> >>   
> +------------------------------------+
> >> >   1 |
> >>
> 42   42   42   42   42   42   42
> >> |
> >> >   2 |
> >>
> 42   42   42   42   42   42   42
> >> |
> >> >   3 |
> >>
> 42   42   42   42   42   42   42
> >> |
> >> >   4 |
> >>
> 42   42   42   42   42   42   42
> >> |
> >> >   5 |
> >>
> 42   42   42   42   42   42   42
> >> |
> >> >   6 |
> >>
> 42   42   42   42   42   42   42
> >> |
> >> >
> >>   
> +------------------------------------+
> >> >
> >> > . mata : st_matrix("foo", mat_foo :/ 7)
> >> >
> >> > . mat li foo
> >> >
> >> > foo[6,7]
> >> >     c1  c2  c3
> >> c4  c5  c6  c7
> >> >
> >>
> r1   6   6   6   6   6   6   6
> >> >
> >>
> r2   6   6   6   6   6   6   6
> >> >
> >>
> r3   6   6   6   6   6   6   6
> >> >
> >>
> r4   6   6   6   6   6   6   6
> >> >
> >>
> r5   6   6   6   6   6   6   6
> >> >
> >>
> r6   6   6   6   6   6   6   6
> >> >
> >> > --- On Thu, 11/1/12, Bianca B. <[email protected]>
> >> wrote:
> >> >
> >> >> From: Bianca B. <[email protected]>
> >> >> Subject: Stata matrix to Mata matrix form
> >> >> To: [email protected]
> >> >> Date: Thursday, November 1, 2012, 7:25 AM
> >> >> Hi Stata users,
> >> >>
> >> >> Does anyone know how can I get stata
> matrix in mata
> >> matrix?
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/
> 

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index