# DUEMBGENshape: Duembgen's Shape Matrix In fastM: Fast Computation of Multivariate M-Estimators

## Description

Iterative algorithm to estimate Duembgen's shape matrix using a partial Newton-Raphson approach.

## Usage

 `1` ```DUEMBGENshape(X, nmax = 500, eps = 1e-06, maxiter = 100, perm = FALSE) ```

## Arguments

 `X` numeric data matrix or dataframe. Missing values are not allowed. `nmax` integer, if the sample size n (number of rows of `X`) is smaller than `nmax`, then all n(n-1)/2 pairwise differences will be computed and used in the algorithm. If n is larger, then the algorithm avoids storing all the pairwise differences and is more memory efficient. `eps` convergence tolerance, which means that the algorithm stops when the Frobenius norm of the gradient is smaller than eps. `maxiter` maximum number of iterations. `perm` logical. If TRUE the rows of `X` will be randomly permuted before starting the computations. See details.

## Details

The estimate is based on the new fast algorithm described in Duembgen et al. (2016). Note that Duembgen's shape matrix is standardized such that it has determinant 1.

The function does not check if there are several identical observations. In that case the function will fail.

To get a good initial value for the algorithm, the estimator is first computed based on the pairwise differences of successive observations. Therefore the order of the rows of `X` is supposed to be random. If this is not the case, the data should be first permuted using the argument `perm`.

In case `maxiter` is reached before convergence, the estimate at that iteration is returned and a warning is given.

## Value

A list containing:

 `Sigma` Estimated shape matrix. `iter` Number of iterations of the algorithm.

## Author(s)

Lutz Duembgen and Klaus Nordhausen

## References

Duembgen, L. (1998), On Tyler's M-functional of scatter in high dimension, Annals of Institute of Statistical Mathematics, 50, 471–491.

Duembgen, L., Nordhausen, K. and Schuhmacher, H. (2016), New algorithms for M-estimation of multivariate location and scatter, Journal of Multivariate Analysis, 144, 200–217. doi: 10.1016/j.jmva.2015.11.009

`tyler.shape`
 ```1 2 3 4 5``` ```DUEMBGENshape(longley) DUEMBGENshape(longley, nmax=10) # compare to # library(ICSNP) # duembgen.shape(longley) ```