legendre_decomp.naive ===================== .. py:module:: legendre_decomp.naive .. autoapi-nested-parse:: Implementations found in the original Jupyter Notebook Functions --------- .. autoapisummary:: legendre_decomp.naive.kl legendre_decomp.naive.get_eta legendre_decomp.naive.get_h legendre_decomp.naive.LD Module Contents --------------- .. py:function:: kl(P, Q) Kullback-Leibler divergence. :param P: P tensor :param Q: Q tensor :returns: KL divergence. .. py:function:: get_eta(Q, D) Eta tensor. :param Q: Q tensor :param D: Dimensionality :returns: Eta tensor. .. py:function:: get_h(theta, D) H tensor. :param theta: Theta tensor :param D: Dimensionality :returns: Updated theta. .. py:function:: LD(X, B = None, order = 2, n_iter = 10, lr = 1.0, eps = 1e-05, error_tol = 1e-05, ngd = True, verbose = True) Compute many-body tensor approximation. :param X: Input tensor. :param B: B tensor. :param order: Order of default tensor B, if not provided. :param n_iter: Maximum number of iteration. :param lr: Learning rate. :param eps: (see paper). :param error_tol: KL divergence tolerance for the iteration. :param ngd: Use natural gradient. :param verbose: Print debug messages. :returns: KL divergence history. scaleX: Scaled X tensor. Q: Q tensor. theta: Theta. :rtype: all_history_kl