Commit 3c8c6bf6 authored by Alejandro Saez's avatar Alejandro Saez

Merge branch 'alejandro' of https://gitlab.ift.uam-csic.es/jugarrio/juobs into alejandro

parents e2996273 8f8e5199
......@@ -208,7 +208,7 @@ function dec_const(a0p::Vector{uwreal}, pp::Vector{uwreal}, plat::Vector{Int64},
corr_a0p = corr_a0p[2:end-1] + ca * der_pp
aux = exp.((collect(1:T-2) .- (T-1)/2) .* [m for k = 1:T-2])
else
aux = exp.((collect(0:T-1) .- T/2) .* [m for k = 1:T])
aux = exp.((collect(0:T-1) .- (T-1)/2) .* [m for k = 1:T])
end
R = corr_a0p .* aux ./ [((corr_pp[T-y0])^2)^(1/4) for k = 1:length(corr_a0p)]
......@@ -237,7 +237,7 @@ function dec_const(a0p::Vector{uwreal}, pp::Vector{uwreal}, plat::Vector{Int64},
title(string(L"$\kappa_1 = $", kappa[1], L" $\kappa_2 = $", kappa[2]))
end
display(gcf())
close()
#close()
end
if !data
return f
......
......@@ -464,7 +464,6 @@ If `new_version=true`, then the sign of the valence derivatives in `derm` is fli
also that for the new dat files version, no `_d1, _d2` is written by the reader, so
you must select by hand (looking at the log files e.g.) which are you derivative
correlators. In the log file, the derivative correlators are signaled by `seq_prop=some number`.
If `TSM=true`, computes valence derivatives of TSM correlator.
``\frac{d <A>}{dm(val)} = \sum_i \frac{\partial <A>}{\partial <O_i>} \frac{d <O_i>}{d m(val)}``
......@@ -495,7 +494,7 @@ m_md1, m_md2 = md_val(m, corr_pp[1], derm[1])
m_shifted = m + dm1 * m_md1 + dm2 * m_md2
```
"""
function md_val(a::uwreal, obs::Corr, derm::Vector{Corr}; new_version::Bool=false, TSM::Bool=false)
function md_val(a::uwreal, obs::Corr, derm::Vector{Corr}; new_version::Bool=false)
nid = neid(a)
if nid != 1
error("Error: neid > 1")
......@@ -533,32 +532,6 @@ function md_val(a::uwreal, obs::Corr, derm::Vector{Corr}; new_version::Bool=fals
ow_data = ow_mean .+ ws.fluc[n_ow]
=#
der = length(a.der) >= maximum(n_ow) ? a.der[n_ow] * w_mean : 0.0
elseif all(count.(prop) .== 3)
if TSM == false
return nothing
else
corr_der = getfield.(corr, :der)
n = findall.(t-> t==1, prop)
n = vcat(n'...)
if all(n[:, 1] .== n[1, 1]) # find ow and w
n_w = n[1, 1]
n_ow1 = n[:, 2]
n_ow2 = n[:, 3]
elseif all(n[:, 2] .== n[1, 2])
n_w = n[1, 2]
n_ow1 = n[:, 1]
n_ow2 = n[:, 3]
elseif all(n[:, 3] .== n[1, 3])
n_w = n[1, 3]
n_ow1 = n[:, 1]
n_ow2 = n[:, 2]
end
w_mean = 1 / getindex.(corr_der, n_ow1)[1]
if 1 / getindex.(corr_der, n_ow1)[1] != 1 / getindex.(corr_der, n_ow2)[1]
error("w_mean with n_ow1 and with n_ow2 different")
end
der = length(a.der) >= maximum(n_ow1) && length(a.der) >= maximum(n_ow2) ? a.der[n_ow1] * w_mean : 0.0
end
else
return nothing
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment