Visualize the computational graph.

        :param filename: Filename of the output image together with file extension. Supported formats: `png`, `jpg`,
            `pdf`, ... . Check `graphviz` Python package for more options
        :type filename: str
        :return: The DOT representation of the computational graph, with some more formatting
        :rtype: Digraph

def dependency_graph(self, filename=None):
        """Visualize the computational graph.

        :param filename: Filename of the output image together with file extension. Supported formats: `png`, `jpg`,
            `pdf`, ... . Check `graphviz` Python package for more options
        :type filename: str
        :return: The DOT representation of the computational graph, with some more formatting
        :rtype: Digraph
        """
        dot = self.get_dot()
        dot.attr(rankdir='LR')  # Show graph from left to right

        if filename is not None:
            file_name, file_format = filename.rsplit('.', 1)

            dot.render(filename=file_name, format=file_format, cleanup=True)

        return dot