{smcl} {bf:Mata course: Subscripting} {hline} {title:1. Basic subscripts} syntax meaning {hline 38} {it:x}{cmd:[}{it:i}{cmd:,} {it:j}{cmd:]} ({it:i}, {it:j}) element of {it:x} {it:x}{cmd:[}{it:i}{cmd:]} {it:i}th element of {it:x} {hline 38} {p 4 4 2} Notes: {p 8 11 2} -- {it:x}{cmd:[}{it:i}{cmd:]} is allowed only if {it:x} is {it:r x 1} or {it:1 x c}{break} {p 8 11 2} -- may be used on left or right side of equal sign {p 14 17 2} -- {cmd:z = x[i,j]} {p 14 17 2} -- {cmd:x[i,j] = z} {p 8 11 2} -- very fast {title:2. Entire rows and columns} syntax meaning {hline 38} {it:x}{cmd:[}{it:i}{cmd:,.]} {it:i}th row {it:x}{cmd:[.,}{it:j}{cmd:]} {it:j}th column {it:x}{cmd:[}{it:i}{cmd:,]} same as {it:x}[{it:i}{cmd:,.]} {it:x}{cmd:[,}{it:j}{cmd:]} same as {it:x}{cmd:[.,}{it:j}{cmd:]} {hline 38} {p 4 4 2} Notes: {p 8 11 2} -- may be used on left or right side of equal sign {p 14 17 2} -- {cmd:z = x[,j]} {p 14 17 2} -- {cmd:x[,j] = z} {p 8 11 2} -- very fast {title:3. Specified rows and columns} {p 4 4 2} In {it:x}{cmd:[}{it:i}{cmd:,}{it:j}{cmd:]}, {it:i} and {it:j} may be vectors {p 8 11 2} -- good style: {p 14 17 2} -- {it:i} a column {p 14 17 2} -- {it:j} a row {p 11 11 2} but it does not matter {p 8 11 2} -- elements may be repeated {p 8 11 2} -- may be used on left or right of equal sign {p 8 11 2} -- reasonably fast {title:4. Submatrices (range subscripts)} {p 8 11 2} -- {it:x}{cmd:[|}{it:i1}{cmd:,}{it:j1} {cmd:\} {it:i2}{cmd:,}{it:j2}{cmd:|]} extracts the submatrix {p 14 17 2} -- with upper-left corner{bind: }({it:i1},{it:j1}) {p 14 17 2} -- with lower-right corner ({it:i2},{it:j2}) {p 8 11 2} -- {it:x}{cmd:[|}{it:i1} {cmd:\} {it:j2}{cmd:|]} extracts subvector {p 14 17 2} -- from {it:i1} to {it:i2} {p 14 17 2} -- result is row if {it:x} is a row, column if {it:x} is a column {p 8 11 2} -- very fast {hline} {bf:{view talk.smcl:Top}}