scipy.optimize --- 求根と最小化¶
scipy.optimize サブモジュールは、ユーザー定義のスカラー関数の根や最小値を求めるための単純なルーチンを提供します。各反復でユーザーが指定した Python の呼び出し可能オブジェクトにコールバックする必要があるため、純粋な Python 実装に対する速度向上はわずか(通常は約2倍)です。
関数¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
二分法を用いて、区間
[a, b]内の f の根を求めます。f はこの区間上で符号が変わらなければなりません。- パラメータ:
f -- 単一の
floatを取りfloatを返す呼び出し可能オブジェクトです。a -- 区間の左端点です。
b -- 区間の右端点です。
xtol -- 根の位置に対する絶対許容値です(既定値
xtolerance)。maxiter -- 二分回数の最大値です(既定値
100)。
- 戻り値:
根の位置を
floatとして返します。- 例外:
ValueError --
f(a) * f(b) > 0の場合。
- scipy.optimize.curve_fit(f: Callable[..., float], xdata: ndarray | list | tuple, ydata: ndarray | list | tuple, p0: ndarray | list | tuple, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int | None = None) None¶
非線形最小二乗曲線フィッティング(Levenberg-Marquardt)のスタブです。API 互換性のためモジュールテーブルに存在しますが、現在はプレースホルダーです。引数を受け付けて検証しますが、常に
Noneを返します。このルーチンが実装されるまではfmin()または外部ライブラリを優先してください。- パラメータ:
f -- モデルの呼び出し可能オブジェクト
f(x, *params) -> floatです。xdata -- 独立変数の値の1次元の配列様オブジェクトです。
ydata -- 従属変数の値の1次元の配列様オブジェクトで、xdata と同じ長さです。
p0 -- 初期パラメータ推定値の1次元の配列様オブジェクトです。
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
滑降シンプレックス法(Nelder-Mead)を用いて、スカラー関数 f の局所最小値の位置を求めます。
- パラメータ:
f -- 単一の
floatを取りfloatを返す呼び出し可能オブジェクトです。x0 -- 初期推定値です。
xatol -- 位置に対する絶対許容値です(既定値
xtolerance)。fatol -- 関数値に対する絶対許容値です(既定値
xtolerance)。maxiter -- 反復回数の最大値です(既定値
200)。
- 戻り値:
最小値の位置を
floatとして返します。
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
ニュートン・ラフソン法(割線法)により、実数値のスカラー関数 f の零点を求めます。
- パラメータ:
f -- 単一の
floatを取りfloatを返す呼び出し可能オブジェクトです。x0 -- 初期推定値です。
tol -- 根に対する絶対許容値です(既定値
xtolerance)。rtol -- 根に対する相対許容値です(既定値
rtolerance)。maxiter -- 反復回数の最大値です(既定値
50)。
- 戻り値:
根の位置を
floatとして返します。