[ANN] SIAMFANLEquations.jl v1.0 Publication release

La commedia è finita!

This project is Done.

I’ve just released v1.0, the final publication version, of SIAMFANLEquations.jl. This is a suite of nonlinear solvers, test problems, and examples.

The solvers are Newton and Newton-Krylov, Pseudo-transient continuation, and Anderson acceleration. The package has many examples.

This package supports my shiny new orange book
Solving Nonlinear Equations with Iterative Methods:
Solvers and Examples in Julia
.

@book{ctk:fajulia,
author="C. T. Kelley",
title="{Solving Nonlinear Equations with Iterative Methods:
Solvers and Examples in Julia}",
year=2022,
publisher="SIAM",
address="Philadelphia", 
series="Fundamentals of Algorithms",
number=20
}

The solvers are documented with Documenter.jl on the package repo and with a collection of IJulia notebooks. The notebooks are a pretty faithful version of the print book.

The final manuscript went to the printer on Sept 6. The target date for publication is October 2022.

The best thing about book projects is that they are not open-ended. They get finished. Ergo, any future updates to the package and notebooks will be limited to bug/typo fixes.

Of course, all my books make great gifts for any special occasion.

– Tim

30 Likes

Congratulations!!!

1 Like

The print book for the package

author="C. T. Kelley",
title="{Solving Nonlinear Equations with Iterative Methods:
Solvers and Examples in Julia}",
year=2022,
publisher="SIAM",
address="Philadelphia",
isbn="978-1-611977-26-4",
series="Fundamentals of Algorithms",
number=20

is now a SIAM e-book

This means that if your organization is subscribes to the SIAM E-Book
series, you can download the pdf for free. Ask your librarian about this.

3 Likes

I downloaded this package and the notebook examples. The code seems to execute properly but the LaTeX is not parsing properly. There are many parsing errors throughout the notebook. This one at the beginning of the SIAMFANLCH1.ipynb notebook is typical:

ParseError:KaTeX parse error: \newcommand{}\mg} attempting to redefine \mg; use \renewcommand

I’m running Julia 1.10, which is not a version you have tested against. It’s using this version of LaTeXStrings:

[[deps.LaTeXStrings]]
git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec"
uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
version = "1.3.1"

Any idea what the problem might be?

Are you running the notebooks with IJulia or trying to download as pdf? The latter will not work.

I tested against 1.10 last week and the kernel is now 1.10.

Did you do a run all to start off? The first cell in each notebook is the definitions of things like \mg. Since it is only LaTeX definitions, it shows as an empty cell, but your must run it anyhow as well as include fanote_init.jl The instructions were pretty clear about run all.

Just ran Chapter 1 with no problems.

Mac Mini + M2 pro + julia 1.10 + latest OS + LaTeXStrings v 1.3.1 + IJulia 1.24.2

Here are the contents of that first cell

$\newcommand{\calf}{{\cal F}}
\newcommand{\dnu}{d \nu}
\newcommand{\mf}{{\bf F}}
\newcommand{\vu}{{\bf u}}
\newcommand{\vx}{{\bf x}}
\newcommand{\vy}{{\bf y}}
\newcommand{\vs}{{\bf s}}
\newcommand{\ve}{{\bf e}}
\newcommand{\vd}{{\bf d}}
\newcommand{\mg}{{\bf G}}
\newcommand{\ml}{{\bf L}}
\newcommand{\mg}{{\bf G}}
\newcommand{\mv}{{\bf V}}
\newcommand{\ma}{{\bf A}}
\newcommand{\mi}{{\bf I}}
\newcommand{\mm}{{\bf M}}
\newcommand{\ball}{{\cal B}}
\newcommand{\ptc}{{\Psi TC}}
\newcommand{\diag}{\mbox{diag}}
\newcommand{\begeq}{{\begin{equation}}}
\newcommand{\endeq}{{\end{equation}}}
$

This is plain vanilla stuff and I have never heard of parsing errors before.