{"version":10,"randomSeed":"139df139943c57ea450d7c3c36dd0feb","graph":{"viewport":{"xmin":-0.4401329002760594,"ymin":-3.958552882630298,"xmax":4.128821499841896,"ymax":0.23644612754902639},"showGrid":false,"showXAxis":false,"showYAxis":false},"expressions":{"list":[{"type":"text","id":"65","text":"sample matrices"},{"type":"expression","id":"1","color":"#c74440","latex":"M_{0}=\\left[1,3,2,4,4,-2,2,2,-1\\right]"},{"type":"expression","id":"61","color":"#000000","latex":"M_{1}=\\left[0,3,-6,6,4,-5,3,-7,8,-5,8,9,3,-9,12,-9,6,15\\right]"},{"type":"expression","id":"63","color":"#2d70b3","latex":"M_{2}=\\left[1,6,2,-5,-2,-4,0,0,2,-8,-1,3,0,0,0,0,1,7\\right]"},{"type":"expression","id":"88","color":"#000000","latex":"M_{3}=\\left[0,-3,-6,4,9,-1,-2,-1,3,1,-2,-3,0,3,-1,1,4,5,-9,-7\\right]"},{"type":"expression","id":"90","color":"#2d70b3","latex":"M_{4}=\\left[8,4,6,1,0,0,0,0,1,0,1,0,\\frac{13}{2},3,3,0,0,1\\right]"},{"type":"expression","id":"91","color":"#c74440","latex":"M_{5}=\\left[7,2,-4,1,3,-2,-1,-1,2\\right]"},{"type":"text","id":"67","text":"reset"},{"type":"expression","id":"9","color":"#6042a6","latex":"M\\to M_{5},I_{C}\\to1,I_{R}\\to1,D\\to1"},{"type":"text","id":"69","text":"current main matrix"},{"type":"expression","id":"10","color":"#000000","latex":"M=\\left[7,2,-4,1,3,-2,-1,-1,2\\right]","hidden":true},{"type":"text","id":"71","text":"indexing function: row -> column -> value"},{"type":"expression","id":"15","color":"#000000","latex":"I\\left(a,b\\right)=M\\left[\\left(a-1\\right)W+b\\right]"},{"type":"text","id":"73","text":"display matrix"},{"type":"expression","id":"2","color":"#000000","latex":"\\left[\\left(x_{1},-y_{1}\\right)\\operatorname{for}x_{1}=\\left[1...W\\right],y_{1}=\\left[1...H\\right]\\right]","showLabel":true,"label":"${M}","hidden":true,"points":false,"dragMode":"NONE","labelSize":"2"},{"type":"text","id":"75","text":"width, height of matrix"},{"type":"expression","id":"4","color":"#6042a6","latex":"W=3","hidden":true,"slider":{"hardMin":true,"hardMax":true,"min":"1","step":"1"}},{"type":"expression","id":"5","color":"#000000","latex":"H=3","hidden":true,"slider":{"hardMin":true,"hardMax":true,"min":"1","step":"1"}},{"type":"text","id":"23","text":"algorithm based on Lay page 18 (section 1.2)"},{"type":"text","id":"51","text":"step in the overall process"},{"type":"expression","id":"58","color":"#2d70b3","latex":"S=\\left\\{I_{C}\\le W:\\left\\{I_{R}\\le H:\\left\\{\\prod_{k=I_{R}}^{H}\\left\\{I\\left(k,I_{C}\\right)=0:1,0\\right\\}=1:\\left(I_{C}\\to I_{C}+1\\right),I\\left(I_{R},I_{C}\\right)=0:S_{R}\\left(I_{R},I_{pr}\\right),I\\left(I_{R},I_{C}\\right)=1:\\left(R_{RF}\\left(I_{R},I_{C}\\right),I_{C}\\to I_{C}+1,I_{R}\\to I_{R}+1\\right),N_{R}\\left(I_{R},I_{C}\\right)\\right\\}\\right\\}\\right\\}"},{"type":"text","id":"77","text":"row-replacement: row to keep -> pivot column -> action changing matrix to clear 0s above and below pivot"},{"type":"expression","id":"59","color":"#388c46","latex":"R_{RF}\\left(a,b\\right)=\\left(M\\to\\left[\\left\\{i_{r}=a:I\\left(i_{r},i_{c}\\right),I\\left(i_{r},i_{c}\\right)-\\frac{I\\left(i_{r},b\\right)}{I\\left(a,b\\right)}\\cdot I\\left(a,i_{c}\\right)\\right\\}\\operatorname{for}i_{c}=\\left[1...W\\right],i_{r}=\\left[1...H\\right]\\right]\\right)"},{"type":"text","id":"79","text":"index of some nonzero value below the pivot (keyed sorting hack)"},{"type":"expression","id":"18","color":"#388c46","latex":"I_{pr}=\\operatorname{sort}\\left(\\left[I_{R}...H\\right],-\\left|\\left[I\\left(k,I_{C}\\right)\\operatorname{for}k=\\left[I_{R}...H\\right]\\right]\\right|\\right)\\left[1\\right]"},{"type":"text","id":"81","text":"swap rows: first row -> second row -> swap action"},{"type":"expression","id":"38","color":"#c74440","latex":"S_{R}\\left(a,b\\right)=\\left(M\\to\\left[\\left\\{i_{r}=a:I\\left(b,i_{c}\\right),i_{r}=b:I\\left(a,i_{c}\\right),I\\left(i_{r},i_{c}\\right)\\right\\}\\operatorname{for}i_{c}=\\left[1...W\\right],i_{r}=\\left[1...H\\right]\\right],D\\to-D\\right)"},{"type":"text","id":"83","text":"normalise row: row index -> pivot column -> normalise action"},{"type":"expression","id":"62","color":"#c74440","latex":"N_{R}\\left(a,b\\right)=\\left(M\\to\\left[\\left\\{i_{r}=a:\\frac{I\\left(i_{r},i_{c}\\right)}{I\\left(i_{r},b\\right)},I\\left(i_{r},i_{c}\\right)\\right\\}\\operatorname{for}i_{c}=\\left[1...W\\right],i_{r}=\\left[1...H\\right]\\right],D\\to D\\cdot I\\left(a,b\\right)\\right)"},{"type":"text","id":"93","text":"determinant (a byproduct) -- only correct if the correct value is nonzero"},{"type":"expression","id":"94","color":"#388c46","latex":"D=1"},{"type":"text","id":"85","text":"currently considered column, row indices"},{"type":"expression","id":"52","color":"#2d70b3","latex":"I_{C}=1","slider":{"hardMin":true,"min":"1","step":"1"}},{"type":"expression","id":"53","color":"#388c46","latex":"I_{R}=1","slider":{"hardMin":true,"min":"1","step":"1"}},{"type":"text","id":"87","text":"visual for the process focus"},{"type":"expression","id":"54","color":"#6042a6","latex":"\\operatorname{polygon}\\left(\\left[\\left(I_{C}-\\frac{1}{2},-\\frac{1}{2}\\right),\\left(I_{C}+\\frac{1}{2},-\\frac{1}{2}\\right),\\left(I_{C}+\\frac{1}{2},-H-\\frac{1}{2}\\right),\\left(I_{C}-\\frac{1}{2},-H-\\frac{1}{2}\\right)\\right]\\right)"},{"type":"expression","id":"57","color":"#c74440","latex":"\\operatorname{polygon}\\left(\\left[\\left(I_{C}-\\frac{1}{3},-I_{R}+\\frac{1}{3}\\right),\\left(I_{C}+\\frac{1}{3},-I_{R}+\\frac{1}{3}\\right),\\left(I_{C}+\\frac{1}{3},-I_{R}-\\frac{1}{3}\\right),\\left(I_{C}-\\frac{1}{3},-I_{R}-\\frac{1}{3}\\right)\\right]\\right)"}],"ticker":{"handlerLatex":"S","minStepLatex":"500","open":true}}}