How do I draw the following matrix in LaTeX?
Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
I want to draw the following matrix in LaTeX:
I found that I should use the TikZ package, and I have spent a lot of time looking at the package. However, I have no experience of using the package before, and I do not know how to draw it. How can I do it?
tikz-matrix
New contributor
add a comment |
up vote
2
down vote
favorite
I want to draw the following matrix in LaTeX:
I found that I should use the TikZ package, and I have spent a lot of time looking at the package. However, I have no experience of using the package before, and I do not know how to draw it. How can I do it?
tikz-matrix
New contributor
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I want to draw the following matrix in LaTeX:
I found that I should use the TikZ package, and I have spent a lot of time looking at the package. However, I have no experience of using the package before, and I do not know how to draw it. How can I do it?
tikz-matrix
New contributor
I want to draw the following matrix in LaTeX:
I found that I should use the TikZ package, and I have spent a lot of time looking at the package. However, I have no experience of using the package before, and I do not know how to draw it. How can I do it?
tikz-matrix
tikz-matrix
New contributor
New contributor
edited Nov 19 at 6:07
Peter Mortensen
52736
52736
New contributor
asked Nov 18 at 21:42
Sherry
1225
1225
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
16
down vote
accepted
Just arrays:
documentclassarticle
usepackageamsmath,array
begindocument
[
newcommandblocke
beginmatrix
hphantom0 & hphantom0 & hphantom0 & hphantom0 \
\ \
endmatrix
newcommandblockr
beginmatrix
hphantom0 & hphantom0 & hphantom0 &
hatNsmash[b]vphantomBig \ &&& vdots \ &&& 2 \ &&& 1
endmatrix
newcommandblockl
beginmatrix
1 & hphantom0 & hphantom0 & hphantom0 \
2 \ vdots \ hatNsmash[b]vphantomBig
endmatrix
newcommanddddots
beginmatrix
hphantom0 & hphantom0 & ddots \
\
\
ddots
endmatrix
beginpmatrix
hspace*0.3em
beginarray
hline
& blockl & & & blocke \
hline
blockr & & blockl & & \
hline
& blockr & & blockl & \
hline
& & & dddots & \
hline
& & & blockr & \
hline
endarray
hspace*0.3em
endpmatrix
]
enddocument
I locally defined a few commands to ease input.
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
add a comment |
up vote
9
down vote
Welcome to TeX.SE! Actually, you do not need TikZ for this.
documentclassarticle
usepackageamsmath
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & 2 & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & 2 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 2 & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 1 & & & & & & widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & 2 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 2 & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 1 & & & & & & widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & 2 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
enddocument
However, you could use TikZ to improve the appearance.
documentclassarticle
usepackageamsmath
usepackagetikz
usetikzlibrarytikzmark
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknode212 & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknodeN1widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & tikzmarknodeN2widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & & & & & & & tikzmarknode232 & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & tikzmarknode222 & & & & & & & & & & & & & & & & & & & & \
& & & & 1 & & & & & & tikzmarknodeN3widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & tikzmarknodeN4widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & & & & & & & tikzmarknode252 & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & tikzmarknode242 & & & & & & & & & & & & & & & \
& & & & & & & & & 1 & & & & & & tikzmarknodeN5widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & tikzmarknodeN6widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & tikzmarknode262 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
begintikzpicture[overlay,remember picture]
foreach X in 1,...,6
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt] (2X) -- (NX);
endtikzpicture
enddocument
ADDENDUM: In an attempt to make Ryan Reich a bit happy, here is a version in which you only have to specify the nonempty entries of this sparse array. These entries are determined by the list 6/1/1,6/2/2,6/5/widehatN,...
, where each entry has the structure <X>/<Y>/<entry>
with X
and Y
specifying the position. Notice that one could shorten this further if you really have only one type of columns, but the point here is to allow to build arbitrary sparse matrices of that type. This code uses this answer.
documentclassarticle
usepackagetikz
usetikzlibrarymatrix,calc
usepackageetoolbox
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
edefmylist6/1/1,6/2/2,6/5/widehatN,%
5/6/widehatN,5/9/2,5/10/1,%
11/6/1,11/7/2,11/10/widehatN,%
10/11/widehatN,10/12/2,10/15/1,%
16/11/1,16/12/2,16/15/widehatN,%
20/21/widehatN,20/22/2,20/25/1%
begintikzpicture
letmymatrixcontentempty
foreach Y in 1,...,25%
foreach X in 1,...,25
xdeftmp
foreach XX/YY/ZZ in mylist
ifnumXX=X
ifnumYY=Y
xdeftmpZZ
fi
fi
ifnumX=25
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace\%
else
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace&space%
fi
matrix [matrix of math nodes,ampersand replacement=&,left delimiter=(,
right delimiter=),draw,row sep=3pt] (mat)
mymatrixcontent
;
foreach X [evaluate=X as Y using int(X+1)]in 5,10,...,20
aux1) -- (mat.south -
foreach X/Y [evaluate=Y as Z using int(Y+3)] in
6/2,5/6,11/7,10/12,16/12,20/22
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt]
(mat-Y-X) -- (mat-Z-X);
draw[line width=1.2mm, dots=4 per 1cm]
(mat-16-18.center) -- (mat-18-20.center)
(mat-18-16.center) -- (mat-20-18.center);
endtikzpicture
enddocument
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
1
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
16
down vote
accepted
Just arrays:
documentclassarticle
usepackageamsmath,array
begindocument
[
newcommandblocke
beginmatrix
hphantom0 & hphantom0 & hphantom0 & hphantom0 \
\ \
endmatrix
newcommandblockr
beginmatrix
hphantom0 & hphantom0 & hphantom0 &
hatNsmash[b]vphantomBig \ &&& vdots \ &&& 2 \ &&& 1
endmatrix
newcommandblockl
beginmatrix
1 & hphantom0 & hphantom0 & hphantom0 \
2 \ vdots \ hatNsmash[b]vphantomBig
endmatrix
newcommanddddots
beginmatrix
hphantom0 & hphantom0 & ddots \
\
\
ddots
endmatrix
beginpmatrix
hspace*0.3em
beginarray
hline
& blockl & & & blocke \
hline
blockr & & blockl & & \
hline
& blockr & & blockl & \
hline
& & & dddots & \
hline
& & & blockr & \
hline
endarray
hspace*0.3em
endpmatrix
]
enddocument
I locally defined a few commands to ease input.
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
add a comment |
up vote
16
down vote
accepted
Just arrays:
documentclassarticle
usepackageamsmath,array
begindocument
[
newcommandblocke
beginmatrix
hphantom0 & hphantom0 & hphantom0 & hphantom0 \
\ \
endmatrix
newcommandblockr
beginmatrix
hphantom0 & hphantom0 & hphantom0 &
hatNsmash[b]vphantomBig \ &&& vdots \ &&& 2 \ &&& 1
endmatrix
newcommandblockl
beginmatrix
1 & hphantom0 & hphantom0 & hphantom0 \
2 \ vdots \ hatNsmash[b]vphantomBig
endmatrix
newcommanddddots
beginmatrix
hphantom0 & hphantom0 & ddots \
\
\
ddots
endmatrix
beginpmatrix
hspace*0.3em
beginarray
hline
& blockl & & & blocke \
hline
blockr & & blockl & & \
hline
& blockr & & blockl & \
hline
& & & dddots & \
hline
& & & blockr & \
hline
endarray
hspace*0.3em
endpmatrix
]
enddocument
I locally defined a few commands to ease input.
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
add a comment |
up vote
16
down vote
accepted
up vote
16
down vote
accepted
Just arrays:
documentclassarticle
usepackageamsmath,array
begindocument
[
newcommandblocke
beginmatrix
hphantom0 & hphantom0 & hphantom0 & hphantom0 \
\ \
endmatrix
newcommandblockr
beginmatrix
hphantom0 & hphantom0 & hphantom0 &
hatNsmash[b]vphantomBig \ &&& vdots \ &&& 2 \ &&& 1
endmatrix
newcommandblockl
beginmatrix
1 & hphantom0 & hphantom0 & hphantom0 \
2 \ vdots \ hatNsmash[b]vphantomBig
endmatrix
newcommanddddots
beginmatrix
hphantom0 & hphantom0 & ddots \
\
\
ddots
endmatrix
beginpmatrix
hspace*0.3em
beginarray
hline
& blockl & & & blocke \
hline
blockr & & blockl & & \
hline
& blockr & & blockl & \
hline
& & & dddots & \
hline
& & & blockr & \
hline
endarray
hspace*0.3em
endpmatrix
]
enddocument
I locally defined a few commands to ease input.
Just arrays:
documentclassarticle
usepackageamsmath,array
begindocument
[
newcommandblocke
beginmatrix
hphantom0 & hphantom0 & hphantom0 & hphantom0 \
\ \
endmatrix
newcommandblockr
beginmatrix
hphantom0 & hphantom0 & hphantom0 &
hatNsmash[b]vphantomBig \ &&& vdots \ &&& 2 \ &&& 1
endmatrix
newcommandblockl
beginmatrix
1 & hphantom0 & hphantom0 & hphantom0 \
2 \ vdots \ hatNsmash[b]vphantomBig
endmatrix
newcommanddddots
beginmatrix
hphantom0 & hphantom0 & ddots \
\
\
ddots
endmatrix
beginpmatrix
hspace*0.3em
beginarray
hline
& blockl & & & blocke \
hline
blockr & & blockl & & \
hline
& blockr & & blockl & \
hline
& & & dddots & \
hline
& & & blockr & \
hline
endarray
hspace*0.3em
endpmatrix
]
enddocument
I locally defined a few commands to ease input.
answered Nov 18 at 22:12
egreg
699k8518583127
699k8518583127
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
add a comment |
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
Is it possible to make the parentheses curver/more curve?
– Ooker
Nov 19 at 1:51
add a comment |
up vote
9
down vote
Welcome to TeX.SE! Actually, you do not need TikZ for this.
documentclassarticle
usepackageamsmath
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & 2 & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & 2 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 2 & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 1 & & & & & & widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & 2 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 2 & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 1 & & & & & & widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & 2 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
enddocument
However, you could use TikZ to improve the appearance.
documentclassarticle
usepackageamsmath
usepackagetikz
usetikzlibrarytikzmark
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknode212 & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknodeN1widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & tikzmarknodeN2widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & & & & & & & tikzmarknode232 & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & tikzmarknode222 & & & & & & & & & & & & & & & & & & & & \
& & & & 1 & & & & & & tikzmarknodeN3widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & tikzmarknodeN4widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & & & & & & & tikzmarknode252 & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & tikzmarknode242 & & & & & & & & & & & & & & & \
& & & & & & & & & 1 & & & & & & tikzmarknodeN5widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & tikzmarknodeN6widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & tikzmarknode262 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
begintikzpicture[overlay,remember picture]
foreach X in 1,...,6
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt] (2X) -- (NX);
endtikzpicture
enddocument
ADDENDUM: In an attempt to make Ryan Reich a bit happy, here is a version in which you only have to specify the nonempty entries of this sparse array. These entries are determined by the list 6/1/1,6/2/2,6/5/widehatN,...
, where each entry has the structure <X>/<Y>/<entry>
with X
and Y
specifying the position. Notice that one could shorten this further if you really have only one type of columns, but the point here is to allow to build arbitrary sparse matrices of that type. This code uses this answer.
documentclassarticle
usepackagetikz
usetikzlibrarymatrix,calc
usepackageetoolbox
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
edefmylist6/1/1,6/2/2,6/5/widehatN,%
5/6/widehatN,5/9/2,5/10/1,%
11/6/1,11/7/2,11/10/widehatN,%
10/11/widehatN,10/12/2,10/15/1,%
16/11/1,16/12/2,16/15/widehatN,%
20/21/widehatN,20/22/2,20/25/1%
begintikzpicture
letmymatrixcontentempty
foreach Y in 1,...,25%
foreach X in 1,...,25
xdeftmp
foreach XX/YY/ZZ in mylist
ifnumXX=X
ifnumYY=Y
xdeftmpZZ
fi
fi
ifnumX=25
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace\%
else
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace&space%
fi
matrix [matrix of math nodes,ampersand replacement=&,left delimiter=(,
right delimiter=),draw,row sep=3pt] (mat)
mymatrixcontent
;
foreach X [evaluate=X as Y using int(X+1)]in 5,10,...,20
aux1) -- (mat.south -
foreach X/Y [evaluate=Y as Z using int(Y+3)] in
6/2,5/6,11/7,10/12,16/12,20/22
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt]
(mat-Y-X) -- (mat-Z-X);
draw[line width=1.2mm, dots=4 per 1cm]
(mat-16-18.center) -- (mat-18-20.center)
(mat-18-16.center) -- (mat-20-18.center);
endtikzpicture
enddocument
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
1
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
add a comment |
up vote
9
down vote
Welcome to TeX.SE! Actually, you do not need TikZ for this.
documentclassarticle
usepackageamsmath
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & 2 & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & 2 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 2 & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 1 & & & & & & widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & 2 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 2 & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 1 & & & & & & widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & 2 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
enddocument
However, you could use TikZ to improve the appearance.
documentclassarticle
usepackageamsmath
usepackagetikz
usetikzlibrarytikzmark
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknode212 & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknodeN1widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & tikzmarknodeN2widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & & & & & & & tikzmarknode232 & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & tikzmarknode222 & & & & & & & & & & & & & & & & & & & & \
& & & & 1 & & & & & & tikzmarknodeN3widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & tikzmarknodeN4widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & & & & & & & tikzmarknode252 & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & tikzmarknode242 & & & & & & & & & & & & & & & \
& & & & & & & & & 1 & & & & & & tikzmarknodeN5widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & tikzmarknodeN6widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & tikzmarknode262 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
begintikzpicture[overlay,remember picture]
foreach X in 1,...,6
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt] (2X) -- (NX);
endtikzpicture
enddocument
ADDENDUM: In an attempt to make Ryan Reich a bit happy, here is a version in which you only have to specify the nonempty entries of this sparse array. These entries are determined by the list 6/1/1,6/2/2,6/5/widehatN,...
, where each entry has the structure <X>/<Y>/<entry>
with X
and Y
specifying the position. Notice that one could shorten this further if you really have only one type of columns, but the point here is to allow to build arbitrary sparse matrices of that type. This code uses this answer.
documentclassarticle
usepackagetikz
usetikzlibrarymatrix,calc
usepackageetoolbox
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
edefmylist6/1/1,6/2/2,6/5/widehatN,%
5/6/widehatN,5/9/2,5/10/1,%
11/6/1,11/7/2,11/10/widehatN,%
10/11/widehatN,10/12/2,10/15/1,%
16/11/1,16/12/2,16/15/widehatN,%
20/21/widehatN,20/22/2,20/25/1%
begintikzpicture
letmymatrixcontentempty
foreach Y in 1,...,25%
foreach X in 1,...,25
xdeftmp
foreach XX/YY/ZZ in mylist
ifnumXX=X
ifnumYY=Y
xdeftmpZZ
fi
fi
ifnumX=25
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace\%
else
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace&space%
fi
matrix [matrix of math nodes,ampersand replacement=&,left delimiter=(,
right delimiter=),draw,row sep=3pt] (mat)
mymatrixcontent
;
foreach X [evaluate=X as Y using int(X+1)]in 5,10,...,20
aux1) -- (mat.south -
foreach X/Y [evaluate=Y as Z using int(Y+3)] in
6/2,5/6,11/7,10/12,16/12,20/22
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt]
(mat-Y-X) -- (mat-Z-X);
draw[line width=1.2mm, dots=4 per 1cm]
(mat-16-18.center) -- (mat-18-20.center)
(mat-18-16.center) -- (mat-20-18.center);
endtikzpicture
enddocument
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
1
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
add a comment |
up vote
9
down vote
up vote
9
down vote
Welcome to TeX.SE! Actually, you do not need TikZ for this.
documentclassarticle
usepackageamsmath
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & 2 & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & 2 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 2 & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 1 & & & & & & widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & 2 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 2 & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 1 & & & & & & widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & 2 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
enddocument
However, you could use TikZ to improve the appearance.
documentclassarticle
usepackageamsmath
usepackagetikz
usetikzlibrarytikzmark
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknode212 & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknodeN1widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & tikzmarknodeN2widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & & & & & & & tikzmarknode232 & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & tikzmarknode222 & & & & & & & & & & & & & & & & & & & & \
& & & & 1 & & & & & & tikzmarknodeN3widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & tikzmarknodeN4widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & & & & & & & tikzmarknode252 & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & tikzmarknode242 & & & & & & & & & & & & & & & \
& & & & & & & & & 1 & & & & & & tikzmarknodeN5widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & tikzmarknodeN6widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & tikzmarknode262 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
begintikzpicture[overlay,remember picture]
foreach X in 1,...,6
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt] (2X) -- (NX);
endtikzpicture
enddocument
ADDENDUM: In an attempt to make Ryan Reich a bit happy, here is a version in which you only have to specify the nonempty entries of this sparse array. These entries are determined by the list 6/1/1,6/2/2,6/5/widehatN,...
, where each entry has the structure <X>/<Y>/<entry>
with X
and Y
specifying the position. Notice that one could shorten this further if you really have only one type of columns, but the point here is to allow to build arbitrary sparse matrices of that type. This code uses this answer.
documentclassarticle
usepackagetikz
usetikzlibrarymatrix,calc
usepackageetoolbox
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
edefmylist6/1/1,6/2/2,6/5/widehatN,%
5/6/widehatN,5/9/2,5/10/1,%
11/6/1,11/7/2,11/10/widehatN,%
10/11/widehatN,10/12/2,10/15/1,%
16/11/1,16/12/2,16/15/widehatN,%
20/21/widehatN,20/22/2,20/25/1%
begintikzpicture
letmymatrixcontentempty
foreach Y in 1,...,25%
foreach X in 1,...,25
xdeftmp
foreach XX/YY/ZZ in mylist
ifnumXX=X
ifnumYY=Y
xdeftmpZZ
fi
fi
ifnumX=25
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace\%
else
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace&space%
fi
matrix [matrix of math nodes,ampersand replacement=&,left delimiter=(,
right delimiter=),draw,row sep=3pt] (mat)
mymatrixcontent
;
foreach X [evaluate=X as Y using int(X+1)]in 5,10,...,20
aux1) -- (mat.south -
foreach X/Y [evaluate=Y as Z using int(Y+3)] in
6/2,5/6,11/7,10/12,16/12,20/22
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt]
(mat-Y-X) -- (mat-Z-X);
draw[line width=1.2mm, dots=4 per 1cm]
(mat-16-18.center) -- (mat-18-20.center)
(mat-18-16.center) -- (mat-20-18.center);
endtikzpicture
enddocument
Welcome to TeX.SE! Actually, you do not need TikZ for this.
documentclassarticle
usepackageamsmath
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & 2 & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & vdots & & & & & & & & & & & & & & & & & & & \
& & & & & widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & 2 & & & & & & & & & & & & & & \
& & & & vdots & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 2 & & & & & & vdots & & & & & & & & & & & & & & \
& & & & 1 & & & & & & widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & 2 & & & & & & & & & \
& & & & & & & & & vdots & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 2 & & & & & & vdots & & & & & & & & & \
& & & & & & & & & 1 & & & & & & widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & vdots & & & & & \
& & & & & & & & & & & & & & & & & & & 2 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
enddocument
However, you could use TikZ to improve the appearance.
documentclassarticle
usepackageamsmath
usepackagetikz
usetikzlibrarytikzmark
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
[left(beginarray*5ccccc
hline
& & & & & 1 & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknode212 & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & tikzmarknodeN1widehatN & & & & & & & & & & & & & & & & & & & \
hline
& & & & tikzmarknodeN2widehatN & & & & & & 1 & & & & & & & & & & & & & & \
& & & & & & & & & & tikzmarknode232 & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & tikzmarknode222 & & & & & & & & & & & & & & & & & & & & \
& & & & 1 & & & & & & tikzmarknodeN3widehatN & & & & & & & & & & & & & & \
hline
& & & & & & & & & tikzmarknodeN4widehatN & & & & & & 1 & & & & & & & & & \
& & & & & & & & & & & & & & & tikzmarknode252 & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & tikzmarknode242 & & & & & & & & & & & & & & & \
& & & & & & & & & 1 & & & & & & tikzmarknodeN5widehatN & & & & & & & & & \
hline
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
& & & & & & & & & & & & & & & & & & bullet & & & & & & \
& & & & & & & & & & & & & & & bullet & & & & bullet & & & & & \
& & & & & & & & & & & & & & & & bullet & & & & & & & & \
& & & & & & & & & & & & & & & & & bullet & & & & & & & \
hline
& & & & & & & & & & & & & & & & & & & tikzmarknodeN6widehatN & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & & & & & & \
& & & & & & & & & & & & & & & & & & & tikzmarknode262 & & & & & \
& & & & & & & & & & & & & & & & & & & 1 & & & & & \
hline
endarrayright)]
begintikzpicture[overlay,remember picture]
foreach X in 1,...,6
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt] (2X) -- (NX);
endtikzpicture
enddocument
ADDENDUM: In an attempt to make Ryan Reich a bit happy, here is a version in which you only have to specify the nonempty entries of this sparse array. These entries are determined by the list 6/1/1,6/2/2,6/5/widehatN,...
, where each entry has the structure <X>/<Y>/<entry>
with X
and Y
specifying the position. Notice that one could shorten this further if you really have only one type of columns, but the point here is to allow to build arbitrary sparse matrices of that type. This code uses this answer.
documentclassarticle
usepackagetikz
usetikzlibrarymatrix,calc
usepackageetoolbox
tikzset% https://tex.stackexchange.com/a/156990/121799
dots/.style args=#1per #2%
line cap=round,
dash pattern=on 0 off #2/#1
begindocument
edefmylist6/1/1,6/2/2,6/5/widehatN,%
5/6/widehatN,5/9/2,5/10/1,%
11/6/1,11/7/2,11/10/widehatN,%
10/11/widehatN,10/12/2,10/15/1,%
16/11/1,16/12/2,16/15/widehatN,%
20/21/widehatN,20/22/2,20/25/1%
begintikzpicture
letmymatrixcontentempty
foreach Y in 1,...,25%
foreach X in 1,...,25
xdeftmp
foreach XX/YY/ZZ in mylist
ifnumXX=X
ifnumYY=Y
xdeftmpZZ
fi
fi
ifnumX=25
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace\%
else
expandaftergapptoexpandaftermymatrixcontentexpandaftertmpspace&space%
fi
matrix [matrix of math nodes,ampersand replacement=&,left delimiter=(,
right delimiter=),draw,row sep=3pt] (mat)
mymatrixcontent
;
foreach X [evaluate=X as Y using int(X+1)]in 5,10,...,20
aux1) -- (mat.south -
foreach X/Y [evaluate=Y as Z using int(Y+3)] in
6/2,5/6,11/7,10/12,16/12,20/22
draw[very thick, dots=8 per 1cm,shorten >=3pt,shorten <=3pt]
(mat-Y-X) -- (mat-Z-X);
draw[line width=1.2mm, dots=4 per 1cm]
(mat-16-18.center) -- (mat-18-20.center)
(mat-18-16.center) -- (mat-20-18.center);
endtikzpicture
enddocument
edited Nov 19 at 5:10
answered Nov 18 at 22:11
marmot
77.1k487162
77.1k487162
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
1
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
add a comment |
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
1
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
I don't want to be a jerk, but filling a page with ampersands that require careful counting is not a very helpful answer.
– Ryan Reich
Nov 19 at 1:06
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
@RyanReich Are you really typing them one by one? If so, then I agree. But of course if you just do copy and paste, then it is not that cumbersome. Well, and if you like phantoms better (and make sure that none of the entries exceeds the size of those), I'd say this is a matter of taste, but otherwise it is a bit nontrivial to bet things aligned across different blocks. So that is just to say that I definitely did not have to count here.
– marmot
Nov 19 at 2:16
1
1
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
What if I make a mistake? What if I need to make a change? There may technically be a programmatic avenue into this gigantic expression but it's fragile and not apparent on the finished product. It doesn't say what it does, it just is.
– Ryan Reich
Nov 19 at 3:48
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich If you make a mistake, you will not get what you want. However, this is not specific to this matrix. You seem not to like this answer, which is fine. However, I do not really see the purpose of your comments. I believe to have told you why I did what I did. If you have a better solution post it. (And yes, I do now how to typeset a matrix programmatically. Do you want me to post such a solution? The OP has already made her choice...) And yes, the matrix is gigantic.
– marmot
Nov 19 at 3:57
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
@RyanReich In an attempt to remove the tension in our exchange of opinions, I added a version in which you only need to specify the nontrivial entries.
– marmot
Nov 19 at 5:11
add a comment |
Sherry is a new contributor. Be nice, and check out our Code of Conduct.
Sherry is a new contributor. Be nice, and check out our Code of Conduct.
Sherry is a new contributor. Be nice, and check out our Code of Conduct.
Sherry is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f460659%2fhow-do-i-draw-the-following-matrix-in-latex%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown