add numerical recipes library

This commit is contained in:
2025-09-12 18:55:25 +09:00
parent d4dff245bd
commit 2c75620ec9
1344 changed files with 63869 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
#include <cmath>
#include "nr.h"
using namespace std;
void NR::chebft(const DP a, const DP b, Vec_O_DP &c, DP func(const DP))
{
const DP PI=3.141592653589793;
int k,j;
DP fac,bpa,bma,y,sum;
int n=c.size();
Vec_DP f(n);
bma=0.5*(b-a);
bpa=0.5*(b+a);
for (k=0;k<n;k++) {
y=cos(PI*(k+0.5)/n);
f[k]=func(y*bma+bpa);
}
fac=2.0/n;
for (j=0;j<n;j++) {
sum=0.0;
for (k=0;k<n;k++)
sum += f[k]*cos(PI*j*(k+0.5)/n);
c[j]=fac*sum;
}
}