'Positive definite matrix predicate.
If ``M`` is a :math:``n \times n`` symmetric real matrix, it is said
to be positive definite if :math:`Z^TMZ` is positive for
every non-zero column vector ``Z`` of ``n`` real numbers.
Examples
>>> from sympy import Q, ask, MatrixSymbol, Identity
>>> X = MatrixSymbol(\'X\', 2, 2)
>>> Y = MatrixSymbol(\'Y\', 2, 3)
>>> Z = MatrixSymbol(\'Z\', 2, 2)
>>> ask(Q.positive_definite(Y))
False
>>> ask(Q.positive_definite(Identity(3)))
True
>>> ask(Q.positive_definite(X + Z), Q.positive_definite(X) &
...     Q.positive_definite(Z))
True
References
.. [1] https://en.wikipedia.org/wiki/Positive-definite_matrix'

@predicate_memo
def positive_definite(self):

    return Predicate('positive_definite')
