On Mon, Jun 3, 2013 at 7:45 PM, Saurabh Jha <[email protected]> wrote: > I agree with you on the lambda part. I am still not sure with else > part because users may not right about whether the matrix is enough > sparse and the methods(which exploits sparsity) would be inefficient > if someone enters the dense matrix actually. Maybe we should have a > common matrix interface and it should be the job of module to > determine it's appropriate representation.
Yes, I agree we should do that. Aaron Meurer > > -Saurabh Jha > > On Jun 4, 5:11 am, Chris Smith <[email protected]> wrote: >> Yes, the callable could create only a few non-zero entries. And only the >> non-zero entries are retained in the SparseMatrix so it is reasonable to >> keep that code: >> >> >>> SparseMatrix(3,3,lambda i,j: 1 if i==j else 0) >> >> [1, 0, 0] >> [0, 1, 0] >> [0, 0, 1]>>> _._smat >> >> {(0, 0): 1, (1, 1): 1, (2, 2): 1} >> >> Again, the "else" part allows dense input that has few entries to be stored >> in a compact way so there's no reason to disallow it AFAICT: >> >> >>> SparseMatrix([[0,0,1],[0,0,1]]) >> >> [0, 0, 1] >> [0, 0, 1]>>> _._smat >> >> {(1, 2): 1, (0, 2): 1} >> >> >>> SparseMatrix(3,3,lambda i,j: 1 if i==j else 0) >> >> (The bugginess that Aaron refers to is perhaps refering to the former state >> of SparseMatrix; I think things are currently in pretty good shape.) > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy?hl=en-US. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.
