To install this package as a dependency, run:
pip install linear-operator-learningTo develop this project, please setup the uv project manager by running the following commands:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone git@github.com:CSML-IIT-UCL/linear_operator_learning.git
cd linear_operator_learning
uv sync --dev
uv run pre-commit installSet up your IDE to automatically apply the ruff styling.
Please adhere to the following principles while contributing to the project:
- Adopt a functional style of programming. Avoid abstractions (classes) at all cost.
- To add a new feature, create a branch and when done open a Pull Request. You should not approve your own PRs.
- The package contains both
numpyandtorchbased algorithms. Let's keep them separated. - The functions shouldn't change the
dtypeor device of the inputs (that is, keep a functional approach). - Try to complement your contributions with simple examples to be added in the
examplesfolder. If you need some additional dependency add it to theexamplesdependency group asuv add --group examples _your_dependency_.
