You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ABACUS_Fitting.h 1.3KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**********************************************************
  2. This software is part of J.-S. Caux's ABACUS library.
  3. Copyright (c) J.-S. Caux.
  4. -----------------------------------------------------------
  5. File: ABACUS_Fitting.h
  6. Purpose: Defines functions for fitting: linear regression etc.
  7. ***********************************************************/
  8. #ifndef ABACUS_FITTING_H
  9. #define ABACUS_FITTING_H
  10. namespace ABACUS {
  11. // Functions in src/FITTING directory
  12. void covsrt (SQMat_DP& covar, Vect<bool>& ia, const int mfit);
  13. void lin_reg (Vect_DP x, Vect_DP y, Vect_DP sigma, DP& a, DP& b, DP& chisq);
  14. void lin_reg (Vect_DP x, Vect_DP y, DP& a, DP& b, DP& chisq);
  15. void mrqmin (Vect_DP& x, Vect_DP& y, Vect_DP& sig, Vect_DP& a,
  16. Vect<bool>& ia, SQMat_DP& covar, SQMat_DP& alpha, DP& chisq,
  17. void funcs(const DP, Vect_DP&, DP&, Vect_DP&), DP& alambda);
  18. void mrqcof (Vect_DP& x, Vect_DP& y, Vect_DP& sig, Vect_DP& a,
  19. Vect<bool>& ia, SQMat_DP& alpha, Vect_DP& beta, DP& chisq,
  20. void funcs (const DP, Vect_DP&, DP&, Vect_DP&));
  21. // For interpolating:
  22. void polint(Vect_DP& xa, Vect_DP& ya, const DP x, DP& y, DP& dy);
  23. void polint(Vect_CX& xa, Vect_CX& ya, const std::complex<DP> x, std::complex<DP>& y, std::complex<DP>& dy);
  24. } // namespace ABACUS
  25. #endif