<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Gpr" rel="Chapter" href="Gpr.html"> <link title="Gpr_interfaces" rel="Chapter" href="Gpr_interfaces.html"> <link title="Gpr_utils" rel="Chapter" href="Gpr_utils.html"> <link title="Gpr_block_diag" rel="Chapter" href="Gpr_block_diag.html"> <link title="Gpr_cov_const" rel="Chapter" href="Gpr_cov_const.html"> <link title="Gpr_cov_lin_ard" rel="Chapter" href="Gpr_cov_lin_ard.html"> <link title="Gpr_cov_lin_one" rel="Chapter" href="Gpr_cov_lin_one.html"> <link title="Gpr_cov_se_iso" rel="Chapter" href="Gpr_cov_se_iso.html"> <link title="Gpr_cov_se_fat" rel="Chapter" href="Gpr_cov_se_fat.html"> <link title="Gpr_fitc_gp" rel="Chapter" href="Gpr_fitc_gp.html"> <link title="Gpr_version" rel="Chapter" href="Gpr_version.html"><title>Gpr_cov_se_fat</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Params</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> params = {<br> d : int;<br> log_sf2 : float;<br> tproj : <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat option;<br> log_hetero_skedasticity : <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec option;<br> log_multiscales_m05 : <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat option;<br> }<br> <span class="keyword">type</span> t = <span class="keyword">private</span> <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Params</span>.params<br> <span class="keyword">val</span> create : <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Params</span>.params <span class="keywordsign">-></span> <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Params</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Eval</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Kernel</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">type</span> params = <span class="constructor">Params</span>.t<br> <span class="keyword">val</span> create : params <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_params : t <span class="keywordsign">-></span> params<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Input</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> eval : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> eval_one : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> create : <span class="constructor">Input</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> choose_subset : t <span class="keywordsign">-></span> <span class="constructor">Gpr_utils</span>.<span class="constructor">Int_vec</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> create_inducing : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> create_default_kernel_params :<br> t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">Kernel</span>.params<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> calc_diag : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> calc_cross :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> inputs:t <span class="keywordsign">-></span> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> inputs:t <span class="keywordsign">-></span><br> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Proj_hyper</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t = { big_dim : int; small_dim : int; } <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Dim_hyper</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t = int <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing_hyper</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t = { ind : int; dim : int; } <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Hyper_repr</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t =<br> [ <span class="keywordsign">`</span><span class="constructor">Inducing_hyper</span> <span class="keyword">of</span> <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Inducing_hyper</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Log_hetero_skedasticity</span> <span class="keyword">of</span> <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Dim_hyper</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Log_multiscale_m05</span> <span class="keyword">of</span> <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Inducing_hyper</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Log_sf2</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Proj</span> <span class="keyword">of</span> <span class="constructor">Gpr_cov_se_fat</span>.<span class="constructor">Proj_hyper</span>.t ]<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Deriv</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Eval</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Kernel</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t<br> <span class="keyword">type</span> params = <span class="constructor">Params</span>.t<br> <span class="keyword">val</span> create : params <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_params : t <span class="keywordsign">-></span> params<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Input</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> eval : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> eval_one : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> create : <span class="constructor">Input</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> get_n_points : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> choose_subset : t <span class="keywordsign">-></span> <span class="constructor">Gpr_utils</span>.<span class="constructor">Int_vec</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> create_inducing : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Inducing</span>.t<br> <span class="keyword">val</span> create_default_kernel_params :<br> t <span class="keywordsign">-></span> n_inducing:int <span class="keywordsign">-></span> <span class="constructor">Kernel</span>.params<br> <span class="keyword">val</span> calc_upper : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> calc_diag : <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">val</span> calc_cross :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> inputs:t <span class="keywordsign">-></span> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat<br> <span class="keyword">val</span> weighted_eval :<br> <span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> inputs:t <span class="keywordsign">-></span><br> inducing:<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> coeffs:<span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Hyper</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Hyper_repr</span>.t<br> <span class="keyword">val</span> get_all :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t array<br> <span class="keyword">val</span> get_value :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> set_values :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> t array <span class="keywordsign">-></span><br> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t * <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t * <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inducing</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> upper<br> <span class="keyword">val</span> calc_shared_upper :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat * upper<br> <span class="keyword">val</span> calc_deriv_upper :<br> upper <span class="keywordsign">-></span> <span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.symm_mat_deriv<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inputs</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> diag<br> <span class="keyword">type</span> cross<br> <span class="keyword">val</span> calc_shared_diag :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span> <span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.vec * diag<br> <span class="keyword">val</span> calc_shared_cross :<br> <span class="constructor">Eval</span>.<span class="constructor">Kernel</span>.t <span class="keywordsign">-></span><br> inputs:<span class="constructor">Eval</span>.<span class="constructor">Inputs</span>.t <span class="keywordsign">-></span><br> inducing:<span class="constructor">Eval</span>.<span class="constructor">Inducing</span>.t <span class="keywordsign">-></span> <span class="constructor">Lacaml</span>.<span class="constructor">D</span>.mat * cross<br> <span class="keyword">val</span> calc_deriv_diag : diag <span class="keywordsign">-></span> <span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.diag_deriv<br> <span class="keyword">val</span> calc_deriv_cross : cross <span class="keywordsign">-></span> <span class="constructor">Hyper</span>.t <span class="keywordsign">-></span> <span class="constructor">Gpr_interfaces</span>.mat_deriv<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>