Summarizes the general maximization results in a way that does not assume the function is log-likelihood.

# S3 method for class 'maxim'
summary( object, hessian=FALSE, unsucc.step=FALSE, ... )
# S3 method for class 'summary.maxim'
print(x,
                              max.rows=getOption("max.rows", 20),
                              max.cols=getOption("max.cols", 7),
                              ... )

Arguments

object

optimization result, object of class maxim. See maxNR.

hessian

logical, whether to display Hessian matrix.

unsucc.step

logical, whether to describe last unsuccesful step if code == 3

x

object of class summary.maxim, summary of maximization result.

max.rows

maximum number of rows to be printed. This applies to the resulting coefficients (as those are printed as a matrix where the other column is the gradient), and to the Hessian if requested.

max.cols

maximum number of columns to be printed. Only Hessian output, if requested, uses this argument.

...

currently not used.

Value

Object of class summary.maxim, intended to be printed with corresponding print method.

Author

Ott Toomet

Examples

## minimize a 2D quadratic function:
f <- function(b) {
  x <- b[1]; y <- b[2];
  val <- -(x - 2)^2 - (y - 3)^2  # concave parabola
  attr(val, "gradient") <- c(-2*x + 4, -2*y + 6)
  attr(val, "hessian") <- matrix(c(-2, 0, 0, -2), 2, 2)
  val
}
## Note that NR finds the minimum of a quadratic function with a single
## iteration.  Use c(0,0) as initial value.  
res <- maxNR( f, start = c(0,0) ) 
summary(res)
#> --------------------------------------------
#> Newton-Raphson maximisation 
#> Number of iterations: 1 
#> Return code: 1 
#> gradient close to zero (gradtol) 
#> Function value: 0 
#> Estimates:
#>      estimate gradient
#> [1,]        2        0
#> [2,]        3        0
#> --------------------------------------------
summary(res, hessian=TRUE)
#> --------------------------------------------
#> Newton-Raphson maximisation 
#> Number of iterations: 1 
#> Return code: 1 
#> gradient close to zero (gradtol) 
#> Function value: 0 
#> Estimates:
#>      estimate gradient
#> [1,]        2        0
#> [2,]        3        0
#> Hessian:
#>      [,1] [,2]
#> [1,]   -2    0
#> [2,]    0   -2
#> --------------------------------------------