HISKP-LQCD / sLapH-projection-NG

2 stars 0 forks source link

Separate comparison from numeric projection #14

Closed martin-ueding closed 4 years ago

martin-ueding commented 4 years ago

The R code has grown a bit monolithic up to this point. We need to split off the actual number crunching from the comparison with Markus's data. I think that the comparison could be done in an RMarkdown document which is easier to debug than an R program.

The numerical projection will stay a program to be scheduled on a cluster.

martin-ueding commented 4 years ago

As you might guess from the commits I have now created a Rmarkdown notebook which takes all the numerically projected correlators and merges the whole statistics into one correlator matrix. In the end there will be a file per total momentum and irrep, which will contain the correlator matrix as a nested structure exposing irrep column and row as well as correlator matrix row and column. Each of these elements will be a matrix with the whole statistics.

For instance I have done the P=001 in the E irrep for two configurations. The result is this:

> cm <- readRDS('correlator_matrix_001_E.Rdata')
> str(cm)
List of 1
 $ E:List of 2
  ..$ 1:List of 2
  .. ..$ 1:List of 4
  .. .. ..$ 100:List of 4
  .. .. .. ..$ 100: num [1:2, 1:64] -9250 -9529 -3331 -3514 -1164 ...
  .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. ..$ : chr [1:2] "2552" "2556"
  .. .. .. .. .. ..$ : NULL
  .. .. .. ..$ 110: num [1:2, 1:64] -16.83 -12.8 -9.81 -22.28 -9.38 ...
  .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. ..$ : chr [1:2] "2552" "2556"
  .. .. .. .. .. ..$ : NULL
  .. .. .. ..$ 011: num [1:2, 1:64] 3.45 -45.34 4.76 -28.07 12.6 ...
  .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. ..$ : chr [1:2] "2552" "2556"
  .. .. .. .. .. ..$ : NULL
  .. .. .. ..$ 111: num [1:2, 1:64] -16.83 -12.8 -9.81 -22.28 -9.38 ...
  .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. ..$ : chr [1:2] "2552" "2556"
  .. .. .. .. .. ..$ : NULL
  .. .. ..$ 110:List of 4
  .. .. .. ..$ 100: num [1:2, 1:64] -4.87 -8.17 -2.45 -10.63 -13.03 ...
  .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. ..$ : chr [1:2] "2552" "2556"
  .. .. .. .. .. ..$ : NULL
…

I would say that this is the out-interface of the new projection code and that massaging this into a hadron correlator matrix is the job of the analysis. Basically one would have to pick one irrep row and column and then flatten the matrices with hadron::c.cf into a correlator matrix after symmetrization.

At this point the code that compares to Markus's data is missing some parts to run again, I will need to make it read the projected/resolved_*.js files again after splitting it off.