fracdiff Maximum likelihood estimation of the parameters of a fractionally
         differenced ARIMA (p,d,q) model. For long-memory dependence in
         time series. (Haslett and Raftery, Applied Statistics 38, 1989, 1-50).

See the help files for details.

The original S/S-plus package by Chris Fraley, Department of Statistics,
University of Washington, has been converted for usage with R;
see README.orig, also for copyright.

I've converted all single precision floats to double precision (both
in the R file and the Fortran sources), as R didn't support single
precision (in 1999).

Fritz Leisch, TU Wien, Austria

------------

The package was _orphaned_ in Summer 2003, and after asking Fritz and Chris
Fraley, I have become the new maintainer in December 2003.
I've managed to locate and eradicate the bug leading to wrong hessian,
covariance and correlation matrix estimates.

Martin Maechler, ETH Zurich, Switzerland


TODO / Ideas
------------

0. After F2c'ing, and declaring things, I now get the compiler warnings

  fdcore.c: In function `pqopt_':
  fdcore.c:561: warning: passing arg 18 of `lmder1_' from incompatible pointer type
  fdcore.c:573: warning: passing arg 18 of `lmder1_' from incompatible pointer type
  fdcore.c:583: warning: passing arg 18 of `lmder1_' from incompatible pointer type

  and indeed, the argument passed is   &w[woptfd_1.ipvt]
  but this is internally treated as  *integer*  '*ipvt'

  ===> reason for occasional seg.faults !?

  fracdf() -> dopt() -> pqopt()
	   really should pass a double w[]  PLUS an  int iw[]

  ___ DONE, 2004-10-xx (MM) ___

1. Estimation should produce a class with print(), summary(), coef(),
   logLik() and vcov() methods; maybe also residuals() & fitted(); predict()?
   ==> Maybe use new function names to keep the old back compatibility

1a. In any case, we want $residuals (as "arima"): ``the fitted innovations''

1b. fracdiff.sim() could be improved;
    think about making it an *generalization* of  arima.sim,
    particularly the part allowing non-Gaussian things.
    maybe call the new function
    arfima.sim() and keep the old one as is.

2. Translate to C,  ___ DONE, 2004-09-18 (MM) ___
   then call R's gammafn() and minimizers (Brent is there!)

3. For the hessian / covariance:
   Think about trying several step-sizes and use stable ("optimal"?) one.

4. Consider the diverse filters, e.g.  (0,d,0) --> (p,d,q)
   Now started implementing and testing in *R* :
   --> ./filters.R
       ~~~~~~~~~~~

5. Jan de Leeuw cannot link things on Mac OSX using "flat namespaces"
   (because the Common Blocks look like having multiple definitions)
   --> start cleaning up common blocks in general.  2005-06-29
   __NOT_YET_FINISHED__

---------

See the file ./Calling  (and then src/ftn-struc) about code organization
	     ~~~~~~~~~
