Well, on the simplify/refine side I think we only need to call ask.  At
some stage this might be wired back into `is_foo`

I implemented this particular refinement in
https://github.com/sympy/sympy/pull/7296 just to see how it felt.

BTW, refine could totally use a better dispatching system.  If only, ahem,
someone had built such a thing....


On Mon, Mar 17, 2014 at 6:16 PM, Aaron Meurer <[email protected]> wrote:

> I'm not clear what the plan should be regarding auto-evaluation and
> refine and the new assumptions. I feel that it hasn't been heavily
> thought out yet. We have to somehow balance the pain of having to call
> all sorts of with assuming() and refine() just to get things to
> simplify and the performance issues if they do it automatically (and
> also the issues of potentially not wanting it to always happen
> automatically).
>
> Aaron Meurer
>
> On Mon, Mar 17, 2014 at 7:12 PM, Matthew Rocklin <[email protected]>
> 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]> 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].
> >> 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/31aaea36-675d-40b0-8d77-aec8828f6c31%40googlegroups.com
> .
> >> 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/CAJ8oX-F0tjgppY2Am3zxy43gWKGfESjYDkVRwd%2BFfBgCgXw_2Q%40mail.gmail.com
> .
> >
> > 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/CAKgW%3D6Lxudmr8qrXnqrmKyL2a80GRaFLjAVoThqx5pqc9k%2BD5Q%40mail.gmail.com
> .
> 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/CAJ8oX-H-34A%3D4uPv-aaLbtwhv22O%2BAXBAoC4di%2BrqwfSBVsWpw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to