Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

No nonlinear solver in MKL?

OP1
New Contributor I
444 Views

This is probably a really dumb question... but it seems there is no nonlinear solver in MKL ? Am I correct? Is yes, is there a reason for this?

Thanks in advance for your answer.

0 Kudos
10 Replies
Gennady_F_Intel
Moderator
444 Views

Hello,

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.

g_f_thomas
Beginner
444 Views

I'd say the OP was referring to a nonlinear algebra solver like Newton-Raphson rather than an ODE solver which solves nonlinear IVPs.

Gerry

OP1
New Contributor I
444 Views

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).

Olivier

g_f_thomas
Beginner
444 Views

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.

Gerry

OP1
New Contributor I
444 Views

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?

Olivier

Gennady_F_Intel
Moderator
444 Views

Hi Oliver,

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.

--Gennady

Sergey_G_Intel
Employee
444 Views

Hi Olivier,

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.

Zhanghong_T_
Novice
444 Views

Dear all,

Is there any function in Intel's MKL to solve non-linear equations, similar to the non-linear equation solver Powell method?

http://jblevins.org/mirror/amiller/hbrd.f90

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?

Thanks,

Zhanghong Tang

mecej4
Black Belt
444 Views

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 .

Zhanghong_T_
Novice
444 Views

Dear mecej4,

Thank you very much for your information. That could be what I needed.

Thanks

Reply