▁norm ▁of ▁the ▁error ▁is ▁such ▁that ▁matrices ▁ ▁and ▁ ▁are ▁un changed , ▁while ▁the ▁- small est ▁singular ▁values ▁are ▁replaced ▁with ▁zero es . ▁That ▁is , ▁we ▁want ▁ ▁so ▁by ▁linear ity , ▁ ▁We ▁can ▁then ▁remove ▁blocks ▁from ▁the ▁U ▁and ▁ Σ ▁matrices , ▁simpl ifying ▁to ▁ ▁This ▁provides ▁E ▁and ▁F ▁so ▁that ▁▁ ▁Now ▁if ▁ ▁is ▁n ons ing ular , ▁which ▁is ▁not ▁always ▁the ▁case ▁( note ▁that ▁the ▁behavior ▁of ▁TLS ▁when ▁ ▁is ▁singular ▁is ▁not ▁well ▁understood ▁yet ), ▁we ▁can ▁then ▁right ▁multiply ▁both ▁sides ▁by ▁ ▁to ▁bring ▁the ▁bottom ▁block ▁of ▁the ▁right ▁matrix ▁to ▁the ▁negative ▁identity , ▁giving ▁▁ ▁and ▁so ▁ ▁A ▁na ive ▁GNU ▁Oct ave ▁implementation ▁of ▁this ▁is : ▁ ▁function ▁B ▁= ▁t ls ( X , Y ) ▁ ▁[ m ▁n ] ▁▁ ▁= ▁size ( X ); ▁▁▁▁▁▁▁▁▁▁▁ ▁% ▁n ▁is ▁the ▁width ▁of ▁X ▁( X ▁is ▁m ▁by ▁n ) ▁Z ▁▁▁▁▁▁ ▁= ▁[ X ▁Y ]; ▁▁▁▁▁▁▁▁▁▁▁▁▁ ▁% ▁Z ▁is ▁X ▁augment ed ▁with ▁Y . ▁[ U ▁S ▁V ] ▁= ▁sv d ( Z , 0 ); ▁▁▁▁▁▁▁▁▁▁ ▁% ▁find ▁the ▁S VD ▁of ▁Z . ▁V XY ▁▁▁▁ ▁= ▁V ( 1 : n , 1 + n : end ); ▁▁▁▁ ▁% ▁Take ▁the ▁block ▁of ▁V ▁consisting ▁of ▁the ▁first ▁n ▁rows ▁and ▁the ▁n + 1 ▁to ▁last ▁column ▁V YY ▁▁▁▁ ▁=