Please follow the link: "__http://software.intel.com/en-us/articles/intel-ordinary-differential-equations-solver-library"
We uploaded the new ODE (Intel Ordinary Differential Equations Solver Library) today.
Gerry, you are correct. I am thinking of a solver for a set of nonlinear algebraic equations.
Now, it is obvious that optimization subroutines can be used to solve a set of nonlinear equations - but as far as I know this is not ideal. So, I am just wondering why there is no nonlinear solver in MKL (there are a few solvers in IMSL).
I've no idea why they don't and I don't think they know either.
Yes, both the Fortran and c interfaces have a bunch of solvers in chapter 7. I'm old enough to remember the time when imsl source code was available at school but thatall stopped when Microsoft brought computing to the masses. It was coded in Fortran 77. Most of it came from www.netlib.org, or perhaps TOMS. You'll undoubtedly find something suitable for your specific needs(and for free) if you poke around there.
Yes, it would be really interesting if MKL had a few solvers, especially if these solvers are threaded. I am well aware of the netlib repository (I use the hybrid Powell solver) - but this solver is not threaded. I am wondering if the QR decomposition and rank-1 QR updates required by this solver could be somehow parallelized.
Does any one know of a parallel nonlinear solver?
One recommendation: the best and fastest way to submit this idea about nonlinear algebra solver like Newton-Raphson as a
Feature Request is via Intel Premier support website (Go to http://premier.intel.com ) .
MKL engineering is collecting this information from customers and will use it for the potential implementation in the future.
Thank you for trying Intel MKL! TR solvers available in MKL are basically an improved version of Newton-Raphson solver. Besides, they are threaded. However, both terms (TR and Newton-Raphson) are sort of generic names for a wide class of solvers targeted for different problems. Therefore, it would be great if you can specify what kind of problems you like to solve. It would be even greater if you can file a detailed Feature Request via Intel Premier support website (http://premier.intel.com).
As for your question about QR parallelization, it is possible to do it. MKL has threaded QR algorithm in LAPACK. You might be interested in using it for Powell solver. As far as I know, rank-1 QR updates are also threaded in MKL, but they are not available explicitly, only as a part of other QR-like algorithms.
Is there any function in Intel's MKL to solve non-linear equations, similar to the non-linear equation solver Powell method?
However, what I needed is a little different: the number of variables and equations are not equal, i.e., the fcn I defined should be like the following:
! SUBROUTINE FCN(NX, X, NF, FVEC, IFLAG) ! INTEGER NX, NF,IFLAG ! REAL X(NX),FVEC(NF) ! ---------- ! CALCULATE THE FUNCTIONS AT X AND RETURN THIS VECTOR IN FVEC. ! --------- ! RETURN ! END
My final goal is to find a best X to let the FVEC is closest to Y, where size of X is NX and sizes of FVEC and Y are NF.
If no such function, is there any method to modify the above code to let it work for my problem, or is there any better method suitable for my problem?
See the section on Nonlinear Optimization Problem Solvers in the MKL Reference Manual, https://software.intel.com/en-us/node/471086 . For this solver, your problem must satisfy NF >= NX .