---------------------------------------- |context> => |context: matrix play> supported-ops |x1> => |op: M> M |x1> => 0.0|y1> + 4.0|y2> + 2.0|y3> supported-ops |x2> => |op: M> M |x2> => |y1> + 0.0|y2> + |y3> supported-ops |x3> => |op: M> M |x3> => |y1> + 2.0|y2> + 4.0|y3> supported-ops |x4> => |op: M> M |x4> => 0.0|y1> + 3.0|y2> + 4.0|y3> ---------------------------------------- exit sw -- this tells the load code to stop processing the .sw file. OK. Just want to show that literal-ops are a way to represent sparse matrices. Sparse in the sense that usually if entry == 0, we don't include it. The above context dump represents this matrix (with the matrix having "M" as its label): [ y1 ] [ 0 1 1 0 ] [ x1 ] [ y2 ] = [ 4 0 2 3 ] [ x2 ] [ y3 ] [ 2 1 4 4 ] [ x3 ] [ x4 ] Here is a quick demonstration: sa: M (|x1> + |x2> + |x3> + |x4>) -- here the coeffs of x_i are just 1, but they can be anything. 2.000|y1> + 9.000|y2> + 11.000|y3> y = M x