four fundamental subspaces

SVG source code:

<svg width="640" height="400" xmlns="http://www.w3.org/2000/svg">

    <defs>
        <marker id='arrow' viewBox="0 0 20 20" markerWidth='3' markerHeight='10' refX='0' refY='10' orient='auto'>
            <path d='M0,0 L20,10 L0,20 z' stroke="#000" />
        </marker>
    </defs>

    <rect width="160" height="100" x="62" y="242" transform="rotate(45,142,292)" fill="#fff" stroke="#000" />
    <rect width="160" height="100" x="62" y="58" transform="rotate(-45,142,108)" fill="#fff" stroke="#000" />
    <rect width="160" height="100" x="418" y="58" transform="rotate(45,498,108)" fill="#fff" stroke="#000" />
    <rect width="160" height="100" x="418" y="242" transform="rotate(-45,498,292)" fill="#fff" stroke="#000" />

    <text x="432" y="92" font-size="18" >column space</text>
    <text x="130" y="92" font-size="18" >row space</text>
    <text x="130" y="317" font-size="18" >nullspace</text>
    <text x="432" y="317" font-size="18" >left nullspace</text>

    <text x="462" y="65" font-size="18" font-weight="bold" font-style="italic" >C(A)</text>
    <text x="142" y="65" font-size="18" font-weight="bold" font-style="italic" >C(A<tspan baseline-shift="super" font-size="12" font-style="normal" >T</tspan>)</text>
    <text x="147" y="345" font-size="18" font-weight="bold" font-style="italic" >N(A)</text>
    <text x="457" y="345" font-size="18" font-weight="bold" font-style="italic" >N(A<tspan baseline-shift="super" font-size="12" font-style="normal" >T</tspan>)</text>

    <text x="566" y="65" font-size="18" >dim <tspan font-style="italic" >r</tspan></text>
    <text x="49" y="65" font-size="18" >dim <tspan font-style="italic" >r</tspan></text>

    <text x="49" y="345" font-size="18" >dim <tspan font-style="italic" >n-r</tspan></text>
    <text x="566" y="345" font-size="18" >dim <tspan font-style="italic" >m-r</tspan></text>

    <rect width="20" height="20" x="97" y="190" transform="rotate(45,107,200)" fill="#fff" stroke="#000" />
    <rect width="20" height="20" x="523" y="190" transform="rotate(45,533,200)" fill="#fff" stroke="#000" />
    <text x="49" y="205" font-size="18" font-weight="bold" >R<tspan font-weight="normal" baseline-shift="super" font-style="italic" >n</tspan></text>
    <text x="566" y="205" font-size="18" font-weight="bold" >R<tspan font-weight="normal" baseline-shift="super" font-style="italic" >m</tspan></text>

    <text x="490" y="125" font-size="18" >all <tspan font-weight="bold" font-style="italic" >A<tspan font-weight="normal" >x</tspan></tspan></text>
    <text x="130" y="125" font-size="18" >all <tspan font-weight="bold" font-style="italic" >A<tspan font-weight="normal" baseline-shift="super" font-size="12" font-style="normal" >T</tspan><tspan font-weight="normal" >y</tspan></tspan></text>
    <text x="130" y="290" font-size="18" ><tspan font-weight="bold" font-style="italic" >A</tspan><tspan font-style="italic" >x</tspan> = 0</text>
    <text x="483" y="290" font-size="18" ><tspan font-weight="bold" font-style="italic" >A</tspan><tspan baseline-shift="super" font-size="12" >T</tspan><tspan font-style="italic" >y</tspan> = 0</text>

    <rect width="90" height="50" x="125" y="160" transform="rotate(-45,171,185)" fill="#fff" stroke="#000" stroke-dasharray="2,2" />
    <rect width="90" height="50" x="425" y="160" transform="rotate(45,469,185)" fill="#fff" stroke="#000" stroke-dasharray="2,2" />

    <line x1="121" y1="200" x2="213" y2="173" stroke="#000" stroke-width="2" marker-end="url(#arrow)" />
    <line x1="218" y1="172" x2="418" y2="172" stroke="#000" stroke-width="1.25" marker-end="url(#arrow)" />
    <text x="300" y="166" font-size="16" font-style="italic" ><tspan font-weight="bold"  >A</tspan>x<tspan font-style="normal"> = </tspan>b</text>

    <line x1="121" y1="200" x2="180" y2="140" stroke="#000" stroke-width="2" marker-end="url(#arrow)" />
    <line x1="184" y1="136" x2="451" y2="136" stroke="#000" stroke-width="1.25" marker-end="url(#arrow)" />
    <text x="300" y="125" font-size="16" font-style="italic" ><tspan font-weight="bold" >A</tspan>x<tspan baseline-shift="sub" font-size="12" >r</tspan><tspan font-style="normal" > = </tspan>b</text>

    <line x1="121" y1="200" x2="154" y2="233" stroke="#000" stroke-width="2" marker-end="url(#arrow)" />
    <line x1="156" y1="235" x2="480" y2="235" stroke="#000" stroke-width="1.25" marker-end="url(#arrow)" />
    <text x="300" y="225" font-size="16" ><tspan font-weight="bold" font-style="italic" >A</tspan><tspan font-style="italic" >x</tspan><tspan baseline-shift="sub" font-size="12" font-style="italic" >n</tspan> = 0</text>

    <line x1="422" y1="172" x2="513" y2="198" stroke="#000" stroke-width="2" marker-end="url(#arrow)" />
    <text x="472" y="180" font-size="16" font-style="italic" >b</text>

    <line x1="420" y1="172" x2="451" y2="141" stroke="#000" stroke-width="2" marker-end="url(#arrow)" />
    <text x="444" y="163" font-size="16" font-style="italic" >p</text>

    <line x1="421" y1="172" x2="478" y2="230" stroke="#000" stroke-width="2" marker-end="url(#arrow)" />
    <text x="466" y="210" font-size="16" font-style="italic" >e</text>

    <text x="295" y="90" font-size="16" font-style="italic" >x<tspan font-style="normal" > = </tspan>x<tspan baseline-shift="sub" font-size="12" >r</tspan> + x<tspan baseline-shift="sub" font-size="12" >n</tspan></text>
    <text x="295" y="315" font-size="16" font-style="italic" >b<tspan font-style="normal" > = </tspan>p<tspan font-style="normal" > + </tspan>e</text>

</svg>