aboutsummaryrefslogtreecommitdiff
path: root/content/posts/linear_algebra/matrices.ipe
diff options
context:
space:
mode:
authorKaran Jayachandra <mail@karanjayachandra.com>2026-04-20 08:52:33 +0200
committerKaran Jayachandra <mail@karanjayachandra.com>2026-04-20 08:52:33 +0200
commitb3194a1bef5062ed1304c7e68811656a1ce9f4ed (patch)
tree6fb5b8848ef06d01c5ac765a6eb027ce88993792 /content/posts/linear_algebra/matrices.ipe
parent830f1780ab1964cdc6678cf5bb10f7e60915e3c1 (diff)
Added the image to explain linear and affine transforms
Diffstat (limited to 'content/posts/linear_algebra/matrices.ipe')
-rw-r--r--content/posts/linear_algebra/matrices.ipe446
1 files changed, 446 insertions, 0 deletions
diff --git a/content/posts/linear_algebra/matrices.ipe b/content/posts/linear_algebra/matrices.ipe
new file mode 100644
index 0000000..a8a48c4
--- /dev/null
+++ b/content/posts/linear_algebra/matrices.ipe
@@ -0,0 +1,446 @@
+<?xml version="1.0"?>
+<!DOCTYPE ipe SYSTEM "ipe.dtd">
+<ipe version="70218" creator="Ipe 7.2.29">
+<info created="D:20260419130348" modified="D:20260419135154"/>
+<preamble>\usepackage{amsmath}</preamble>
+<ipestyle name="basic">
+<symbol name="arrow/arc(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/farc(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/ptarc(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/fptarc(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="mark/circle(sx)" transformations="translations">
+<path fill="sym-stroke">
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+</path>
+</symbol>
+<symbol name="mark/disk(sx)" transformations="translations">
+<path fill="sym-stroke">
+0.6 0 0 0.6 0 0 e
+</path>
+</symbol>
+<symbol name="mark/fdisk(sfx)" transformations="translations">
+<group>
+<path fill="sym-fill">
+0.5 0 0 0.5 0 0 e
+</path>
+<path fill="sym-stroke" fillrule="eofill">
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+</path>
+</group>
+</symbol>
+<symbol name="mark/box(sx)" transformations="translations">
+<path fill="sym-stroke" fillrule="eofill">
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+</path>
+</symbol>
+<symbol name="mark/square(sx)" transformations="translations">
+<path fill="sym-stroke">
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+</path>
+</symbol>
+<symbol name="mark/fsquare(sfx)" transformations="translations">
+<group>
+<path fill="sym-fill">
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+</path>
+<path fill="sym-stroke" fillrule="eofill">
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+</path>
+</group>
+</symbol>
+<symbol name="mark/cross(sx)" transformations="translations">
+<group>
+<path fill="sym-stroke">
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+</path>
+<path fill="sym-stroke">
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+</path>
+</group>
+</symbol>
+<symbol name="arrow/fnormal(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/pointed(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/fpointed(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/linear(spx)">
+<path stroke="sym-stroke" pen="sym-pen">
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+</path>
+</symbol>
+<symbol name="arrow/fdouble(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/double(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/mid-normal(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0.5 0 m
+-0.5 0.333 l
+-0.5 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/mid-fnormal(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0.5 0 m
+-0.5 0.333 l
+-0.5 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/mid-pointed(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0.5 0 m
+-0.5 0.333 l
+-0.3 0 l
+-0.5 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/mid-fpointed(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0.5 0 m
+-0.5 0.333 l
+-0.3 0 l
+-0.5 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/mid-double(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+1 0 m
+0 0.333 l
+0 -0.333 l
+h
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/mid-fdouble(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+1 0 m
+0 0.333 l
+0 -0.333 l
+h
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<anglesize name="22.5 deg" value="22.5"/>
+<anglesize name="30 deg" value="30"/>
+<anglesize name="45 deg" value="45"/>
+<anglesize name="60 deg" value="60"/>
+<anglesize name="90 deg" value="90"/>
+<arrowsize name="large" value="10"/>
+<arrowsize name="small" value="5"/>
+<arrowsize name="tiny" value="3"/>
+<color name="blue" value="0 0 1"/>
+<color name="brown" value="0.647 0.165 0.165"/>
+<color name="darkblue" value="0 0 0.545"/>
+<color name="darkcyan" value="0 0.545 0.545"/>
+<color name="darkgray" value="0.663"/>
+<color name="darkgreen" value="0 0.392 0"/>
+<color name="darkmagenta" value="0.545 0 0.545"/>
+<color name="darkorange" value="1 0.549 0"/>
+<color name="darkred" value="0.545 0 0"/>
+<color name="gold" value="1 0.843 0"/>
+<color name="gray" value="0.745"/>
+<color name="green" value="0 1 0"/>
+<color name="lightblue" value="0.678 0.847 0.902"/>
+<color name="lightcyan" value="0.878 1 1"/>
+<color name="lightgray" value="0.827"/>
+<color name="lightgreen" value="0.565 0.933 0.565"/>
+<color name="lightyellow" value="1 1 0.878"/>
+<color name="navy" value="0 0 0.502"/>
+<color name="orange" value="1 0.647 0"/>
+<color name="pink" value="1 0.753 0.796"/>
+<color name="purple" value="0.627 0.125 0.941"/>
+<color name="red" value="1 0 0"/>
+<color name="seagreen" value="0.18 0.545 0.341"/>
+<color name="turquoise" value="0.251 0.878 0.816"/>
+<color name="violet" value="0.933 0.51 0.933"/>
+<color name="yellow" value="1 1 0"/>
+<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
+<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
+<dashstyle name="dashed" value="[4] 0"/>
+<dashstyle name="dotted" value="[1 3] 0"/>
+<gridsize name="10 pts (~3.5 mm)" value="10"/>
+<gridsize name="14 pts (~5 mm)" value="14"/>
+<gridsize name="16 pts (~6 mm)" value="16"/>
+<gridsize name="20 pts (~7 mm)" value="20"/>
+<gridsize name="28 pts (~10 mm)" value="28"/>
+<gridsize name="32 pts (~12 mm)" value="32"/>
+<gridsize name="4 pts" value="4"/>
+<gridsize name="56 pts (~20 mm)" value="56"/>
+<gridsize name="8 pts (~3 mm)" value="8"/>
+<opacity name="10%" value="0.1"/>
+<opacity name="30%" value="0.3"/>
+<opacity name="50%" value="0.5"/>
+<opacity name="75%" value="0.75"/>
+<pen name="fat" value="1.2"/>
+<pen name="heavier" value="0.8"/>
+<pen name="ultrafat" value="2"/>
+<symbolsize name="large" value="5"/>
+<symbolsize name="small" value="2"/>
+<symbolsize name="tiny" value="1.1"/>
+<textsize name="Huge" value="\Huge"/>
+<textsize name="LARGE" value="\LARGE"/>
+<textsize name="Large" value="\Large"/>
+<textsize name="footnote" value="\footnotesize"/>
+<textsize name="huge" value="\huge"/>
+<textsize name="large" value="\large"/>
+<textsize name="script" value="\scriptsize"/>
+<textsize name="small" value="\small"/>
+<textsize name="tiny" value="\tiny"/>
+<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
+<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
+<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
+<tiling name="falling" angle="-60" step="4" width="1"/>
+<tiling name="rising" angle="30" step="4" width="1"/>
+</ipestyle>
+<page>
+<layer name="alpha"/>
+<view layers="alpha" active="alpha"/>
+<path layer="alpha" fill="lightblue">
+176 720 m
+176 800 l
+256 800 l
+256 720 l
+h
+</path>
+<path fill="lightblue">
+16 720 m
+48 784 l
+96 784 l
+96 736 l
+16 720 l
+</path>
+<path matrix="1 0 0 1 -64 -16" stroke="black" arrow="normal/normal">
+80 736 m
+80 816 l
+</path>
+<path matrix="1 0 0 1 -64 -16" stroke="black" arrow="normal/normal">
+80 736 m
+160 736 l
+</path>
+<text matrix="1 0 0 1 8 -108" transformations="translations" pos="88 820" stroke="black" type="label" width="11.058" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{x}_1</text>
+<text matrix="1 0 0 1 -72 -16" transformations="translations" pos="88 820" stroke="black" type="label" width="11.058" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{x}_2</text>
+<text matrix="1 0 0 1 -84 -44" transformations="translations" pos="140 804" stroke="black" type="label" width="6.047" height="4.428" depth="0" halign="center" valign="center" style="math">\bf{x}</text>
+<path matrix="1.33333 0 0 1 -90.6667 -16" stroke="black" arrow="normal/normal">
+80 736 m
+104 800 l
+</path>
+<path matrix="1.42857 0 0 0.571429 -98.2857 299.429" stroke="black" arrow="normal/normal">
+80 736 m
+136 764 l
+</path>
+<text matrix="1 0 0 1 -36 -44" transformations="translations" pos="60 800" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_2</text>
+<text matrix="1 0 0 1 -4 -64" transformations="translations" pos="60 800" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_1</text>
+<path matrix="1.17647 0 0 0.761905 -2.82353 171.429" stroke="black" arrow="normal/normal">
+16 720 m
+84 804 l
+</path>
+<text matrix="1 0 0 1 80 -60" transformations="translations" pos="56 828" stroke="black" type="label" width="41.123" height="6.843" depth="1.93" halign="center" valign="center">\bf{y} = \bf{A} \bf{x}</text>
+<path matrix="1 0 0 1 96 -16" stroke="black" arrow="normal/normal">
+80 736 m
+80 816 l
+</path>
+<path matrix="1 0 0 1 96 -16" stroke="black" arrow="normal/normal">
+80 736 m
+160 736 l
+</path>
+<text matrix="1 0 0 1 152 -108" transformations="translations" pos="88 820" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_1</text>
+<text matrix="1 0 0 1 88 -16" transformations="translations" pos="88 820" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_2</text>
+<text matrix="1 0 0 1 92 -64" transformations="translations" pos="140 804" stroke="black" type="label" width="52.977" height="14.441" depth="9.47" halign="center" valign="center" style="math">\bf{y} = \begin{bmatrix}
+\bf{r}_1 \cdot \bf{x}\\
+\bf{r}_2 \cdot \bf{x}
+\end{bmatrix}</text>
+<path matrix="0.857143 0 0 1 13.7143 0" stroke="black" dash="dotted">
+40 784 m
+96 784 l
+</path>
+<path stroke="black" dash="dotted">
+96 784 m
+96 736 l
+</path>
+<path matrix="1 0 0 1 48 0" stroke="black" arrow="normal/normal">
+128 720 m
+176 768 l
+</path>
+<path stroke="black" pen="ultrafat" arrow="normal/normal">
+112 752 m
+160 752 l
+</path>
+<path matrix="1 0 0 1 20 -128" fill="lightblue">
+176 720 m
+176 800 l
+256 800 l
+256 720 l
+h
+</path>
+<path matrix="1 0 0 1 -160 -144" fill="lightblue">
+176 720 m
+176 800 l
+256 800 l
+256 720 l
+h
+</path>
+<text matrix="1 0 0 1 112 -208" transformations="translations" pos="60 800" stroke="black" type="label" width="6.365" height="6.918" depth="0" halign="center" valign="center" style="math">\bf{b}</text>
+<path matrix="1 0 0 1 -64 -160" stroke="black" arrow="normal/normal">
+80 736 m
+80 816 l
+</path>
+<path matrix="1 0 0 1 -64 -160" stroke="black" arrow="normal/normal">
+80 736 m
+160 736 l
+</path>
+<text matrix="1 0 0 1 -8 -252" transformations="translations" pos="88 820" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_1</text>
+<text matrix="1 0 0 1 -72 -160" transformations="translations" pos="88 820" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_2</text>
+<text matrix="1 0 0 1 -68 -208" transformations="translations" pos="140 804" stroke="black" type="label" width="52.977" height="14.441" depth="9.47" halign="center" valign="center" style="math">\bf{y} = \begin{bmatrix}
+\bf{r}_1 \cdot \bf{x}\\
+\bf{r}_2 \cdot \bf{x}
+\end{bmatrix}</text>
+<path matrix="1 0 0 1 -112 -144" stroke="black" arrow="normal/normal">
+128 720 m
+176 768 l
+</path>
+<path matrix="1 0 0 1 116 -144" stroke="black" arrow="normal/normal">
+80 736 m
+80 816 l
+</path>
+<path matrix="1 0 0 1 116 -144" stroke="black" arrow="normal/normal">
+80 736 m
+160 736 l
+</path>
+<text matrix="1 0 0 1 172 -236" transformations="translations" pos="88 820" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_1</text>
+<text matrix="1 0 0 1 108 -144" transformations="translations" pos="88 820" stroke="black" type="label" width="9.73" height="4.432" depth="1.49" halign="center" valign="center" style="math">\bf{r}_2</text>
+<path matrix="2 0 0 0.5 -380 216" stroke="black" arrow="normal/normal">
+272 720 m
+272 720 l
+288 752 l
+</path>
+<text matrix="1 0 0 1 80 -204" transformations="translations" pos="56 828" stroke="black" type="label" width="50.602" height="6.926" depth="1.93" halign="center" valign="center">\bf{z} = \bf{y} + \bf{b}</text>
+<path matrix="1 0 0 1 0 -144" stroke="black" pen="ultrafat" arrow="normal/normal">
+112 752 m
+160 752 l
+</path>
+<path matrix="0.333333 0 0 0.666667 153.333 112" stroke="black" arrow="normal/normal">
+128 720 m
+176 768 l
+</path>
+<text matrix="1 0 0 1 152 -196" transformations="translations" pos="60 800" stroke="black" type="label" width="5.092" height="4.428" depth="0" halign="center" valign="center" style="math">\bf{z}</text>
+</page>
+</ipe>