Helper to define list of parameters to control the PLN fit. All arguments have defaults.

```
PLNnetwork_param(
backend = c("nlopt", "torch"),
inception_cov = c("full", "spherical", "diagonal"),
trace = 1,
n_penalties = 30,
min_ratio = 0.1,
penalize_diagonal = TRUE,
penalty_weights = NULL,
config_post = list(),
config_optim = list(),
inception = NULL
)
```

## Arguments

- backend
optimization back used, either "nlopt" or "torch". Default is "nlopt"

- inception_cov
Covariance structure used for the inception model used to initialize the PLNfamily. Defaults to "full" and can be constrained to "diagonal" and "spherical".

- trace
a integer for verbosity.

- n_penalties
an integer that specifies the number of values for the penalty grid when internally generated. Ignored when penalties is non `NULL`

- min_ratio
the penalty grid ranges from the minimal value that produces a sparse to this value multiplied by `min_ratio`

. Default is 0.1.

- penalize_diagonal
boolean: should the diagonal terms be penalized in the graphical-Lasso? Default is `TRUE`

- penalty_weights
either a single or a list of p x p matrix of weights (default: all weights equal to 1) to adapt the amount of shrinkage to each pairs of node. Must be symmetric with positive values.

- config_post
a list for controlling the post-treatment (optional bootstrap, jackknife, R2, etc).

- config_optim
a list for controlling the optimizer (either "nlopt" or "torch" backend). See details

- inception
Set up the parameters initialization: by default, the model is initialized with a multivariate linear model applied on
log-transformed data, and with the same formula as the one provided by the user. However, the user can provide a PLNfit (typically obtained from a previous fit),
which sometimes speeds up the inference.

## Value

list of parameters configuring the fit.

## Details

See `PLN_param()`

for a full description of the generic optimization parameters. PLNnetwork_param() also has two additional parameters controlling the optimization due the inner-outer loop structure of the optimizer:

"ftol_out" outer solver stops when an optimization step changes the objective function by less than ftol multiplied by the absolute value of the parameter. Default is 1e-6

"maxit_out" outer solver stops when the number of iteration exceeds maxit_out. Default is 50