{ linear.i mread(f: string; var m: matrix); read m from file named f mwrite(f: string; var m: matrix); write m to file named f lnorm(var w,l: ltuple; var s: scalar); s:=||l||_w lsprod(var s: scalar; var l1,l2: ltuple); l2:=s*l1 lsum(var l1,l2,l3: ltuple); l3:=l1+l2 lball(var s: scalar; var w,lb: ltuple); lb:= ball of radius s ldiff(var l1,l2,l3: ltuple); l3:=l1-l2 lmprod(var m: matrix; var l1,l2: ltuple); l2:=m*l1 mprod(var m1,m2,m3: matrix); m3:=m1*m2 vmprod(var m: matrix; var v1,v2: vector); v2:=m*v1 mnorm(var w: ltuple; var m: matrix; var s: scalar); s:=||m||_w minverse(var m1,m2: matrix); m2:=1/m1 vlho(imin: integer; var v: vector; var s,sho: scalar); used by vlconvert vlconvert(var s: scalar; var v: vector; var l: ltuple); convert v to l lvho(imin: integer; var s,sho: scalar; var v: vector); used by lvconvert lvconvert(var s: scalar; var l: ltuple; var v: vector); convert l to v Notes: Make sure that lmax