Ca me rappelle le programme de L3 en maths ça, ou alors un pauvre financier en master qui découvre les joies des maths
X* = argmin(J) s.t J(X) = c.T X
s.t -> subject to
et c^T pas c.T j'imagine non? C'est écrit bizarrement là
Chaque méthode à ses avantages et inconvénients, faut choisir selon la forme du problème. Faut également préférer des algos stables (stabilité numérique), genre: https://en.wikipedia.org/wiki/QR_algorithm
Généralement si tes matrices sont pas diagonal dominant (https://en.wikipedia.org/wiki/Diagon...ominant_matrix) t'auras des trucs instables
Les problèmes de stabilité pour la méthode de points intérieurs c'est un truc bien connu:
https://www.scopus.com/record/displa...&origin=inward
https://www.scopus.com/record/displa...&origin=inward
https://www.scopus.com/record/displa...&origin=inward
https://www.scopus.com/record/displa...&origin=inward
Faudrait voir dans quel contexte tu fais ça, t'es obligé d'utiliser cette méthode? Sinon y'a d'autres approches pour optimiser ça (edit: grillé par Laya)
https://en.wikipedia.org/wiki/Quasi-Newton_method
https://link.springer.com/referencew...06-48332-7_248
https://en.wikipedia.org/wiki/Low-rank_approximation
https://web.stanford.edu/class/ee364...seq_slides.pdf
https://www.cs.cornell.edu/~sridharan/convex.pdf
Sinon la stabilité numérique c'est tout un domaine, ne serait ce que à quoi ton code ressemble dans tes calculs intermédiaires, si tu respectes pas les bonnes pratiques de bases tu vas accumuler les erreurs. Est ce que tu normalises avant de faire les calculs, se souvenir que l'addition n'est pas associative si tu fais du calcul flottant, comparer le déterminant de la matrice avec la norme au carré pour voir si le problème est bien conditionné (http://www.ece.northwestern.edu/loca.../relcomp2.html), etc.