R/RcppExports.R

Defines functions wasserstein_p_iid_p_ wasserstein_p_iid_ wasserstein_ transport_swap_ transport_ transport_C_ sinkhorn_pot_log_ sinkhorn_pot_ colMin_eps_KL rowMin_eps_KL colMin_eps rowMin_eps colLogSumExp rowLogSumExp generate_S round_2_feasible_ hilbert_proj_ multi_marg_given_dist_ multi_marg_final_cost_ cost_calculation_

Documented in hilbert_proj_

# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

cost_calculation_ <- function(A_, B_, p) {
    .Call(`_approxOT_cost_calculation_`, A_, B_, p)
}

multi_marg_final_cost_ <- function(idx_, data_, mass_, M, D, p, ground_p) {
    .Call(`_approxOT_multi_marg_final_cost_`, idx_, data_, mass_, M, D, p, ground_p)
}

multi_marg_given_dist_ <- function(idx_, mass_, cost_, M, N_cost, p) {
    .Call(`_approxOT_multi_marg_given_dist_`, idx_, mass_, cost_, M, N_cost, p)
}

#' Returns orders along the Hilbert space-filling Curve
#'
#' @param A a matrix of data-values of class Eigen::MatrixXd
#' @return An integer vector of orders
#' @keywords internal
hilbert_proj_ <- function(A) {
    .Call(`_approxOT_hilbert_proj_`, A)
}

round_2_feasible_ <- function(F, mass_a, mass_b) {
    .Call(`_approxOT_round_2_feasible_`, F, mass_a, mass_b)
}

generate_S <- function(cost, f, g, eta) {
    .Call(`_approxOT_generate_S`, cost, f, g, eta)
}

rowLogSumExp <- function(Mat) {
    .Call(`_approxOT_rowLogSumExp`, Mat)
}

colLogSumExp <- function(Mat) {
    .Call(`_approxOT_colLogSumExp`, Mat)
}

rowMin_eps <- function(cost, f, g, eta) {
    .Call(`_approxOT_rowMin_eps`, cost, f, g, eta)
}

colMin_eps <- function(cost, f, g, eta) {
    .Call(`_approxOT_colMin_eps`, cost, f, g, eta)
}

rowMin_eps_KL <- function(cost, f, g, eta, log_a, log_b) {
    .Call(`_approxOT_rowMin_eps_KL`, cost, f, g, eta, log_a, log_b)
}

colMin_eps_KL <- function(cost, f, g, eta, log_a, log_b) {
    .Call(`_approxOT_colMin_eps_KL`, cost, f, g, eta, log_a, log_b)
}

sinkhorn_pot_ <- function(mass_a, mass_b, cost_matrix, epsilon, niterations, unbiased, cost_matrix_A, cost_matrix_B) {
    .Call(`_approxOT_sinkhorn_pot_`, mass_a, mass_b, cost_matrix, epsilon, niterations, unbiased, cost_matrix_A, cost_matrix_B)
}

sinkhorn_pot_log_ <- function(mass_a, mass_b, cost_matrix, epsilon, niterations, unbiased, cost_matrix_A, cost_matrix_B) {
    .Call(`_approxOT_sinkhorn_pot_log_`, mass_a, mass_b, cost_matrix, epsilon, niterations, unbiased, cost_matrix_A, cost_matrix_B)
}

transport_C_ <- function(mass_a_, mass_b_, cost_matrix_, method_, epsilon_, niter_, unbiased_, threads_, cost_matrix_A_, cost_matrix_B_) {
    .Call(`_approxOT_transport_C_`, mass_a_, mass_b_, cost_matrix_, method_, epsilon_, niter_, unbiased_, threads_, cost_matrix_A_, cost_matrix_B_)
}

transport_ <- function(A_, B_, p, ground_p, method_, a_sort, epsilon_ = 0.0, niter_ = 0L, unbiased_ = FALSE, threads_ = 1L) {
    .Call(`_approxOT_transport_`, A_, B_, p, ground_p, method_, a_sort, epsilon_, niter_, unbiased_, threads_)
}

transport_swap_ <- function(A_, B_, idx_, mass_, p, ground_p, tolerance_, niter_ = 0L) {
    .Call(`_approxOT_transport_swap_`, A_, B_, idx_, mass_, p, ground_p, tolerance_, niter_)
}

wasserstein_ <- function(mass_, cost_, p, from_, to_) {
    .Call(`_approxOT_wasserstein_`, mass_, cost_, p, from_, to_)
}

wasserstein_p_iid_ <- function(X_, Y_, p) {
    .Call(`_approxOT_wasserstein_p_iid_`, X_, Y_, p)
}

wasserstein_p_iid_p_ <- function(X_, Y_, p) {
    .Call(`_approxOT_wasserstein_p_iid_p_`, X_, Y_, p)
}

Try the approxOT package in your browser

Any scripts or data that you put into this service are public.

approxOT documentation built on May 29, 2024, 3:12 a.m.