(self, rhs)
return (L.T)._upper_triangular_solve(Y)
Solves Ax = B using Cholesky decomposition,
        for a general square non-singular matrix.
        For a non-square matrix with rows > cols,
        the least squares solution is returned.

        See Also
        ========

        lower_triangular_solve
        upper_triangular_solve
        diagonal_solve
        LDLsolve
        LUsolve
        QRsolve
        pinv_solve
Solves Ax = B using Cholesky decomposition,
        for a general square non-singular matrix.
        For a non-square matrix with rows > cols,
        the least squares solution is returned.
Solves Ax = B using Cholesky decomposition for a general square non - singular matrix . For a non - square matrix with rows > cols the least squares solution is returned .
def cholesky_solve(self, rhs):
        """Solves Ax = B using Cholesky decomposition,
        for a general square non-singular matrix.
        For a non-square matrix with rows > cols,
        the least squares solution is returned.

        See Also
        ========

        lower_triangular_solve
        upper_triangular_solve
        diagonal_solve
        LDLsolve
        LUsolve
        QRsolve
        pinv_solve
        """
        if self.is_symmetric():
            L = self._cholesky()
        elif self.rows >= self.cols:
            L = (self.T*self)._cholesky()
            rhs = self.T*rhs
        else:
            raise NotImplementedError("Under-determined System.")
        Y = L._lower_triangular_solve(rhs)
        return (L.T)._upper_triangular_solve(Y)
def cholesky_solve ( self , rhs ) : if self . is_symmetric ( ) : L = self . _cholesky ( ) elif self . rows >= self . cols : L = ( self . T * self ) . _cholesky ( ) rhs = self . T * rhs else : raise NotImplementedError ( "Under-determined System." ) Y = L . _lower_triangular_solve ( rhs ) return ( L . T ) . _upper_triangular_solve ( Y )