Defines rates (per day) of flow from compartment i
(row) to compartment j
(column).
make_ratemat(
state,
params,
do_ICU = TRUE,
sparse = FALSE,
symbols = FALSE,
indices = FALSE
)
named vector of states
named vector of parameters
include additional health utilization compartments
return sparse matrix?
return character (symbol) form? (FIXME: call adjust_symbols here rather than in show_ratemat()?)
return indices for lower-level stuff?
matrix of (daily) transition rates
The rates are as follows:
\( S to E: - (\beta_0 / N) S (C_a I_a + C_p I_p + (1-iso_m)C_m I_m + (1-iso_s)C_s I_s) \) \( E to I_a: \) \( E to I_p: \) \( ... \)
See read_params
for parameter definitions.
Base version matches structure of Stanford/Georgia models
flow diagram: see http://covid-measures.stanford.edu/ 'model details' tab
or ../pix/model_schematic.png
parameter definitions: see params_CI_base.csv
, params_ICU_diffs.csv
Other classic_macpan:
add_d_log()
,
add_updated_vaxrate()
,
aggregate_agecats()
,
calibrate_comb()
,
calibrate()
,
check_age_cat_compatibility()
,
check_contact_rate_setting()
,
col_multiply()
,
condense_age()
,
condense_params_vax()
,
condense_state()
,
condense_vax()
,
dev_is_tikz()
,
do_step()
,
expand_params_age()
,
expand_params_desc_age()
,
expand_params_desc_variant()
,
expand_params_desc_vax()
,
expand_params_mistry()
,
expand_params_variant()
,
expand_params_vax()
,
expand_state_age()
,
expand_state_vax()
,
expand_stateval_testing()
,
fix_pars()
,
fix_stored()
,
forecast_ensemble()
,
forecast_sim()
,
getData()
,
get_GI_moments()
,
get_Gbar()
,
get_R0()
,
get_doses_per_day()
,
get_evec()
,
get_kernel_moments()
,
get_opt_pars()
,
get_r()
,
invlink_trans()
,
make_betavec()
,
make_beta()
,
make_jac()
,
make_state()
,
make_test_wtsvec()
,
make_vaxrate()
,
mk_Nvec()
,
mk_agecats()
,
mk_contact_rate_setting()
,
mk_mistry_Nvec()
,
mk_pmat()
,
mk_vaxcats()
,
mle_fun()
,
non_expanded_states
,
rExp()
,
read_params()
,
repair_names_age()
,
restore()
,
run_sim_ageify()
,
run_sim_break()
,
run_sim_loglin()
,
run_sim_mobility()
,
run_sim_range()
,
run_sim()
,
show_ratemat()
,
testify()
,
texify()
,
trans_state_vars()
,
update_contact_rate_setting()
,
update_foi()
,
update_params_mistry()
,
vis_model()
,
write_params()
params <- read_params("ICU1.csv")
state <- make_state(params[["N"]],E0=params[["E0"]], use_eigvec=FALSE)
M <- make_ratemat(state,params)
if (require(Matrix)) {
image(Matrix(M))
}
make_ratemat(state,params,symbols=TRUE)
#> to
#> from S E Ia
#> S "0" "sum(beta_array * state[names(beta_array)])" "0"
#> E "0" "0" "alpha * sigma"
#> Ia "0" "0" "0"
#> Ip "0" "0" "0"
#> Im "0" "0" "0"
#> Is "0" "0" "0"
#> H "0" "0" "0"
#> H2 "0" "0" "0"
#> ICUs "0" "0" "0"
#> ICUd "0" "0" "0"
#> D "0" "0" "0"
#> R "0" "0" "0"
#> X "0" "0" "0"
#> V "0" "0" "0"
#> to
#> from Ip Im Is
#> S "0" "0" "0"
#> E "(1 - alpha) * sigma" "0" "0"
#> Ia "0" "0" "0"
#> Ip "0" "mu * gamma_p" "(1 - mu) * gamma_p"
#> Im "0" "0" "0"
#> Is "0" "0" "0"
#> H "0" "0" "0"
#> H2 "0" "0" "0"
#> ICUs "0" "0" "0"
#> ICUd "0" "0" "0"
#> D "0" "0" "0"
#> R "0" "0" "0"
#> X "0" "0" "0"
#> V "0" "0" "0"
#> to
#> from H H2
#> S "0" "0"
#> E "0" "0"
#> Ia "0" "0"
#> Ip "0" "0"
#> Im "0" "0"
#> Is "(1 - nonhosp_mort) * phi1 * gamma_s" "0"
#> H "0" "0"
#> H2 "0" "0"
#> ICUs "0" "psi1"
#> ICUd "0" "0"
#> D "0" "0"
#> R "0" "0"
#> X "0" "0"
#> V "0" "0"
#> to
#> from ICUs
#> S "0"
#> E "0"
#> Ia "0"
#> Ip "0"
#> Im "0"
#> Is "(1 - nonhosp_mort) * (1 - phi1) * (1 - phi2) * gamma_s"
#> H "0"
#> H2 "0"
#> ICUs "0"
#> ICUd "0"
#> D "0"
#> R "0"
#> X "0"
#> V "0"
#> to
#> from ICUd
#> S "0"
#> E "0"
#> Ia "0"
#> Ip "0"
#> Im "0"
#> Is "(1 - nonhosp_mort) * (1 - phi1) * phi2 * gamma_s"
#> H "0"
#> H2 "0"
#> ICUs "0"
#> ICUd "0"
#> D "0"
#> R "0"
#> X "0"
#> V "0"
#> to
#> from D R X V
#> S "0" "0" "0" "0"
#> E "0" "0" "0" "0"
#> Ia "0" "gamma_a" "0" "0"
#> Ip "0" "0" "0" "0"
#> Im "0" "gamma_m" "0" "0"
#> Is "nonhosp_mort * gamma_s" "0" "M[pfun(\"Is\", \"H\", M)]" "0"
#> H "0" "rho" "0" "0"
#> H2 "0" "psi3" "0" "0"
#> ICUs "0" "0" "0" "0"
#> ICUd "psi2" "0" "0" "0"
#> D "0" "0" "0" "0"
#> R "0" "0" "0" "0"
#> X "0" "0" "0" "0"
#> V "0" "0" "0" "0"