Select
Index
SparseKoLesky.SelectSparseKoLesky.Select.choldowndate!SparseKoLesky.Select.cholinsert!SparseKoLesky.Select.cholupdate!SparseKoLesky.Select.cholupdate!SparseKoLesky.Select.covariance!SparseKoLesky.Select.insertindexSparseKoLesky.Select.log2prodSparseKoLesky.Select.scoresupdate!SparseKoLesky.Select.selectSparseKoLesky.Select.selectSparseKoLesky.Select.select_budgetSparseKoLesky.Select.select_multSparseKoLesky.Select.select_nonadjSparseKoLesky.Select.select_singleSparseKoLesky.Select.selectpoint!
SparseKoLesky.Select — ModuleSelectProvides efficient algorithms for information-theoretic sparsity selection.
Public interface
SparseKoLesky.Select.select — Methodselect(kernel::Kernel, X_train, X_test, s)Select the s points from X_train most informative to X_test greedily.
This function dispatches to select_single or select_mult depending on whether length(X_test) == 1. This function assumes each point of X_test can be conditioned by X_train.
SparseKoLesky.Select.select — Methodselect(kernel::Kernel, X, train, test, s; budget=true)Select the s points from X[train] most informative to X[test] greedily.
This function dispatches to select_single if length(X_test) == 1, otherwise select_budget or select_nonadj depending on whether budget is true.
Internal functions
SparseKoLesky.Select.select_single — Functionselect_single(kernel::Kernel, X_train, X_test, s)Select the s points from X_train most informative to X_test greedily.
This function assumes length(X_test) == 1.
See also select, select_mult.
SparseKoLesky.Select.select_mult — Functionselect_mult(kernel::Kernel, X_train, X_test, s)Select the s points from X_train most informative to X_test greedily.
This function assumes each point of X_test can be conditioned by X_train.
See also select, select_single.
SparseKoLesky.Select.select_nonadj — Functionselect_nonadj(kernel::Kernel, X, train, test, s)Select the s points from X_train most informative to X_test greedily.
See also select(kernel::Kernel, X, train, test, s), select_budget.
SparseKoLesky.Select.select_budget — Functionselect_budget(kernel::Kernel, X, train, test, s)Select the s points from X_train most informative to X_test greedily.
See also select(kernel::Kernel, X, train, test, s), select_nonadj.
Helper functions
SparseKoLesky.Select.covariance! — Functioncovariance!(kernel::Kernel, X_train, X_test, L, i, k)Fill the factor L's i-th column by the covariance with the k-th point.
SparseKoLesky.Select.cholupdate! — Methodcholupdate!(L, i, k, cond_var; rows=size(L, 1))Conditions the i-th column of the Cholesky factor L by the k-th point.
This function modifies both L and cond_var in-place.
See also cholupdate!(L, i, k, cond_var, cond_cov).
SparseKoLesky.Select.cholupdate! — Methodcholupdate!(L, i, k, cond_var, cond_cov)Additionally updates cond_cov in-place if it is provided.
See also cholupdate!(L, i, k, cond_var; rows).
SparseKoLesky.Select.log2prod — Functionlog2prod(x)Compute log2(prod(x)) for a vector x efficiently without under/overflow.
SparseKoLesky.Select.choldowndate! — Functioncholdowndate!(L, u, order; start=1, finish=size(L, 2))Computes the rank-one downdate of L by u, modifying L in-place.
Given a Cholesky factor $L$, a rank-one downdate by a vector $u$ computes
\[L \to \mathsf{chol}(L L^{\top} - u u^{\top}).\]
This function only computes the columns from start to finish.
See also: cholinsert!.
SparseKoLesky.Select.cholinsert! — Functioncholinsert!(L, index, k, order, i)Insert the k-th point at the index column in the Cholesky factor L.
See also: choldowndate!.
SparseKoLesky.Select.insertindex — Functioninsertindex(k, order, locations, i; start=1)Finds the index to insert index k into order.
SparseKoLesky.Select.selectpoint! — Functionselectpoint!(kernel::Kernel, points, L, k, var, order, locations, i)Add the k-th point to the Cholesky factor L.
This function modifies L and var in-place.
SparseKoLesky.Select.scoresupdate! — Functionscoresupdate!(scores, L, var, pos, vars, order, locations, i)Update scores in-place for all candidates.