Closed martin-ueding closed 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.
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.