JaxGaussianProcesses / JaxKern

Kernel functions in JAX.
MIT License
7 stars 3 forks source link

Restructure modules #36

Closed thomaspinder closed 1 year ago

thomaspinder commented 1 year ago

This PR restructures JaxKern so that kernels are broken out by their type. Further, computation objects are given their own modules.

Resolves #31

daniel-dodd commented 1 year ago

Do we need this py.typed file?

daniel-dodd commented 1 year ago

Suggestion: While we (or you) are refactoring, would it be sensible to structure the kernels and the computations across two submodules rather than in the main directory? I see the computations growing in size in the near future (inter-domain, Kronecker, Markovian dynamics, ...). It might be nice to have the computations split up into separate files for better readability (like I did in JaxLinOp)? You could also consider have submodules within the kernels (for e.g. stationary). It might make things easier to maintain/ reduce the amount of scrolling? Interested to hear your thoughts on this.

thomaspinder commented 1 year ago

Do we need this py.typed file?

Not right now. Removed.

thomaspinder commented 1 year ago

Suggestion: While we (or you) are refactoring, would it be sensible to structure the kernels and the computations across two submodules rather than in the main directory? I see the computations growing in size in the near future (inter-domain, Kronecker, Markovian dynamics, ...). It might be nice to have the computations split up into separate files for better readability (like I did in JaxLinOp)? You could also consider have submodules within the kernels (for e.g. stationary). It might make things easier to maintain/ reduce the amount of scrolling? Interested to hear your thoughts on this.

Yeah nice idea.

thomaspinder commented 1 year ago

Suggestion: While we (or you) are refactoring, would it be sensible to structure the kernels and the computations across two submodules rather than in the main directory? I see the computations growing in size in the near future (inter-domain, Kronecker, Markovian dynamics, ...). It might be nice to have the computations split up into separate files for better readability (like I did in JaxLinOp)? You could also consider have submodules within the kernels (for e.g. stationary). It might make things easier to maintain/ reduce the amount of scrolling? Interested to hear your thoughts on this.

Yeah nice idea.

@Daniel-Dodd - this is now done.

daniel-dodd commented 1 year ago

Sorry @thomaspinder these comment are a little out of date with regards to their file references.