Skip to content

Integrating friedrich into linfa #1

Open
@LukeMathWalker

Description

@LukeMathWalker

I have started to review friedrich with the aim of integrating it into linfa.

I imagine the integration using a "shim" crate in the linfa repository, named linfa-gaussian-processes, which re-exports all or part of friedrich's public API. This ensures that linfa is in control of naming conventions, interfaces and whatever is required to give the overall linfa ecosystem an homogeneous feeling as well as allowing you to retain ownership of friedrich and evolving it as you see fit.

The alternative would be to move friedrich inside linfa as linfa-guassian-processes, but that's a much more substantial step hence I don't think that's what we want to go for (at least for now).

In terms of requirements, apart from some minor improvements here and there that I should be able to submit as PRs against friedrich over the Christmas holidays, I'd like to understand the following:

  • What was the rationale behind the choice of nalgebra over ndarray?
    I'd like to standardize on ndarray, at least in the initial phase, to avoid having overly generic interfaces (e.g. inputs and outputs generic parameters).
    Is it because you needed ndarray-linalg and that requires a non-Rust dependency?
  • I have found that there are few tests across the repository, either testing units of functionality or the overall algorithm. What are your thoughts on this?
  • Benchmarks: have you compared how your implementation fares against another reference implementation, both in terms of performance and correctness?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions