~lagrev-nocfep and ~mopfel-winrux have been hard at work implementing numerical computing on Urbit. The end goal that they are driving towards is Urbit-native machine learning. They seek a qualified grantee to assist with this project.
Currently, they have completed significant work on the following:
- lib/math↗ enables mathematical functions for single atoms, from
add
,sub
,mul
, up to more complex functions such asexp
,sin
,cos
,log
, and so on. - Lagoon↗ (Linear AlGebra in hOON) enables matrix mathematics in the vein of BLAS or LAPACK (like NumPy's pure matrix operations).
- Saloon↗ (Scientific ALgorithms in hOON) enables complex mathematical functions over matrices.
- Maroon↗ (MAchine LeaRning in hOON) implements machine learning algorithms as a sidecar to Urbit. Primarily, this is an interpretation of the Tinygrad framework.
However, much work remains to be done. Areas of work include:
- Implementing a complex number type and associated algorithms.
- Implementing a rational number type and associated algorithms.
- Implement a stack based on posit numbers (an alternative to floating point) for Lagoon/Saloon.
- Finish implementing fixed-precision numbers.
- Write deterministic jets for Saloon (in C)
- Implement APL or other numerics languages on top of Lagoon/Saloon.
- Completing various needed tasks in the above 4 libraries.
There are many opportunities here and high rewards for the motivated and capable grantee. Help us make Urbit-native machine learning a reality. Reach out to us at [email protected]↗ if you're curious.