26    int nLine = ft.NextPowerOfTwo(chip.
Lines() - 1);
 
   28    TNT::Array2D< std::complex<double> > Guu(nLine, nSamp);
 
   29    TNT::Array2D< std::complex<double> > Guv(nLine, nSamp);
 
   30    TNT::Array2D< std::complex<double> > Gvv(nLine, nSamp);
 
   37    for(
int i = 0; i < Guu.dim1(); i++) {
 
   38      std::vector< std::complex<double> > line1(Guu.dim2());
 
   39      std::vector< std::complex<double> > line2(Guv.dim2());
 
   40      std::vector< std::complex<double> > line3(Gvv.dim2());
 
   44      for(
int j = 0; j < Guu.dim2(); j++) {
 
   61      std::vector< std::complex<double> > transform1 = ft.Transform(line1);
 
   62      std::vector< std::complex<double> > transform2 = ft.Transform(line2);
 
   63      std::vector< std::complex<double> > transform3 = ft.Transform(line3);
 
   66      for(
int j = 0; j < Guu.dim2(); j++) {
 
   67        Guu[i][j] = transform1[j];
 
   68        Guv[i][j] = transform2[j];
 
   69        Gvv[i][j] = transform3[j];
 
   75    for(
int j = 0; j < Guu.dim2(); j++) {
 
   76      std::vector< std::complex<double> > samp1(Guu.dim1());
 
   77      std::vector< std::complex<double> > samp2(Guv.dim1());
 
   78      std::vector< std::complex<double> > samp3(Gvv.dim1());
 
   80      for(
int i = 0; i < Guu.dim1(); i++) {
 
   86      std::vector< std::complex<double> > transform1 = ft.Transform(samp1);
 
   87      std::vector< std::complex<double> > transform2 = ft.Transform(samp2);
 
   88      std::vector< std::complex<double> > transform3 = ft.Transform(samp3);
 
   91      for(
int i = 0; i < Guu.dim1(); i++) {
 
   92        Guu[i][j] = transform1[i];
 
   93        Guv[i][j] = transform2[i];
 
   94        Gvv[i][j] = transform3[i];
 
  102    for(
int i = 0; i < Guu.dim1(); i++) {
 
  103      std::vector< std::complex<double> > line(Guu.dim2());
 
  105      for(
int j = 0; j < Guu.dim2(); j++) {
 
  106        line[j] = Guu[i][j] * Guv[i][j] * Gvv[i][j];
 
  109      std::vector< std::complex<double> > transform = ft.Transform(line);
 
  112      for(
int j = 0; j < Guu.dim2(); j++) {
 
  113        Guu[i][j] = transform[j];
 
  121    TNT::Array2D<double> N(chip.
Lines() - 1, chip.
Samples() - 1);
 
  124    for(
int j = 0; j < N.dim2(); j++) {
 
  125      std::vector< std::complex<double> > samp(Guu.dim1());
 
  127      for(
int i = 0; i < Guu.dim1(); i++) {
 
  131      std::vector< std::complex<double> > transform = ft.Transform(samp);
 
  134      for(
int i = 0; i < N.dim1(); i++) {
 
  135        N[i][j] = real(transform[i]);
 
  139    JAMA::LU<double> lu(N);
 
  142    return abs(lu.det());