Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(6) OptimizationのNelder-Mead SimplexでRosenbrock関数(5パラメータ)を最小になる点を探す。
今回はMath.NET Numericsを使った最適化。
Python(SciPy)の例題を使おう。
https://docs.scipy.org/doc/scipy/tutorial/optimize.html
アルゴリズムは導関数などが不要なNelder-Mead SimplexでRosenbrock関数の5パラメータ版を使う。
ObjectiveFunction.Valueに関数を与える必要がある、というのがよくわからなくて悩んだ…
プログラムはこんな感じで、
結果はこちら。
プログラムのテキスト:
using System;
using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.Optimization;
namespace OptimizationTest01
{
class Program
{
static void Main(string[] args)
{
var objFunc = ObjectiveFunction.Value(Rosenbrock);
var solver = new NelderMeadSimplex(1.0E-9, 1000);
var initialGuess = Vector.Build.DenseOfArray(new []{ 1.3, 0.7, 0.8, 1.9, 1.2 });
var results = solver.FindMinimum(objFunc, initialGuess);
for (int i = 0; i < initialGuess.Count; i++) {
Console.WriteLine($"x[{i}] = {results.MinimizingPoint[i]}");
}
}
static double Rosenbrock(Vector x)
{
double sum = 0.0;
for (int i = 0; i < x.Count - 1; i++)
{
sum += 100.0 * (x[i+1] - x[i] * x[i]) * (x[i+1] - x[i] * x[i]) + (x[i] - 1.0) * (x[i] - 1.0);
}
return sum;
}
}
}
過去のもの:
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(1) 複素行列を定義して一次方程式や逆行列、行列式などを計算する。
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(4) 多項式フィッティングをして、Array.ConvertAllで一括でフィッティングデータを得る。
« 餃子の王将で8月限定の温玉中華カレーラーメン(フェアセットB)をいただく。 | トップページ | からやまで赤カリ合盛り定食をいただく。見かけほど辛くなくてピリ辛くらいで美味しいです。 »
「パソコン・インターネット」カテゴリの記事
- 家で使うPCをゲーミングノートPC、ASUS TUF Gaming A16に買い替えた。CPUはAMD Ryzen 9 8940HX、メモリ32GB、GPUはNVIDIA GeForce RTX 5060 Laptop GPU、SSD 1TB。ゲームをしたいわけでなくてNVIDIAの最新GPUで機械学習・数値計算やろうかと。(2025.11.13)
- RF Weekly Digest (Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2025/11/3-2025/11/9(2025.11.09)
- RF Weekly Digest (Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2025/10/27-2025/11/3(2025.11.04)
- Google AI StudioのBuild(アプリを作る機能)で高周波・RFニュースを1週間分まとめるアプリを作った(最終版) 私がいつも調査しているサイト67個を全部入れて調べてもらうようにした。これでとりあえず完成かな。QorvoとSkyworksの合併も拾ってくれた。(2025.10.30)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年11月13日 QorvoがTWTA置き換えの広帯域SSPA発表、iFixitがiPad Pro M5分解、KYOCERA AVXが0.9Vで動く超小型クロック発表、Mini-Circuitsが様々なBALUNやトランス解説、軍用5G解説、imecの110GHz可能な300mm GeSiウェハー(2025.11.13)
- 高周波・RFニュース 2025年11月12日 Qualcommが語る技術の標準化、STMicroelectronicsが語るシリコンフォトニクス、HuaweiがイノベーションとIPフォーラム開催、6G SummitでFCCのコミッショナーが米国が6Gをリードすべしと語る(2025.11.12)
- トランジスタ技術2025年12月号 電波と回路のススメMHz~GHzを操る!を買った。GHzはアナデバのICを使った信号発生器(信号検出付きなのが面白い)のみだったが、マルチパス、高調波で周波数拡大、6.78MHzのワイヤレス給電、オシロでSDRなど話題も豊富で面白かった。(2025.11.11)
- 高周波・RFニュース 2025年11月10日 Qorvoらが参加する5G, 6Gオンラインパネル開催、SkyworksがBAWを使った高性能クロック発表、Nokiaベル研とKDDIが6Gで協業、次世代FWAのアンテナ設計解説(2025.11.10)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年11月13日 QorvoがTWTA置き換えの広帯域SSPA発表、iFixitがiPad Pro M5分解、KYOCERA AVXが0.9Vで動く超小型クロック発表、Mini-Circuitsが様々なBALUNやトランス解説、軍用5G解説、imecの110GHz可能な300mm GeSiウェハー(2025.11.13)
- 高周波・RFニュース 2025年11月12日 Qualcommが語る技術の標準化、STMicroelectronicsが語るシリコンフォトニクス、HuaweiがイノベーションとIPフォーラム開催、6G SummitでFCCのコミッショナーが米国が6Gをリードすべしと語る(2025.11.12)
- トランジスタ技術2025年12月号 電波と回路のススメMHz~GHzを操る!を買った。GHzはアナデバのICを使った信号発生器(信号検出付きなのが面白い)のみだったが、マルチパス、高調波で周波数拡大、6.78MHzのワイヤレス給電、オシロでSDRなど話題も豊富で面白かった。(2025.11.11)
- 高周波・RFニュース 2025年11月10日 Qorvoらが参加する5G, 6Gオンラインパネル開催、SkyworksがBAWを使った高性能クロック発表、Nokiaベル研とKDDIが6Gで協業、次世代FWAのアンテナ設計解説(2025.11.10)
« 餃子の王将で8月限定の温玉中華カレーラーメン(フェアセットB)をいただく。 | トップページ | からやまで赤カリ合盛り定食をいただく。見かけほど辛くなくてピリ辛くらいで美味しいです。 »




コメント