I'd say those are both bugs.

Aaron Meurer

On Mon, Apr 8, 2013 at 2:00 PM, Matthew Rocklin <[email protected]> wrote:
> They don't work when the subexpressions aren't Exprs.  For example the
> iterable symbols defaults to be a list of Symbol objects.
>
>
> In [1]: A, B = MatrixSymbol('A', n, n), MatrixSymbol('B', n, n)
>
> In [2]: count_ops(A*B+A*B)
> Out[2]: 0
>
> In [3]: cse(A*B+A*B)
> TypeError: object of type 'Symbol' has no len()
>
>
>
> On Mon, Apr 8, 2013 at 2:46 PM, Chris Smith <[email protected]> wrote:
>>
>> both are implemented to work on Basic:
>>
>> >>> cse(Basic(exp(x), exp(x) + y, x/y))
>> ([(x0, exp(x))], [Basic(x0, x0 + y, x/y)])
>> >>> count_ops(Basic(exp(x), exp(x) + y, x/y))
>> 4
>>
>>
>> On Tue, Apr 9, 2013 at 1:27 AM, Matthew Rocklin <[email protected]>
>> wrote:
>>>
>>> Do we have implementations of tools like common subexpression elimination
>>> (cse) and operation counting (count_ops) that aren't specific to Exprs?
>>> What do we have that is designed to work on Basics?
>>>
>>> I want to collect some very basic data on some large MatrixExprs (common
>>> subexprssions and number of operations in the graph) and want to make sure
>>> I'm not reinventing some wheel.
>>>
>>> --
>>> 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.
>>
>>
>
>
> --
> 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.


Reply via email to