Hi Matt,

many thanks for the prompt reply and the pointer to "matrix-algebra", which 
I'll definitely check out. Still, it'd certainly be great to have this 
(re-)added to sympy at some point and probably matrix expressions are a 
good place to start for using the new assumption system (as far as I can 
tell from my very limited knowledge on sympy internals). You've mentioned 
that simplify isn't using the new assumptions system in the main branch... 
does this mean there is a branch that has a prototype of this enabled?

Thanks,
Chris


On Monday, March 17, 2014 5:15:25 PM UTC-7, Matthew wrote:
>
> Also, it's far less practical, but you may find 
> http://github.com/mrocklin/matrix-algebra to be of interest.
>
>
> On Mon, Mar 17, 2014 at 5:12 PM, Matthew Rocklin 
> <[email protected]<javascript:>
> > wrote:
>
>> Hi Chris, 
>>
>> Thanks for the kind words.
>>
>> At the moment Matrix Expressions in the main branch do not use 
>> assumptions while simplifying.  IIRC they actually used to but I removed it 
>> so that I could approach this more cleanly.  One lofty reason for this was 
>> so that this could be used as a model for the rest of sympy when it 
>> eventually jumps over to the new assumptions system.
>>
>> If other devs see this e-mail - what are your thoughts on `refine`, the 
>> simplify API suggested (but rarely used) by new assumptions?  Should we 
>> start using this?  Should we roll it into simplify?  In general at what 
>> point should we appeal to new assumptions?  At expression creation time?  
>> At simplify time?  At another simplify-like api time (e.g. refine time)?  I 
>> decided not to call upon new assumptions while creating expressions (e.g. 
>> X.T creates a Transpose(X) even if X is symmetric).  I think that my 
>> reasoning at the time was performance.
>>
>> Chris, in general what you're asking for is easy for us to add.  I would 
>> like to make sure that we add it correctly.
>>
>> Also, it's been some time since this was all in my head.  I may have said 
>> some untrue things.
>>
>> Best,
>> -Matthew
>>
>>
>>
>>
>> On Mon, Mar 17, 2014 at 4:57 PM, Chris <[email protected] 
>> <javascript:>>wrote:
>>
>>> Hi all,
>>>
>>>
>>> I stumbled upon the discussion on matrix assumptions and the bit of 
>>> history behind this sympy module:
>>>
>>> http://scicomp.stackexchange.com/questions/74/symbolic-software-packages-for-matrix-expressions
>>>
>>> First off all, thank you Matt, this is incredibly cool stuff!
>>>
>>> Now, I'm trying to do some matrix algebra while encoding knowledge about 
>>> the matrices involved. For instance, say my matrix U is unitary, i.e. U * 
>>> U.T = I. I've looked around in the documentation and source code, but 
>>> couldn't figure out, if the new assumption system can be used to simplify 
>>> matrix expressions.
>>>
>>> I was trying to exploit this using sympy as follows:
>>>
>>>     from sympy import Q, symbols, MatrixSymbol, ask, simplify
>>>     from sympy.assumptions.assume import global_assumptions
>>>
>>>     n = symbols('n', integer=True)
>>>     U = MatrixSymbol('U', n, n)
>>>
>>>     global_assumptions.add(Q.unitary(U))
>>>
>>>     UU = U * U.T
>>>     
>>>     print UU
>>>
>>>     simpleUU = simplify(UU)
>>>     print simpleUU
>>>     
>>>
>>> I was hoping that the second print would output the Identity, but 
>>> somehow this didn't work. Any suggestions, pointers, hints?
>>>
>>>
>>> Cheers,
>>> Chris
>>>
>>> -- 
>>> 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] <javascript:>.
>>> To post to this group, send email to [email protected]<javascript:>
>>> .
>>> Visit this group at http://groups.google.com/group/sympy.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sympy/31aaea36-675d-40b0-8d77-aec8828f6c31%40googlegroups.com<https://groups.google.com/d/msgid/sympy/31aaea36-675d-40b0-8d77-aec8828f6c31%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/dc8bb9d8-c2aa-4381-82d9-e2e3c3dfe93e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to