Python: Minimierungsfunktion in Bezug auf die i-te VariablePython

Python-Programme
Guest
 Python: Minimierungsfunktion in Bezug auf die i-te Variable

Post by Guest »

Ich habe eine Funktion func(x), bei der das Argument ein Vektor der Länge n ist. Ich möchte es in Bezug auf die i-te Komponente von x minimieren, während die anderen Komponenten unverändert bleiben. Um es also als Funktion einer einzelnen Komponente auszudrücken, würde ich so etwas tun:

Code: Select all

import numpy as np
from scipy.optimize import minimize_scalar

def func(x):
#do some calculations
return function_value

def func_i(x_i, x0, i):
x = np.copy(x0)
x[i] = x_i
return func(x)

res = minimize_scalar(func_i, args=(x0, i))
Gibt es eine effizientere Möglichkeit, dies zu tun? Diese Art von Berechnungen wird wiederholt durchgeführt, wobei Variablen durchlaufen werden, und ich befürchte, dass x = np.copy(x0), x = x_i die Berechnung verlangsamt. (Das Problem tritt im Zusammenhang mit der Gibbs-Stichprobe auf, daher ist die Minimierung in Bezug auf alle Variablen gleichzeitig nicht das, was ich möchte.)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post