|
@@ -340,7 +340,6 @@ namespace Lemma {
|
340
|
340
|
|
341
|
341
|
int nrel = (int)(KernelManager->GetSTLVector().size());
|
342
|
342
|
Eigen::Matrix<Complex, 201, Eigen::Dynamic > Zwork;
|
343
|
|
-
|
344
|
343
|
Zans= Eigen::Matrix<Complex, Eigen::Dynamic, Eigen::Dynamic>::Zero(1, nrel);
|
345
|
344
|
Zwork.resize(201, nrel);
|
346
|
345
|
VectorXr lambda = WT201.col(0).array()/rho;
|
|
@@ -356,7 +355,6 @@ namespace Lemma {
|
356
|
355
|
|
357
|
356
|
Zwork(ir, ir2) = std::conj(KernelManager->GetSTLVector()[ir2]->RelBesselArg(lambda(ir)));
|
358
|
357
|
}
|
359
|
|
-
|
360
|
358
|
}
|
361
|
359
|
|
362
|
360
|
|
|
@@ -367,9 +365,6 @@ namespace Lemma {
|
367
|
365
|
for (int ir2=0; ir2<nrel; ++ir2) {
|
368
|
366
|
Zans(0, ir2) = Zwork.col(ir2).dot(WT201.col(KernelManager->GetSTLVector()[ir2]->GetBesselOrder() + 1))/rho;
|
369
|
367
|
}
|
370
|
|
- std::cout << "rho\n" << rho << std::endl;
|
371
|
|
- std::cout << "Zans\n" << Zans << std::endl;
|
372
|
|
- exit(EXIT_SUCCESS);
|
373
|
368
|
return ;
|
374
|
369
|
}
|
375
|
370
|
|
|
@@ -379,13 +374,9 @@ namespace Lemma {
|
379
|
374
|
|
380
|
375
|
void FHTKey201::ComputeLaggedRelated ( const Real& rho, const int& nlag, std::shared_ptr<KernelEM1DManager> KernelManager ) {
|
381
|
376
|
|
382
|
|
-
|
383
|
|
-
|
384
|
|
-
|
385
|
377
|
int nrel = (int)(KernelManager->GetSTLVector().size());
|
386
|
378
|
|
387
|
379
|
Eigen::Matrix< Complex, Eigen::Dynamic, Eigen::Dynamic > Zwork;
|
388
|
|
-
|
389
|
380
|
Zans= Eigen::Matrix<Complex, Eigen::Dynamic, Eigen::Dynamic>::Zero(nlag, nrel);
|
390
|
381
|
Zwork.resize(201+nlag, nrel);
|
391
|
382
|
|
|
@@ -398,14 +389,11 @@ namespace Lemma {
|
398
|
389
|
int NumFun = 0;
|
399
|
390
|
int idx = 0;
|
400
|
391
|
|
401
|
|
-
|
402
|
|
-
|
403
|
392
|
VectorXr Arg(nlag);
|
404
|
393
|
Arg(nlag-1) = rho;
|
405
|
394
|
for (int ilag=nlag-2; ilag>=0; --ilag) {
|
406
|
395
|
Arg(ilag) = Arg(ilag+1) * GetABSER();
|
407
|
396
|
}
|
408
|
|
-
|
409
|
397
|
|
410
|
398
|
|
411
|
399
|
for (int ir=0; ir<lambda.size(); ++ir) {
|
|
@@ -413,8 +401,6 @@ namespace Lemma {
|
413
|
401
|
++NumFun;
|
414
|
402
|
KernelManager->ComputeReflectionCoeffs(lambda(ir), idx, rho);
|
415
|
403
|
for (int ir2=0; ir2<nrel; ++ir2) {
|
416
|
|
-
|
417
|
|
-
|
418
|
404
|
Zwork(ir, ir2) = std::conj(KernelManager->GetSTLVector()[ir2]->RelBesselArg(lambda(ir)));
|
419
|
405
|
}
|
420
|
406
|
}
|
|
@@ -424,32 +410,19 @@ namespace Lemma {
|
424
|
410
|
|
425
|
411
|
|
426
|
412
|
|
427
|
|
- int ilagr = nlag-1;
|
|
413
|
+ int ilagr = nlag-1;
|
428
|
414
|
for (int ilag=0; ilag<nlag; ++ilag) {
|
429
|
415
|
for (int ir2=0; ir2<nrel; ++ir2) {
|
430
|
|
-
|
431
|
|
-
|
432
|
|
-
|
433
|
|
-
|
434
|
|
-
|
435
|
416
|
Zans(ilagr, ir2) = Zwork.col(ir2).segment(ilag,201).dot( WT201.col(KernelManager->GetSTLVector()[ir2]->GetBesselOrder()+1) ) / Arg(ilagr);
|
436
|
417
|
}
|
437
|
418
|
ilagr -= 1;
|
438
|
419
|
}
|
439
|
|
-
|
440
|
|
-
|
441
|
420
|
|
442
|
421
|
|
443
|
422
|
splineVecReal.clear();
|
444
|
423
|
splineVecImag.clear();
|
445
|
424
|
|
446
|
425
|
|
447
|
|
-
|
448
|
|
-
|
449
|
|
-
|
450
|
|
-
|
451
|
|
-
|
452
|
|
-
|
453
|
426
|
for (int ii=0; ii<Zans.cols(); ++ii) {
|
454
|
427
|
auto SplineR = CubicSplineInterpolator::NewSP();
|
455
|
428
|
SplineR->SetKnots( Arg, Zans.col(ii).real() );
|