Abstract
Non-linear least-square regression is a common fitting method for data analysis in chemistry, physics, biology, and engineering. It is sometimes challenging to set up the problem in existing software packages. In this report, I introduce a naïve dynamic grid searching algorithm named Python jump-chain fitting (PyJCFit) that makes it easy to set up a search. The idea is to sequentially search all parameters in trusted bounds with an exponential distribution of space paying attention to the neighbor area of the guessed value. PyJCFit is slow but carries significant advantages in compound equations with breaks, peak searching, and global fitting. Various scoring functions are allowed because the naïve function doesn’t care what to optimize, even a combination of well and poor-behaved functions.