General method to compute log-likelihood for ghype models.

```
logl(
object,
xi = NULL,
omega = NULL,
directed = NULL,
selfloops = NULL,
adj = NULL,
multinomial = NULL,
...
)
# S3 method for ghype
logl(
object,
xi = NULL,
omega = NULL,
directed = NULL,
selfloops = NULL,
adj = NULL,
multinomial = NULL,
...
)
# S3 method for matrix
logl(
object,
xi = NULL,
omega = NULL,
directed = NULL,
selfloops = NULL,
adj = NULL,
multinomial = NULL,
...
)
```

## Arguments

- object
either an adjacency matrix or ghype model If a ghype model is
passed, then `xi`, `omega`, `directed`, `selfloops` are ignored If an
adjacency matrix is passed, then `adj` is ignored

- xi
matrix, combinatorial matrix to build ghype model, considered only
if object is an adjacency matrix

- omega
matrix, propensity matrix to build ghype model, considered only
if object is an adjacency matrix

- directed
boolean, is ghype model directed? considered only if object
is an adjacency matrix

- selfloops
boolean, has ghype model selfloops? considered only if
object is an adjacency matrix

- adj
optional matrix, adjacency matrix of which to compute
log-likelihood, considered only if object is ghype model If adj is not
passed, and object is a ghype model, the log-likelihood is computed for the
original adjacency matrix stored in object.

- multinomial
optional boolean. Force multinomial approximation? If not
chosen, multinomial chosen for large graphs.

- ...
additional parameters passed to and from internal methods

## Value

loglikelihood value

## Examples

```
data('adj_karate')
model <- scm(adj_karate, FALSE, FALSE)
logl(object = model)
#> [1] -434.5449
new_adj <- adj_karate
new_adj[3,4] <- 10
logl(object=model, adj=new_adj)
#> [1] -445.8136
```