We’ve had a number of inquiries recently regarding ideas/issues suitable for newcomers to contribute to. A few areas which might be quite suitable for this are our new dataset generation and plotting utilities, along with further development of our tutorials.
To bring all of the above together, below are a few short “micro-project” ideas. Feel free to have a go at these, and do post code here so that we can provide feedback and advice. These short projects would be a good way to learn the basics of the code, as well as contribute some PR’s to the dataset loading and plotting modules.
Sensitivity analysis of aerofoil noise: This will first involve fitting an equadratures
Poly()to the UCI machine learning repo airfoil noise dataset, and then computing Sobol indices to understand the key drivers behind the aerofoil noise. This would be a good opportunity to develop a new dataset loader in
datasets.py, in order to streamline the process of loading UCI datasets (see this post). It would then be great to develop a plotting method (see this post) to plot the Sobol indices i.e.
Poly().plot_sobol(). Feel free to pick a different UCI dataset (e.g. boston housing, Wine etc) if another one interests you more!
Turbomachinery blade design via dimension reduction: In this recent aeronautical journal article, equadratures is used to explore the design of three turbomachinery blades. This small project would involve porting the data from its current repo to our equadratures dataset repo, so that the data can be easily loaded into equadratures. You could then obtain dimension reducing subspaces for the data, and develop plotting methods (see this post) to reproduce the key visualisations from the paper (we can help with this!). - Thanks to @Nick for this idea.
In addition to PR’s associated with the dataset loading and plotting methods, we’d love to have your micro-projects included in our tutorials if they’re done well Another area where we welcome help is identifying and fixing bugs and/or poor error reporting. If while having a go at any of the above you encounter issues, please do flag these via Github issues!