Theano _print_Derivative uses theano.tensor.Rop
_print_MatrixSlice -> theano.Subtensor
add theano_simplify to test_theanocode. fix deriv
BlockMatrix -> theano.tensor.join
block_collapse handles inverse, transpose.

Also uses bottom_up instead of top_down
remove incorrect block_collapse inverse test
style refactor BlockMatrix._eval_inverse
integrative test for theano, blockmatrix, inverse
doctest the vectorize function
Latex _print_MatrixSymbol = _print_Symbol
test bc_transpose
Merge pull request #1968 from thisch/doctest_vectorize

doctest the vectorize function
Merge pull request #1965 from mrocklin/theano-derivative-rop

Theano matrix printing and Derivative
Removed from assumptions/ all the extra functions, returning just True/False (issue 2152)

    Use instead AlwaysTrue/False methods, defined in CommonHandler class
Merge pull request #1973 from skirpichev/2152-rishabh

Removed from assumptions/ all the extra functions, returning just True/False (issue 2152)
Add Rishabh Dixit to the AUTHORS/aboutus. Welcome to SymPy!
Implement is_rational method for trig (and inverse) functions (issue 3215)

    http://planetmath.org/encyclopedia/TheoryOfRationalAndIrrationalNumbers.html
    and http://en.wikipedia.org/wiki/Transcendental_function says that
    there is only trivial exceptional set for exp (and log) function.
    Then, same is valid for trigonometric functions.

    For example, lets sin(x) = y is algebraic number.  Then,
    from y = (exp(I*x) - exp(-I*x))/(2*I) (quadratic equation for exp(I*x))
    it follows exp(I*x) is an algebraic number.  But the
    exceptional set for exp() is just {0}, then x should be 0 and,
    thus, the exeptional set for sin(x) is {0}.
Implement Q.algebraic assumptions for exp/log and trig functions

    see 7c99ac8b6be9aecb and 1c1f7e38dbca9869e9b
correct path to ask_update.py in docstring
Add facts: Q.rational => Q.algebraic and Q.algebraic => Q.complex (issue 2019)