Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

n-dimensional integrations in models #32

Open
levisc8 opened this issue Jul 21, 2021 · 1 comment
Open

n-dimensional integrations in models #32

levisc8 opened this issue Jul 21, 2021 · 1 comment
Labels
enhancement New feature or request padrino Functionality required to Padrino models

Comments

@levisc8
Copy link
Collaborator

levisc8 commented Jul 21, 2021

@wpetry had mentioned this before, and came up today in discussion w/ Tomos. Currently, the par_set_indices method won't work, because each level of sex will be treated as a separate population when population size/lambda is computed.

Likely requires an additional argument to init_ipm() (e.g. init_ipm(..., two_sex = TRUE), and then altering .init_iteration and .pop_size to be generic on that. Almost certainly overlooking a critical component though.

@levisc8 levisc8 added enhancement New feature or request padrino Functionality required to Padrino models labels Jul 21, 2021
@levisc8 levisc8 changed the title two sex model two sex models Jul 21, 2021
@levisc8 levisc8 changed the title two sex models n-dimensional integrations in models Jul 29, 2021
@levisc8
Copy link
Collaborator Author

levisc8 commented Jul 29, 2021

name change to reflect new approach.

functions that will need updating:

  • define_pop_state()
  • define_domains()
  • .pop_size()
  • .init_iteration()
  • .find_start_end()
  • .fun_to_iteration_mat()

This one needs a deep rethink and probably a full blown replacement. state_var_start/state_var_end now need to be vectors of arbitrary size. Probably best to change to dim(out) <- dims, where dims <- c(n_mesh_1, n_mesh_2, ..., n_mesh_x), generating arrays of arbitrary dimension.

functions that need creation:

  • .create_iter_exprs.n_dim_int() (probably name this class something else)
  • .combine_iter_exprs.n_dim_int()
  • .make_iter_right/left.n_dim_int() (to work with left/right_ev()

to investigate further:

  • .iterate_model.*

DETERMINISTIC METHODS: These may need updating because of the way that parameter set indexed models are handled. I don't remember exactly how the pop_state/sub_kernel names are going to look when they reach this point, so may need to add a line or two to accommodate 2-sex models.

  • right_mult()/left_mult()

These will need generalization to higher dimensional objects. see literature on n-dimensional array multiplication.

To be modified further...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request padrino Functionality required to Padrino models
Projects
None yet
Development

No branches or pull requests

1 participant