Auxiliary functions
This section contains information about auxiliary functions used throughout the algorithm.
AVI specific functions
These functions are used primarily to aid in the computation of the approximate vanishing ideal.
ApproximateVanishingIdeals.l1_projection
— MethodProjects x onto the L1 Ball with radius 'radius'.
Reference: "Efficient Projections onto the ℓ1-Ball for Learning in High Dimensions", https://stanford.edu/~jduchi/projects/DuchiShSiCh08.pdf
ApproximateVanishingIdeals.streaming_matrix_updates
— MethodGiven A, A.T.A and (A.T.A)^-1 efficiently compute B = [A, a], B.T.B and (B.T.B)^-1. Necessary for fast inverse hessian boosting.
ApproximateVanishingIdeals.update_coefficient_vectors
— MethodAppends polynomial with coefficient vector based on coefficientvector and term to Gcoefficient_vectors.
Other auxiliary functions
ApproximateVanishingIdeals.compute_degree
— MethodComputes sum (degree) of columns (terms) in A and returns output as (1 x size(A, 2)) matrix.
ApproximateVanishingIdeals.deg_lex_sort
— Functionsorts matrix1 degree-lexicographically and matrix2 accordingly
ApproximateVanishingIdeals.find_first_non_zero_entries
— MethodFinds first non-zero entry in each column and returns a list of the indices. In case of a zero-column returns first index.
ApproximateVanishingIdeals.find_last_non_zero_entries
— MethodFinds last non-zero entry in each column and returns a list of the indices. In case of a zero-column returns last index.
ApproximateVanishingIdeals.get_unique_columns
— Functionfinds unique columns in matrix x1 and returns only those columns in x1, as well as corresponding columns in x2.
ApproximateVanishingIdeals.orthogonal_projection
— MethodObtains orthogonal projections of vector projected onto vectors.
Printing polynomials
ApproximateVanishingIdeals.convert_term_to_latex
— MethodConverts a term given as a vector denoting the exponents into LaTeX string
ApproximateVanishingIdeals.print_polynomials
— MethodPrints the polynomials obtained through OAVI as a LaTeX string.
'digits' can be used to determine how many decimal places you want to round to. Terms with rounded coefficient values 0.0 are omitted and coefficients with value 1.0 are omitted.
'ret' can be used to return vector with poly strings, instead of printing the polynomials
Index
ApproximateVanishingIdeals.compute_degree
ApproximateVanishingIdeals.convert_term_to_latex
ApproximateVanishingIdeals.deg_lex_sort
ApproximateVanishingIdeals.find_first_non_zero_entries
ApproximateVanishingIdeals.find_last_non_zero_entries
ApproximateVanishingIdeals.get_unique_columns
ApproximateVanishingIdeals.l1_projection
ApproximateVanishingIdeals.orthogonal_projection
ApproximateVanishingIdeals.print_polynomials
ApproximateVanishingIdeals.streaming_matrix_updates
ApproximateVanishingIdeals.update_coefficient_vectors