def __str__(self):
        incremental_str = (' - Can be incrementally updated.' if
                           self.is_incremental else ' - Cannot be '
                                                    'incrementally updated.')
        svd_str = (' - # SVD components:        {}'.format(self.n_components)
                   if self.n_components is not None else ' - No ' 'SVD used.')
        _Q_sparse = 'scipy.sparse' if self.sparse else 'numpy.array'
        q_str = ' - Q is stored as {} with {} precision'.format(
            _Q_sparse, name_of_callable(self.dtype))
        mode_str = ('concatenated' if self.mode == 'concatenation' else
                    'subtracted')
        str_out = 'Gaussian MRF Model \n' \
                  ' - {}\n' \
                  ' - The data of the vertexes of each edge are {}.\n' \
                  '{}\n' \
                  ' - # variables (vertexes):  {}\n' \
                  ' - # features per variable: {}\n' \
                  ' - # features in total:     {}\n' \
                  '{}\n' \
                  ' - # samples:               {}\n' \
                  '{}\n'.format(
            self.graph.__str__(), mode_str, q_str, self.graph.n_vertices,
            self.n_features_per_vertex, self.n_features, svd_str,
            self.n_samples, incremental_str)
        return str_out
dataset/ETHPy150Open menpo/menpo/menpo/model/gmrf.py/GMRFVectorModel.__str__/original