Update your ODE routines in Problems 1.1 to function in double precision:
C: void derivs(double x, double y[], double dydx[],
int k, double rho[], double r[], double dr[], int Nu)
Fortran: subroutine derivs(x,y,dydx,k,rho,r,dr,Nu)
implicit none
double precision x,y(*),dydx(*),rho(Nu+1),r(Nu+1),dr(Nu+1)
integer k,Nu
and
C: void rk4ind(double y[], double dydx[], int n, double x, double h, double yout[],
void (*derivs)(double, double [], double [], int, double[], double[], double[], int),
int k, int dk, double rho[], double r[], double dr[],int Nu)
Fortran: subroutine rk4ind(y,dydx,n,x,h,yout,derivs,k,dk,rho,r,dr,Nu)
implicit none
double precision y(n),dydx(n),x,h,yout(n),rho(Nu+1),r(Nu+1),dr(Nu+1)
integer n,k,dk,Nu
external derivs
Notes: Again, this should involve mostly replacing all occurrences of ``float'' with ``double'' or replacing ``real'' with ``double'' and, if your code is in Fortran, making sure all numerical constants are in double precision. Also, if you are programming in C, be sure to replace the calls to the ``vector'' utility with calls to ``dvector''.