Fit.Makemodule P : sig ... endpacks an array of (baseline, filter, couplings) into a prm type
unpacks a prm into an array of (baseline, filter, couplings)
val log_likelihood : prm -> floatevaluates the log likelihood for a given set of parameters
val loss : prm -> floatevaluates the loss for a given set of parametesr
val fit : ?check_gradient:bool -> ?in_dir:(string -> string) -> int -> prmfit max_iter fits the model using BFGS; if ~in_dir is specified, the decreasing loss function is saved on the fly in in_dir "loss"