# kNaN Documentation

## Introduction

kNaN is a solver for systems of nonlinear equations based on Newton's Method with line search backtracking.

## Features

Currently the solver can only work with explicit definitions of f() and jf() .

## Future Work

Following methods are planned to be implemented:
• krylov
• matrix-free
• preconditioning
• freezed jacobian
• diffusion jacobian
• diffusion + freezed jacobian
• low order approximation to high order nonlinear system
• inexact newton
• multigrid
• numerical jacobian
• continuation
• fokkema vorst: store resulting F vectors
• singular systems

## To do list for version 1.3:

• deltax'e gore de durma kriteri - s based
1. absolute
2. relative
• introduce analytical jacobian, numerical(one by one and column based)
• introduce jacobian vector multiplication - either directional derivative, full, or sparse storage schemes.
1. always compare with the exact value for scaled, small and large for both F and X.
• rename mybeta as beta after numerical_libraries are excluded with the implementation of Krylov Solvers or LU decomposition routines

## To do list for version 1.2:

• initial guess function (either parameter continuation or interpolation or just initialization)
• introduce analytical jacobian, numerical(one by one and column based)
• define weighted norm as a convergence option-option to compare different grids
• give a detailed analysis file with information on the iterations including the mesh size and weighted norm
• if relative residual is used then it is like weighted norms are used!
• reduce the number of extra F1 and F2 vectors. either by pointers or overwrites
• find a name for this version. this 1.2a - a letter might help :) !
• lambda plot!

## Version History

### version 1.2b - Multiplier

problem sets are added

code changes

basic inexact newton is implemented

separate matrix vector multiplier MatVecMult() is added

### version 1.2a - Addition

bicgstab is added as a solver (matmul - no precon)

bicgstab_no_s is added as the default bicgstab solver (matmul- no precon)

### version 1.1 - Expansion

absolute and relative tolerances are introduced. convergence options are introduced.

solverParameters and physicalParameters modules are added.

Debugging related extra information parameters are added.

module myFunctions is added. quadratic and cubic functions
are carried into this module.

machineps: machineps() - scalar function
calculates the machine eps

### version 1.0 - Inception

In this version the most basic form of a line search backtracking algorithm is implemented. In this program the example problem 6.5.1 given in  is examined

### References

 Numerical Methods for Unconstrained Optimization and Nonlinear Equations - J.E. Dennis, R.B. Schnabel - SIAM - 1996 corrected edition
 Iterative Methods for Linear and Nonlinear Equations - C.T. Kelley - SIAM - 1995  Testing Unconstrained Optimization Software - J.J. Moré, B.S. Garbow, K.E. Hillstorm - TOMS 7 pp 136-140 - 1981

### Resources

pdf version of the documentation is here.
code will be available here after version 1.5.

### Developer

Erhan Turan

Generated on Thu Apr 2 15:46:12 2009 for kNaN by 1.5.8