Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement numba'd conjugate gradient minimiser #59

Open
domokane opened this issue Jan 2, 2021 · 4 comments
Open

Implement numba'd conjugate gradient minimiser #59

domokane opened this issue Jan 2, 2021 · 4 comments
Labels
Algorithm specialist enhancement New feature or request good first issue Good for newcomers

Comments

@domokane
Copy link
Owner

domokane commented Jan 2, 2021

The conjugate gradient descent algorithm in scipy is slow and prevents the calling function from being jitted by numba. Idea is to find a python version of the CG minimiser that can be jitted to give faster minimisations.

@domokane domokane added Algorithm specialist enhancement New feature or request good first issue Good for newcomers labels Jan 10, 2021
@idorrington92
Copy link
Contributor

I'd be happy to have a go at this

@domokane
Copy link
Owner Author

domokane commented Apr 3, 2023

I am not sure this is still needed. Look in utils at solver_cg.py and solver_nm.py to see the functions that were added and where they are used to see if everything is as fast as it can be. I had lots of issues with numba but I think they now work. But I have sort of forgotten so I am not 100% sure.

@idorrington92
Copy link
Contributor

idorrington92 commented Apr 3, 2023

I saw solver_cg but it didn't look like it was being used anywhere... and it looks like equity_vol_surface (and others) are using the scipy solver. Though it looks like it tries solver_nm and only uses scipy's CG when that fails to converge (or when the user specifies to use it).

@domokane
Copy link
Owner Author

domokane commented Apr 3, 2023

Yes. My main focus was on the FX surface solver. If you see a need to work on it let me know. I am jammed on other things right now but if there is stuff to be done on this it would be very helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Algorithm specialist enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants