« 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加 | トップページ | 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表 »

2025年5月 8日 (木)

関数型プログラミング言語 F# (fsharp)の数値計算ライブラリ Math.NET Numericsを使う(6) OptimizationのNelder-Mead SimplexでRosenbrock関数(5パラメータ)を最小になる点を探す。

今回はこの例題。

 Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(6) OptimizationのNelder-Mead SimplexでRosenbrock関数(5パラメータ)を最小になる点を探す。

いつものように

#r "nuget: MathNet.Numerics.FSharp, 5.0.0"
#r "nuget: Plotly.NET.Interactive, 5.0.0"
してからこれ。
open MathNet.Numerics.LinearAlgebra
open MathNet.Numerics.Optimization

let  Rosenbrock (x : Vector<float>) =
    List.sum [for i in 0..x.Count - 2 -> 100.0 * (x[i+1] - x[i] * x[i]) * (x[i+1] - x[i] * x[i]) + (x[i] - 1.0) * (x[i] - 1.0)]
let objFunc = ObjectiveFunction.Value(Rosenbrock)
let solver = NelderMeadSimplex(1.0E-9, 1000)
let initialGuess =  vector [1.3; 0.7; 0.8; 1.9; 1.2]
let results = solver.FindMinimum(objFunc, initialGuess)
results
Fsharpoptimize
とにかく短く書けるのがいい。

« 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加 | トップページ | 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表 »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 高周波・RFニュース 2025年5月8日 6Gにはテラヘルツどころか7-14GHzも向いてないという意見、フィンランド企業が6G推進コンソーシアムRF ECO3発表、Infineonが7P7T内蔵7ch-LNA発表、SpirentがOctoboxにWi-Fi 6/7自動テスト追加 | トップページ | 高周波・RFニュース 2025年5月9日 QorvoがスマートファクトリーにUWB利用の解説、KYOCERA AVXがUHF,VHF向け高方向性カプラ発表、Wireless Broadband Allianceが企業向けWi-Fi 7トライアル結果報告、NXPが第三世代イメージングレーダプロセッサ発表 »

最近の記事

2025年5月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近のコメント

無料ブログはココログ
フォト