This Git repo supports my paper
C. T. Kelley, Newton's Method in Three Precisions, 2023. Pacific Journal of Optimization, vol 20, 2024, pp 461-474.
Use the latest release of Julia (1.9.3) with this stuff!!!
The software is in Julia and I have included
- A Jupyter notebook
- The codes for the examples in the paper
- A pdf file of the notebook
- A copy of talk on interprecision transfers for the XSDK-MULTIPRECISION series of seminars
You must know enough Julia to
- install packages,
- run an IJulia notebook,
- and manage Github.
To run this notebook you will need to install these packages
- IJulia
- SIAMFANLEquations
- PyPlot
- Polyester
When you install these packages, especially, SIAMFANLEquations you will also install many other packages. If you have not installed them already, that could take a bit of time.
To run the notebook
- clone this repositoory
- go to the directory for the clone on your filesystem
- start Julia
- Type
notebook(;dir=pwd())
at the julia prompt - click on the notebook
N3Presults.ipynb
- The notebook should open. When it does click on
cell
and select therun all
option.
To fully understand this material you'll need to understand how to use nsol.jl
from SIAMFANLEquations.jl. The solver is well documented in the
book and the
notebook.
I manage the coupling of iterative refinement and the nonlinear solver with a data structure MPArray
. I am building a package for this, but it will not be done in time for this paper. I've put a preliminary version in file src/MultiPrecisionArraysv0.jl
that works for this repo. It is not completely documented nor have I made any final decsions on the user interface. The package repo is MultiPrecisionArrays.jl.
This work was partially supported by
- US Department of Energy grant DE-NA003967 and
- National Science Foundation Grant DMS-1906446.