« 2024年12月 | トップページ | 2025年2月 »

2025年1月

2025年1月31日 (金)

数理科学2025年1月号 原子核・ハドロン物理学の探究 “強い力”がもたらす物理の世界を買ってきた。QCDの歴史からカイラル量子異常、カラー閉じ込め、エキゾチックハドロン、中性子星など多くの話題が載ってます。格子QCDで核力計算できるのとElectron-Ion Colliderが面白かった。

学生時代、実はQCDを研究したかったが最終的に物性理論になったということでQCDにはいつも興味がある。

20250122-1654311

アマゾンリンク:https://amzn.to/40P8v6H

内容と一言感想。

・クォークから中性子星へ 初田哲男

 南部陽一郎さんはやっぱりすごい。

・原子核の発見から現代物理へ ~ 湯川理論,素粒子,物性,宇宙への拡がり ~ 福嶋健二

 QCDの歴史と、カイラル量子異常、磁気ヘリシティについてわかりやすく書かれてます。

・量子色力学~ 強い相互作用,カラー閉じ込め,カイラル対称性の自発的破れ ~日高義将

 漸近的自由性やカラー閉じ込め、エキゾチックハドロンの解説でこれもわかりやすい。

・核力研究~ 量子色力学に基づくハドロン間力の導出に向けて ~ 土井琢身

 格子QCDで核力が計算できるようになっているのか!(京や富岳を使って)

・エキゾチックハドロン研究の数理 兵藤哲雄

 エキゾチックハドロン、名前は聞くけど詳しく知らなかったので面白かった。

・原子核での魔法数 ~ その始まりからエキゾチック核研究の最前線へ ~吉田賢市

 エキゾチック原子核にも魔法数があるのか!

・原子核・ハドロン研究と中性子星 橘 基

 中性子星ともQCDが深く関わるのは面白い。カラー超伝導も。

・宇宙初期のビッグバンとクォーク・グルーオン・プラズマ 野中千穂

 QGPってもう実験で確認されていたのは知らなかった。

・核子構造研究の最前線 ~ 高エネルギー電子‒核子(電子‒原子核)反応の未来 ~ 八田佳孝

 EIC、期待したいな。特に核子の質量の起源や、スピン危機
コラム
・量子コンピュータと原子核構造 吉田聡太

 なるほど核子系を量子コンピュータで計算する話があるのか。

・ランダム行列と原子核 萩野浩一

 SYK模型とも関連するのか。

・カラー超伝導 飯田 圭

 上でも出てきたカラー超伝導についてより詳しい解説。・格子ゲージ理論の最前線 伊藤悦子

 2カラーQCDは全く知らなかった。

高周波・RFニュース 2025年1月31日 Silicon Labsが2種のBluetooth SoC発表、SV Microwaveが65GHzまで使える30°傾いた半田レスコネクタ、Infineonが2025年GaN予想、SiversがIntelsatのSATCOM向けにデジタイザ開発、ロームのTOLLパッケージのGaN

・Silicon Labsが2種のBluetooth SoC発表

Silicon Labs' BG22L and BG24L "Lite" SoCs Bring Application-Optimized Ultra-Low Power Bluetooth® Connectivity

202501311

・SV Microwaveが65GHzまで使える30°傾いた半田レスコネクタ

SV Microwave Introduces New 30° Solderless PCB Compression Mount Connectors up to 65 GHz

202501312

・Infineonが2025年GaN予想

Infineon 2025 predictions – Gallium Nitride (GaN) semiconductors: GaN to reach adoption tipping points in multiple industries, further driving energy efficiency

202501313

・ロームのTOLLパッケージのGaN

650V耐圧GaN HEMTに小型・高放熱のTOLLパッケージが登場!
車載向けGaNデバイスの量産に向けても開発を加速

202501314

・SiversがIntelsatのSATCOM向けにデジタイザ開発

Sivers Semiconductors Wins Intelsat SATCOM Digitizer Development Program Award



2025年1月30日 (木)

いつの間にかMicrosoft 365 Copilotが使えるようになった(1) 。まずはExcelで試す。Sパラメータで、周波数、S11実部、S21虚部、・・・と並んでいるデータが入ったシートでS11dB表示、S11位相表示に変えてもらった。このくらいならすぐにできるようだ。

いつの間にかMicrosoft 365 Copilotが使えるようになった。

とりあえずExcelで使ってみよう。使うのはSパラメータで、周波数、S11実部、S21虚部、・・・と並んだデータ。

Excelcopilot001

どういう関数を使えばいいかも教えてくれる。ただこれだけでは面倒。そこでその関数をそのまま表に代入してもらえる。

Excelcopilot002

おお、普通にdB表示と度単位の位相表示に変換してくれた。

Excelcopilot003

これはなかなか使えそう。別の事例やってみよう(続く)。

2025年1月29日 (水)

Interface 2025年3月号 仕事のための生成AI 画像による異常検出&ローカルLLM作りを買った。確かに外観検査で不良品の画像を大量に集めるのは難しいのでそれを生成AI(Stable Diffusion)で作れたらいいな。付録は共通テストでも出た情報Iに役立つプログラム入門。

Interfaceの今月号買ってきた。

20250129-110241

アマゾンリンク:https://amzn.to/4hxkhIh

画像の生成AIにはあまり興味がなかったけれど、こういう使い方(不良品の画像を生成AIで作る)ができるのは知らなかった。

どのくらい役立つかは未知数(分野によると思う。ものすごく厳しい分野はある)だけど面白いと思った。

目次は以下に。ものすごく内容が豊富。情報Iの学習に役立ちそうな付録もついてる。

 

続きを読む "Interface 2025年3月号 仕事のための生成AI 画像による異常検出&ローカルLLM作りを買った。確かに外観検査で不良品の画像を大量に集めるのは難しいのでそれを生成AI(Stable Diffusion)で作れたらいいな。付録は共通テストでも出た情報Iに役立つプログラム入門。" »

高周波・RFニュース 2025年1月29日 3GPPがワークプラン更新、Microchipがチップサイズの原子時計発表、QorvoのNTNとRF-FEM解説、EricssonがCognitive Labs開設、Nokiaのドローン記事、Nordicの新PMIC

・3GPPがワークプラン更新

The Work Plan

202501291

・Microchipがチップサイズの原子時計発表

Microchip Launches the Next Generation of its Low-Noise Chip-Scale Atomic Clock Featuring a Lower Profile Height of Less Than ½ Inch 

202501292

・Qualcomm Snapdragon 8 EliteがSamsung Galaxy S25に採用

Qualcomm and Samsung Redefine Premium Performance by Bringing the Most Powerful Mobile Platform to the Galaxy S25 Series Globally

202501293

・QorvoのNTNとRF-FEM解説

The Role of Beamforming and AESA Antennas in SATCOM Communications - Part 3

Navigating 5G Complexity: Understanding Power Class 2 In RF Front-End Design

202501294

・EricssonがCognitive Labs開設

Ericsson creates Cognitive Labs to boost open-source AI research

・Nokiaのドローン記事

Drones – it’s not a toy, it’s a tool

・Nordicの新PMIC

Nordic Semiconductor’s nPM2100 Power Management IC extends battery life of primary cell-powered Bluetooth Low Energy products

(追記)

・ETSIが6G多重アクセスのWG設置

ETSI Launches New Group on Multiple Access Techniques for 6G Networks

・Ericssonが5G FWAハンドブック公開

5G FWA: 8 key insights for 2025 and beyond

・6G World記事

6G Wireless Network Research: Paving the Way for the Next Frontier of Telecommunications

・Qorvoの決算

Qorvo Announces Fiscal 2025 Third Quarter Financial Results

ブロードコム、業界初の量子耐性ネットワーク暗号化

Broadcom Delivers Industry’s First Quantum Resistant Network Encryption, Enabling Real-time Ransomware Detection

2025年1月28日 (火)

UnityでVisual C#用の数値計算ライブラリMath.NET Numericsを使う(5) ルンゲクッタ法でローレンツ方程式を計算して、その軌道通りに球を3D画面で動かし、そこに軌跡が残るようにする。さらにカメラも回転させる。

さて今回はおなじみルンゲクッタ法でローレンツ方程式を解く。

↓をUnityに移植しよう。

 Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(5) 常微分方程式の数値解法、4段4次のルンゲクッタ法がRungeKutta.FourthOrderの一文でできる。ローレンツ方程式を例としてやってみる。

Sphereを作って、そこにこのコードをアタッチする。


using UnityEngine;
using MathNet.Numerics;
using MathNet.Numerics.OdeSolvers;
using MathNet.Numerics.LinearAlgebra;
using System;

public class MathNET05 : MonoBehaviour
{
    double[] t;
    Vector<double>[] x;
    int n;
    int flame;

    void Start()
    {
        double dt = 0.01;
        double tmax = 200.0;
        n = Convert.ToInt32(tmax / dt);
        flame = 1;

        t = Generate.LinearSpaced(n, 0.0, tmax);
        var x0 = Vector<double>.Build.DenseOfArray(new double[] { 1.0, 1.0, 1.0 });
        x = RungeKutta.FourthOrder(x0, 0.0, tmax, n, Lorenz);

    }



    void Update()
    {
        float dx = (float)x[flame][0] - (float)x[flame - 1][0];
        float dy = (float)x[flame][1] - (float)x[flame - 1][1];
        float dz = (float)x[flame][2] - (float)x[flame - 1][2];
        transform.Translate(dx, dy, dz);
        if (flame > n)
        {
            flame = 1;
        } else {
            flame += 1;
        }


    }

    Vector<double> Lorenz(double t, Vector<double> x)
    {
        double s = 10.0, r = 28.0, b = 8.0 / 3.0;

        double x_dot = s * (x[1] - x[0]);
        double y_dot = r * x[0] - x[1] - x[0] * x[2];
        double z_dot = x[0] * x[1] - b * x[2];

        return Vector<double>.Build.DenseOfArray(new double[] { x_dot, y_dot, z_dot });
    }
}

そこにTrail Rendererで軌跡を加える。だんだん消えるようにする。そうしてできたものは…

そう、こういうのがやりたくてUnity触っていたのだった。

さらにカメラを回転させると?

さすがUnity、こんなことが簡単にできる。

2025年1月27日 (月)

UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(4) 高速フーリエ変換(FFT)をしながらそのグラフを3D空間で動かす。

さて今回はFFT編。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(3) 高速フーリエ変換(FFT)を実行する。FourierOptionsにMatlabとNumerical Recipesがあるのが意外。 

を基にやってみる。ただ画面に表示するだけでは面白くない。せっかくUnity使っているのでそのグラフを動かしてみよう。

UnityはObjectはものすごく簡単に動かせるが、今回使うLineRendererはだめらしい…では泥臭いがアップデートするたびに計算し直す。

フレーム内で計算が終わるかの確認にもなる。メインカメラの方もちょっと回してます。

コードはこんな感じで。


using MathNet.Numerics.IntegralTransforms;
using System.Numerics;
using System;
using UnityEngine;
using Vector3 = UnityEngine.Vector3;

public class MathNET04 : MonoBehaviour
{
    LineRenderer realLine;
    LineRenderer imagLine;
    int n;
    float z, span, delta;

    void Start()
    {
     
        // 実部用
        GameObject RealObject = GameObject.Find("RealLine");
        realLine = RealObject.GetComponent<LineRenderer>();
        // 虚部用
        GameObject ImagObject= GameObject.Find("ImagLine");
        imagLine = ImagObject.GetComponent<LineRenderer>();

        n = 256;
        z = 0;
        span  =0.1f;
        delta = 0;
        realLine.positionCount = n;
        realLine.widthMultiplier = 0.02f;
        realLine.startColor = Color.blue;
        realLine.endColor = Color.blue;

        imagLine.positionCount = n;
        imagLine.widthMultiplier = 0.02f;
        imagLine.startColor = Color.red;
        imagLine.endColor = Color.red;

       

    }

    private void Update()
    {
        delta += Time.deltaTime;
        if (delta > span)
        {
            Vector3[] realPoints = new Vector3[n];
            Vector3[] imagPoints = new Vector3[n];

            double[] t = new double[n];
            Complex[] y = new Complex[n];
            Complex imag = Complex.ImaginaryOne;

            for (int i = 0; i < t.Length; i++)
            {
                t[i] = Convert.ToDouble(i);
                y[i] = Math.Sin(t[i]);
            }

            Fourier.Forward(y, FourierOptions.Matlab);

            double[] freq = Fourier.FrequencyScale(256, 1.0);

            for (int i = 0; i < freq.Length; i++)
            {
                realPoints[i] = new Vector3((float)freq[i], (float)y[i].Real / 200f, MathF.Sin(z));
                imagPoints[i] = new Vector3((float)freq[i], (float)y[i].Imaginary / 200f, MathF.Sin(z));

            }

            realLine.SetPositions(realPoints);
            imagLine.SetPositions(imagPoints);
            z += 0.1f;
            if (z >= MathF.PI) z = 0f;
            delta = 0;
        }
    }

}

実行結果:

静止画

Unitymathfft

動画

なかなかシュール。では次行ってみよう(続く)。

 

2025年1月26日 (日)

パンダエクスプレス りんくうプレミアムアウトレット店でビッグプレート(オレンジチキン、クンパオチキン、モンゴリアンポーク)をいただく。アメリカに住んでいた時、オレンジチキンにハマって月2くらいで通っていた。

りんくうプレミアムアウトレットに行くと必ずここに立ち寄る。3種類選べるビッグプレートにした。

チャオメンとフライドライスのハーフ&ハーフで。

20250122-110959

とにかくこのオレンジチキンが好きで、アメリカにいるときはよく通っていた。日本に帰ってきて、ラゾーナ川崎プラザにあると知ったらわざわざ行ったこともある。関西にあることを知って喜んだ。

フォーチュンクッキーももちろんついてくる。

20250122-112423

中はこれでした。

20250122-112506

 

2025年1月25日 (土)

吉野家で期間限定の肉だく牛魯珈カレーをいただく。香りからして今までの吉野家のカレーと全然違う。辛くはないがスパイスの感じが半端ない。これは美味しかった。

吉野家のカレーはあんまり食べないのだが、人気の専門店(SPICY CURRY 魯珈)が監修ということで注文。

もう香りからして全然違う。スパイスがたっぷり入っているのがよくわかる。

20250118-132441

ポテトサラダもつけた。

20250118-132436

スパイス感はものすごく強いが、そこまで辛くないので誰でも食べられそう。これは美味しかった。

2025年1月24日 (金)

歌川国芳展 ―奇才絵師の魔力@大阪中之島美術館へ行ってきた。今にも動き出しそうなかっこいいものから、恐ろしい怪物、かわいい動物(特に猫)やその擬人化、見て笑えるもの、複数の人間で顔を表現したものなど一人の人間が生み出したとは思えないほどバラエティーに富んでる。

久しぶりに大阪中之島美術館へ。歌川国芳展を観に来たのだ。

20250121-123104 20250121-123452

入口に巨大な髑髏が。

20250121-123518

5点のみ写真撮影可でした。

金太郎。

20250121-124058

一番好きな作品。

20250121-124344

風景。

20250121-130627

そして人間複数で顔をつくったもの。

20250121-131604

そして猫。

20250121-131550

たくさんの作品があったが、よかったのはうちわの裏と表で、影絵とそれをやってる猫というものや動物たちの擬人化など。

もちろん武者絵もかっこいいものばかり。いま「べらぼう」でやってる花魁も。

日本のコミック・アニメ文化はこういう系譜で生まれたんだろうな。

 

 

 

 

 

 

 

2025年1月23日 (木)

UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(3) 3D画面に補間(Interpolate) を行って表示する。リニア、3次スプライン、有理関数などいろいろ使える。

今回は

 Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。

でやったことをUnityでもやってみる。

計算部分は同じだが、線を引くのはLineRendererを使い、点を打つのはSphereのPrefabを使っている。なのでこっちの方が簡単。

コードはこんな感じ。MathNET.numericsは倍精度しかないメソッドが多いがUnityは単精度なので線を描くときに明示的に変換している。


using UnityEngine;
using MathNet.Numerics;
using System;

public class MathNET : MonoBehaviour
{
    public GameObject PointsPrefab;


    void Start()
    {
        // 有理関数補間用
        GameObject linesObject = GameObject.Find("Lines");
        LineRenderer lines = linesObject.GetComponent<LineRenderer>();
        // 線形補間用
        GameObject linesObject2 = GameObject.Find("Lines2");
        LineRenderer lines2 = linesObject2.GetComponent<LineRenderer>();

        int n = 50,  // 補間後
            m = 10; // 元々の点数
        Vector3[] points = new Vector3[n];
        Vector3[] points2 = new Vector3[n];

        lines.positionCount = n;    
        lines.widthMultiplier = 0.02f;
        lines.startColor = Color.blue;
        lines.endColor = Color.blue;

        lines2.positionCount = n;
        lines2.widthMultiplier = 0.02f;
        lines2.startColor = Color.red;
        lines2.endColor = Color.red;


        double[] x = Generate.LinearSpaced(m, 0.0, 2.0 * Math.PI);
        double[] y = Generate.Map(x, Math.Sin);
        var InterpFunction = Interpolate.RationalWithoutPoles(x, y);
        var InterpFunction2 = Interpolate.Linear(x, y);

        double[] xval = Generate.LinearSpaced(n, 0.0, 2.0 * Math.PI);
        double[] yinterp = new double[xval.Length];
        double[] yinterp2 = new double[xval.Length];
        for (int i = 0; i < xval.Length; i++)
        {
            yinterp[i] = InterpFunction.Interpolate(xval[i]);
            yinterp2[i] = InterpFunction2.Interpolate(xval[i]);
            points[i] = new Vector3((float)xval[i], (float)yinterp[i], 0);
            points2[i] = new Vector3((float)xval[i], (float)yinterp2[i], 0);
           
        }

        for (int i = 0; i < m; i++) {
            GameObject originalpoint = Instantiate(PointsPrefab);
            originalpoint.transform.position = new Vector3((float)x[i], (float)y[i], 0);
        }

        lines.SetPositions(points);
        lines2.SetPositions(points2);

       
    }

}

 

結果はこちら。なかなかシュールな絵柄。

Unitymathinterpolate

高周波・RFニュース 2025年1月23日 5G Americasの新ホワイトペーパー「AI時代のセルラーネットワークの信頼性とセキュリティ」、KyoceraAVXの新薄膜フィルタ、TDKの車載/一般用C0G特性1,250V 3225サイズMLCC、Semtechの5G LPWAモジュール

・5G Americasの新ホワイトペーパー「AI時代のセルラーネットワークの信頼性とセキュリティ」

Advances in Trust and Security in Wireless Cellular Networks in the Age of AI

202501231

 

・KyoceraAVXの新薄膜フィルタ

KYOCERA AVX Releases Two New Series of Small, High-Power, Thin-Film Band-Pass Filters

202501232

 

・TDKの車載/一般用C0G特性1,250V 3225サイズMLCC

積層セラミックコンデンサ: 車載/一般用C0G特性1,250V品3225サイズで業界最大静電容量の積層セラミックコンデンサの開発と量産

202501233

・Semtechの5G LPWAモジュール

Semtech’s HL7900 5G LPWA Module Certified by Leading U.S. Carriers

202501234

2025年1月22日 (水)

PHPの数値計算ライブラリmathPHPを使う(4) 線形回帰とミカエリス・センテン式のフィッティングを行う。

今回は回帰。線形回帰はいいとして、ミカエリス・センテン式のフィッティングも用意されているのが面白い。

コードはこちら。


<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\Statistics\Regression;

mt_srand(1);

function f($x)
{  
    $k = (2 + 0.01 * (mt_rand()/mt_getrandmax() * 2.0 - 1.0));
    $m = (5 + 0.01 * (mt_rand()/mt_getrandmax() * 2.0 - 1.0));
    return $k * $x + $m;
}
$points = [];
for ($i = 0; $i < 10; $i++) {
    $x = $i;
    $y = f($x);
    $points[$i] = [$x, $y];
}

$regression = new Regression\Linear($points);
$parameters = $regression->getParameters();          
$equation   = $regression->getEquation();

print_r($parameters);
echo $equation, "\n";

$points =  [ [.038, .05], [.194, .127], [.425, .094], [.626, .2122], [1.253, .2729], [2.5, .2665], [3.740, .3317] ];
$regression = new Regression\LineweaverBurk($points);
$parameters = $regression->getParameters();          
$equation   = $regression->getEquation();

print_r($parameters);
echo $equation, "\n";

結果は、

Array
(
    [m] => 1.9988628995347
    [b] => 4.9916476076798
)
y = 1.998863x + 4.991648
Array
(
    [V] => 0.22290351141792
    [K] => 0.13447224020933
)
y = 0.222904x/(0.134472+x)
となった。パラメータだけじゃなくて式も出てくるのが面白い。

 

高周波・RFニュース 2025年1月22日 everythingRFマガジンにMarkiの宇宙向けミリ波部品の記事、NordicのRF52810を使った太陽電池で動き暗闇でも3週間持つアセットトトラッカー、KnowlessのMRIの技術解説記事、Broadcomの3.5Dパッケージング解説

・everythingRFマガジンにMarkiの宇宙向けミリ波部品の記事

NIの計測器記事やCopperMountainのネットアナ解説、KyoceraAVXの埋め込みキャパシタの話も。

https://www.everythingrf.com/digital-magazines

202501221

・NordicのRF52810を使った太陽電池で動き暗闇でも3週間持つアセットトラッカー

Nordic Bluetooth LE solar-powered asset tracker can operate for up to three weeks in total darkness

202501222

・KnowlessのMRIの技術解説記事

The Science And Engineering Of Advanced MRI Machines

202501223

・Broadcomの3.5Dパッケージング解説

Broadcom Bets on 3.5D Packaging Technology to Build Bigger AI Chips

202501224

 

 

2025年1月21日 (火)

UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(2) 3D画面に複素行列を定義して一次方程式や逆行列、行列式などを計算する。

さて前回はNuGetForUnityを使ってMathNET.numericsをUnityにimportするところまでやった。

今回はこれをUnityに移植する。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(1) 複素行列を定義して一次方程式や逆行列、行列式などを計算する。 

TMProを使って3D画面に直接計算結果を表示する(何の意味があるのか…)。

コードは

Unitymath21


using UnityEngine;
using TMPro;
using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics;

public class Matrix : MonoBehaviour
{
    GameObject sol;
    GameObject det;
    GameObject inv;

    void Start()
    {

            sol = GameObject.Find("Sol");
            det = GameObject.Find("Det");
            inv = GameObject.Find("Inv");

            var A = Matrix<Complex32>.Build.DenseOfArray(new Complex32[,]
              {
                  { 2.0f, 1.0f, 1.0f},
                  { -1.0f, 1.0f, -1.0f},
                  { 1.0f, 2.0f, 3.0f}
               }
             );

              var b = MathNet.Numerics.LinearAlgebra.Vector<Complex32>.Build.DenseOfArray(new Complex32[]
                         {2.0f, 3.0f, -10.0f});

              var x = A.Solve(b);

              sol.GetComponent<TextMeshProUGUI>().text = "Solution=\n" + x.ToString();
              det.GetComponent<TextMeshProUGUI>().text = "Determinant=\n" + A.Determinant().ToString();
              inv.GetComponent<TextMeshProUGUI>().text = "Inverse=\n" + A.Inverse().ToString();
        }


}

 

で実行結果。ちゃんと計算できている。

Unitymath22

本当にやりたいことはこういうことではないのだが、まずはUnityに慣れたいということでしばらくシリーズ続ける予定。

2025年1月20日 (月)

高周波・RFニュース 2025年1月20日 Microwave JournalでメタマテリアルとXerox PARC、IEEE Journal of MicrowavesでIBMとフジクラのミリ波256素子フェースドアレイアンテナ、TDKのC0Gコンデンサ解説、u-bloxの車載Wi-Fi 7モジュール、TMYTEK が台北で上場、NokiaのQuantum 2.0

・Microwave JournalでメタマテリアルとXerox PARC
今月号はレーダとアンテナ特集。だがメタマテリアルの記事が面白かった。アンテナ設計とAIも。

https://www.microwavejournal.com/publications/1

202501201

・IEEE Journal of MicrowavesでIBMとフジクラのミリ波256素子フェースドアレイアンテナ

https://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=9171629

202501202

・TDKのC0Gコンデンサ解説

高電圧対応!車載OBCの高出力化と小型化を支える共振回路用C0G特性コンデンサ

202501203

・u-bloxの車載Wi-Fi 7モジュール

Introducing RUBY-W2: u-blox's first Wi-Fi 7 module for superior Apple® CarPlay and Android® Auto user experience.

202501204

・TMYTEK が台北で上場

MYTEK Debuts on the Taipei Exchange (TPEX) with a Market Cap of $112 Million

・NokiaのQuantum 2.0

Quantum 2.0 is here

2025年1月19日 (日)

2025年共通テスト 情報Iに出てきた日本語プログラミング言語の問題をPythonに直すDNCL2Pythonを作ったので問題を解いて計算する。ただ、事前の例題では配列が0始まりなのを本番では1始まりに変えてきたのでプログラムも修正。

2025年共通テストの問題文が公開されていた。

https://kaisoku.kawai-juku.ac.jp/nyushi/kyotsutest/25/

で以前、

令和7年度大学入学共通テスト「情報」に出てくる日本語プログラム言語をPythonに直して実行するDNCL2Pythonを作った(1)。日本語プログラム言語はほぼPythonなので、reモジュールを使って正規表現で置換しているだけ。defとappendは仕様に付け加えておいた。

を作ったので早速やってみた。

ただ過去に公開されていた概要では配列が0始まり。本番は1始まりになっていた。そこで配列があったら最初に[None,を付けて1つずらすことにした。上のリンクに追加しておいた。

 

でまずは図4のプログラム。

Dncl1

これを変換して実行。ちゃんとあってる。

Dncl2

次は図5のプログラム。

Dncl3

変換するとこうなって結果もあってそう。

Dncl4

かつやでトリプルカツ丼 ヘビーをいただく。豚(とんかつ)、牛(牛丼)、鶏(チキン南蛮)が一つの丼に乗ったもの。食べているうちに脳がバグる…美味しいけど。タルタルがたっぷりなのでどうしても他の具材にもついてしまうので定食の方がいいかもしれない。

もう男子高校生が考えたとしか思えないトリプルカツ丼をいただいた。

20250113-113826

個人的にはトリプルカツなんだから全部カツにしたほうがいいんじゃ…と思うがまあこれはこれで。

牛丼があんまり存在感ないな、と思うがその分チキン南蛮のタルタルの存在感がすごい。

私は混ざっても気にしないが、混ざるのが嫌な方は定食の方がいいかも。

 

2025年1月18日 (土)

塚口神社でお参り。

実は正月の間にも行ったのだが、めちゃくちゃ人が多くて断念。今行ったらがらがらだった。

20250113-121126

20250113-121133

20250113-121220

20250113-121235

 

2025年1月17日 (金)

機動戦士Gundam GQuuuuuuX(ジークアクス)-Beginning-をIMAXで観てきた。開始数秒で「え!マジか!」「やりやがった!」となる絶対ネタバレだめな映画で早く観に行った方がいいです。予告編の考察も観ない方がいい。とにかくストーリーもガンダムの動きもすごいです。

IMAXで観るのが推奨のようなので109シネマズ大阪expocityまで。

20250117-120238

おまけのカード、封を切ると完全ネタバレでした。

20250117-155243

開始数秒で、え?これって…まさか…となりとにかく驚きの連続。ネタバレしないように何にも書かない。

でも謎だらけのまま終わったので本放送が楽しみ。

では全くネタバレじゃないところだけ。

合言葉はミハルのときにつかったもの。

https://heartstrings-on.net/g-my-matome/zenwa/g27/

米津玄師さんのPlazma最高によかったが、他の2組もよかった。

 

2025年1月16日 (木)

「トライロバレット」(佐藤究さん)を読んだ。すごかった。三葉虫に魅せられた高校生がいじめの標的にされ、一方、戦争帰りの金物屋の店主は高校の上を軍用ヘリが飛んでいるという幻聴に悩まされ…一体これがどうつながるのか?と思ったら帯通り「少年は、変身した。」ヒーローに。

佐藤究さんの作品ではAnk:a mirroring apeが一番好き。しかしこのトライロバレットもめちゃ面白かった。

20250113-172750

アマゾンリンク:

https://amzn.to/4gSK3a8

あらすじは「バーナム・クロネッカーはアメリカ合衆国ユタ州のウィットロー高校に通う17歳の少年。彼は8歳のとき三葉虫に魅せられ、今ではその化石を熱心に集めつつ、静かな高校生活を送っている。そんなバーナムへのいやがらせが、ある日突然にはじまった。ロッカーの扉を接着され、頭にジャガイモをぶつけられる。体育会系の人気者コール・アボットのしわざだった。バーナムは、コールの行為を〈攻撃〉と呼ぶ謎めいた同級生、タキオ・グリーンと友人になる。そのときすでに、バーナムを驚愕の事件へといざなう運命の歯車は回りだしていた……

というもの。

クロネッカーはクロネッカーのデルタとは関係ない、と作中でも出てくる。

とにかくバーナムが嫌がらせを受けるシーンが凄惨。同じくいじめを受けていたアキオと親しくなることだけが救い(だが最後に想像もしていなかった真実が明かされる)。

戦争から帰ってきた金物屋の主人が高校を襲うんだろうなというのは目次からわかるのだが(エピソード1:超三葉虫仮説、エピソード2:ウィットロー高校銃乱射事件)、いったいこれと三葉虫、バーナム、アキオがどう関係してくるのか全く途中までわからない。

そして帯通り変身するのだがこれも想像してない形だった。ラストも。

これはすごいです。薄いのですぐ読めるのでお勧め。

 

2025年1月15日 (水)

PHPの数値計算ライブラリmathPHPを使う(3)数値積分を行う。台形則、シンプソンの公式、シンプソン3/8の公式、ブールの公式が使える。

今回は数値積分。これは簡単にこんな感じで。PHP、unicodeが変数名に使えるので$∫f⟮x⟯dxとかできる。


<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\NumericalAnalysis\NumericalIntegration;

$f⟮x⟯ = function ($x) {
    return 4 / (1 + $x * $x);
};

$∫f⟮x⟯dx = NumericalIntegration\TrapezoidalRule::approximate($f⟮x⟯, 0, 1, 101);
echo "Trapezoidal: ".$∫f⟮x⟯dx."\n";

$∫f⟮x⟯dx = NumericalIntegration\SimpsonsRule::approximate($f⟮x⟯, 0, 1, 101);
echo "Simpson    : ".$∫f⟮x⟯dx."\n";

$∫f⟮x⟯dx = NumericalIntegration\SimpsonsRule::approximate($f⟮x⟯, 0, 1, 101);
echo "Simpson3/8 : ".$∫f⟮x⟯dx."\n";

$∫f⟮x⟯dx = NumericalIntegration\BoolesRule::approximate($f⟮x⟯, 0, 1, 101);
echo "Boole      : ".$∫f⟮x⟯dx."\n";

結果はこうなった。

Trapezoidal: 3.1415759869231
Simpson    : 3.1415926535901
Simpson3/8 : 3.1415926535901
Boole      : 3.14159265049
シンプソン3/8が一番Πに近いな。Booleの方がいいのかな?と思ってたので意外。

2025年1月14日 (火)

UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(1) まずはNuGetForUnityを使ってインストール。2Dゲーム画面に連立方程式を解いた結果を表示。

Visual C#用の数値計算ライブラリMath.NET numericsを使っていろいろ計算するシリーズを過去にやっていた。

https://numerics.mathdotnet.com/

https://sci.tea-nifty.com/blog/2024/09/post-88d00e.html

最近、Unityを使い始めたのだがそのスクリプト言語はC#で、Visual Studio 2022でコードを書く。

じゃあ普通にNuGetをVisual Studioから使ったらインストールできるんじゃ?とやってみたが、Visual Studio側からはエラーがでないがUnityに戻るとエラー。dllを直接Assetsに置く方法もあるが、ちょっといまいち。

そこでNuGetを直接Unityから使う方法はないかな?と探すとこれがあった。

NuGetForUnity

https://github.com/GlitchEnzo/NuGetForUnity

なるほど、これは使えそうだ。

インストールは.unitypackage fileを ダウンロードして、右クリックでUnityで実行とすると、Unity 6ではまずUnity Hubが立ち上がってインストールされない。何かプロジェクトを作ったら、Import画面が出てくるので下の方にあるImportを押すとインストールされて、UnityのメニューにNuGetが現れる。そこでManage NuGet Packagesを選んでmathで検索すると、

Unitymath0001

あった。これでインストールできる。

インストールしたらあとは普通に使える。例題は公式サイトの連立方程式の計算にしよう。ただ本家は倍精度だが、ゲームでそこまでいらないので単精度にした。

C#側のプログラムはこんな感じで、

Unitymath0002

Unityは2D設定でTMProに字を書くことにするとこうなった。

Unitymath0003

おお、普通に計算出来ているぞ。これは使えそう(続く)。

 

2025年1月13日 (月)

高周波・RFニュース 2025年1月13日 IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波、Siversがミリ波ビームフォーマー開発を受注、バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル、HoneywellとNXPが航空機技術で提携

・IEEE Microwave Magazineの特集はニューラルネットワークとマイクロ波

https://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6668

202501131

・Siversがミリ波ビームフォーマー開発を受注

Sivers Semiconductors Wins a Major Chip Development Program with Leading Tier-1 Telecom Infrastructure Vendor

・バイデン・ハリス政権が ワイヤレス革命に1億 1,700 万ドル

Biden-Harris Administration Awards $117 M For Wireless Innovation

・HoneywellとNXPが航空機技術で提携

Honeywell and NXP Expand Partnership to Accelerate Next-generation Aviation Technology

 

 

2025年1月12日 (日)

松屋で水煮牛肉~四川風牛肉唐辛子煮込み~をいただく。以前、店舗限定で出ていた時も食べて、容赦ない辛さに驚いたが、全国展開するときは抑える…と思いきやほとんど変わらない辛さ。これはデフォルトでのチェーン店のメニューでは史上最高の辛さで辛い物好きにはたまらない。

以前、店舗限定で出ていた時に食べて、え?チェーン店でこんな辛い物だすの?と驚いた。

私は辛い物好きなのでまたでないかなと思っていたら全国展開になっていたのでまたいただいた。

20250109-133242

20250109-133245

少しはマイルドになっているのではと想像していたが、そんなことはなかった!ほとんど変わらない辛さ。

食べてると汗が出てくる。しかし辛い物好きな私には最高。期間中にまた食べに来るかも。

2025年1月11日 (土)

映画「ビーキーパー」を観てきた。もう負ける気が一切しない無敵のジェイソン・ステイサムが、お年寄りをだます詐欺集団に恩人を死に追いやられ、復讐のために連中をぼこぼこにする痛快なお話。殺し方がなかなかエグイがPG-12にレイティングされてます。

本当に負ける要素が全くない強すぎるジェイソン・ステイサム。最後に一応ピンチらしいピンチはあるがまあ圧勝。

ちょっとコマンドーを思い出した。

20250109-111148

20250109-111222

1人で複数人相手に銃も使わずに叩きのめしていく姿は痛快。そして最初の敵の拠点に対する攻撃が凄まじい。確かにキレたら終わりだ。

そして後任のビーキーパーの噛ませ犬っぽさが半端ない…(指を…)特殊部隊もSWATもばんばん叩きのめす(一応、警察組織関係者はできるだけ殺さないようにはしてたが、もう最後の方は全員ぶち殺していたような…)。

まあストーリーは恩人が詐欺組織に騙され全財産を失ったことで自殺し、それに怒ったジェイソンステイサムが一人で戦いを挑む、ということであってないようなもの。とにかくアクションと悪人がやられるのがスカッとする映画。

 

2025年1月10日 (金)

Pascalの開発者ヴィルトさんがお亡くなりになったということで、そういやDelphiってどうなってる?と思って調べると、もはやボーランドではなくEmbacardero社が販売していて、しかも無償のDelphi 12 Community Editionがある。早速インストールして試す。

この記事を見た。

【訃報】プログラミング言語「Pascal」の開発者ニクラウス・ヴィルト氏が89歳で死去、ソフトウェア設計のパイオニアとして複数のプログラミング言語を考案し1984年にチューリング賞を受賞

Pascalは学生時代にちょっとだけかじった…というかWindows用のボーランドのDelphiをちょっとだけいじったことがある。

Delphiって今どうなっているのか?と思ったら

https://ja.wikipedia.org/wiki/Delphi

ものすごく数奇な運命をたどっているなあ。でもまだ存在している。EmbacarderoのサイトからDelphi 12 Community Editionがダウンロードできる。

https://www.embarcadero.com/jp/products/delphi/starter/free-download

ライセンスとって早速インストール。でも完全に忘れてるな…まあボタン押すと1から入力した数の和を取るくらいなら。

これ。

Delphi1

次はコンソールアプリでFizzBuzz。

Delphi2

今、こういうかっちりした言語は逆に新鮮。時間があったらいじってみたい。

そういやこういう記事を思い出した。

本物のプログラマはPascalを使わない

https://ja.wikipedia.org/wiki/%E6%9C%AC%E7%89%A9%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AFPascal%E3%82%92%E4%BD%BF%E3%82%8F%E3%81%AA%E3%81%84

2025年1月 9日 (木)

高周波・RFニュース 2025年1月9日 CES2025に合わせて各社プレスリリース、特にQualcomm、NVIDIA、INTELが大量。SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説、TIのAI搭載60GHz車内レーダ、MarvellのCPO、Qorvoの車載UWB SoC、TDKのセンサがAI白杖に採用

・CES2025に合わせて各社プレスリリース

Qualcomm

https://www.qualcomm.com/news

202501091

・NVIDIA

https://nvidianews.nvidia.com/news

202501092

Intel

https://www.intel.com/content/www/us/en/newsroom/home.html#gs.j1xt16

AMD

https://ir.amd.com/news-events/press-releases

 

・SEMCOのC0G MLCC (1210 inch, 22nF, 1000V)解説
https://www.samsungsem.com/global/newsroom/news/view.do?id=8802&page=1

202501094

 

・TIのAI搭載60GHz車内レーダ

New edge AI-enabled radar sensor and automotive audio processors from TI empower automakers to reimagine in-cabin experiences

202501093

・MarvellのCPO

Marvell Announces Breakthrough Co-Packaged Optics Architecture for Custom AI Accelerators

・Qorvoの車載UWB SoC

Qorvo Automotive-Qualified UWB SoC Drives Innovation with Configurable Software

・TDKのセンサがAI白杖に採用

移動の可能性を広げるAIスマート白杖にTDKの先端デバイスを搭載

西宮神社でお参り、そして大マグロにお賽銭を貼ろうとしたがもう全身貼られていて断念した。

1/9より十日えびす、1/10には福男選びがある西宮神社ですが、ニュースを観ていたら面白いものがあったので前日に行ってきた。

20250108-144243

20250108-144431

20250108-144519

これです。大マグロにお賽銭を貼り付けると福が来るという。ただ、もうお賽銭だらけで貼るところがなく断念…

20250108-144736

20250108-145222

 

2025年1月 8日 (水)

PHPの数値計算ライブラリmathPHPを使う(2)複素数、クォータニオン(四元数)、有理数も使える。有理数が⁵/₆みたいな出力になるのが面白い。

1回目は行列を扱った。今回は複素数、クォータニオン(四元数)、有理数を試してみる。

まずは複素数の四則演算とベキ。残念ながらsinやlog, expはないようだ。


<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\Number\Complex;
//複素数
$z1 = new Complex(1, 2);
$z2 = new Complex(3, 4);

$z3 = $z1->add($z2);
$z4 = $z1->subtract($z2);
$z5 = $z1->multiply($z2);
$z6 = $z1->divide(($z2));
$z7 = $z1->pow($z2);
print("z1 + z3 = $z3\n");
print("z1 - z3 = $z4\n");
print("z1 * z3 = $z5\n");
print("z1 / z3 = $z6\n");
print("z1 ^ z3 = $z7\n");
z1 + z3 = 4 + 6i
z1 - z3 = -2 - 2i
z1 * z3 = -5 + 10i
z1 / z3 = 0.44 + 0.08i
z1 ^ z3 = 0.12900959407447 + 0.03392409290517i
と出た。

次はクォータニオン。この例題を使った。

https://manabitimes.jp/math/983


<?php
require_once __DIR__ . '/vendor/autoload.php';
Use MathPHP\Number\Quaternion;
//クォータニオン(r, x, y, z)の順
$q = new Quaternion(0, 1/sqrt(2), 1/sqrt(2), 0);
$a = new Quaternion(0, 3, 0, 0); // A=3i
$b = $q->multiply($a->multiply($q->complexConjugate()));
print("$b\n");

3jと出た。

次は有理数。面白い出力になる。


<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\Number\Rational;
//有理数
$r1 = new Rational(0, 1, 2);
$r2 = new Rational(0, 1, 3);

$r3 = $r1->add($r2);
$r4 = $r1->subtract($r2);
$r5 = $r1->multiply($r2);
$r6 = $r1->divide($r2);
print("r1 + r2 = $r3\n");
print("r1 - r2 = $r4\n");
print("r1 * r2 = $r5\n");
print("r1 / r2 = $r6\n");
r1 + r2 = ⁵/₆
r1 - r2 = ¹/₆
r1 * r2 = ¹/₆
r1 / r2 = 1 ¹/₂

⁵/₆とか面白いな。さて次は(続く)。

 

 

2025年1月 7日 (火)

宝塚を久しぶりにぶらぶら歩く。阪急宝塚駅前の像から宝塚大劇場、手塚治虫記念館、宝塚音楽学校、花の道などを通りかかる。

阪急宝塚駅を降りるとこの像があります。

20241110-121629

宝塚大劇場

20241110-123458 20241110-124031

手塚治虫記念館。

20241110-123635

宝塚音楽学校。

20241110-123732

そして花の道。

20241110-123819

20241110-123855 20241110-123933 20241110-123953 20241110-124108

大昔からある焼きもち屋さんがいまもある(ただしパン屋併設)のにびっくりした。

2025年1月 6日 (月)

PHPの数値計算ライブラリmathPHPを使う(1)まずは行列計算。連立方程式、逆行列、行列式はもちろん、LU分解、QR分解、コレスキー分解なども簡単にできる。

過去にVisual C#用の数値計算ライブラリMath.NET numericsやJavaScript用の数値計算ライブラリmath.jsを使って遊んでみたが

今回はPHPの数値計算ライブラリ、mathPHPを使ってみる。

https://github.com/markrogoyski/math-php

インストールは書いてある通りにすればすぐできた。機能かなり充実している。ではまずは連立方程式、逆行列、行列式を計算してみよう。

事例はJavaScriptのときに使ったもの。


<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\LinearAlgebra\MatrixFactory;
use MathPHP\LinearAlgebra\Vector;

$m = [
       [ 2, 1,  1],
       [-1, 1, -1],
       [ 1, 2,  3]
    ];
$A = MatrixFactory::create($m);
$b = new Vector([2, 3, -10]);
$x = $A->solve($b);
$A_inv = $A->inverse();
$detA = $A->det();
print("x = $x\n");
print("A⁻¹ = $A_inv\n");
print("det(A) = $detA\n");

結果は

x = [3, 1, -5]
A⁻¹ = [0.55555555555556, -0.11111111111111, -0.22222222222222]
[0.22222222222222, 0.55555555555556, 0.11111111111111]
[-0.33333333333333, -0.33333333333333, 0.33333333333333]
det(A) = 9
となって一瞬で計算できた。めっちゃ簡単。
行列の分解もLU分解(とCrout分解)、QR分解、コレスキー分解、特異値分解(SVD、これは別の記事で書く)などが簡単にできる。
QR分解やってみよう。Wikipediaに出てた例題を使う。

<?php
require_once __DIR__ . '/vendor/autoload.php';
use MathPHP\LinearAlgebra\MatrixFactory;

$A = MatrixFactory::create([[12, -51, 4],
                            [6, 167, -68],
                            [-4, 24, -41],
                            ]);
$QR = $A->qrDecomposition();
$Q = $QR->Q;
$R = $QR->R;

print("Q = $Q\n");
print("R = $R\n");
Q = [-0.85714285714286, 0.39428571428571, 0.33142857142857]
[-0.42857142857143, -0.90285714285714, -0.034285714285714]
[0.28571428571429, -0.17142857142857, 0.94285714285714]
R = [-14, -21, 14]
[5.5169544146758E-17, -175, 70]
[6.1489275210009E-18, -3.5527136788005E-15, -35]
となってこれも簡単に計算できた。
ちょっといろいろ使ってみよう(続く)。

2025年1月 5日 (日)

2025年のマグロの初競り価格は2億700万円。ということで1999年からの価格推移をリニアスケールとログスケールでプロット。

毎年やっているシリーズ。

今年は2億700万円で歴代2位だったそうだ。

豊洲市場で初競り 大間のクロマグロが最高値 2億700万円

ということで1999年からの推移をプロットした。

リニア

Maguro2025linear

ログ

Maguro2025log

歴代2位か。しかし2019年の価格は異常だったな。

松屋で3種ソースのグラタンハンバーグ定食をいただく。ものすごく伸びるチーズと濃厚なソースでとてもご飯に合う味。ただすごいカロリー…

 

ご飯は特盛にしました。

20241229-120409

とにかく濃厚なソースとハンバーグがよく合う。チーズもよく伸びる。特盛ご飯がすぐ枯渇。

でもカロリーが心配…

20241229-120412

 

2025年1月 4日 (土)

伊勢の猿田彦神社でお参り2025。あれ?佐瑠女神社がなくなってる? 御造営(改修工事)の最中でした。

伊勢神宮でお参りしたあとは猿田彦神社へ。

20241217-142640

 

20241217-142648

あれ?さるめ神社がない?

20241217-142829

猿田彦神社の隣に…

20241217-142707

御造営(改修工事)とのことでした。

20241217-142755

さざれ石を見るのも毎年やっている。

20241217-142810

2025年1月 3日 (金)

伊勢神宮でお参り2025(外宮から次は内宮へ。ものすごい数の学生(修学旅行?)がいた)

さて外宮の次は内宮。実際に行ったのは12月半ばだが、もうこの時点でものすごい数の学生が2列に並んでいた。

20241217-134528

20241217-134550

20241217-134625

20241217-134654

20241217-135143

正宮でもものすごい数の学生が列をなして出てきていた。こんな人数多い学校あるんだ…数百人というか千人超えてたと思う。でもきちんと並んでいたのでいい教育をしている学校だと思った。

20241217-135755

さて次は(続く)。

2025年1月 2日 (木)

伊勢神宮でお参り2025(まずは外宮。令和十五年に式年遷宮があるそうです)

と言ってもお参りに行ったのは2024年12月半ば。年末年始は人が多すぎるので。

20241217-120453 20241217-120737

式年遷宮があるのか。あの土地なんだろうと思っていた。

20241217-121004

正宮でお参り。

20241217-121110

このパワースポット?ではたくさんの人が手をかざしていた。

20241217-121328

さて次は(続く)。

2025年1月 1日 (水)

本日20250101は素数です。20250121も素数。Python in Excelで素数(素因数分解)カレンダーを作る

2025年1月の素因数分解カレンダーをPython in Excelで作った。

Primecalender202501

コードはSymPyを使えば簡単にできる。積み上げ棒グラフはExcelなら簡単。

import numpy as np
import sympy
import matplotlib.pyplot as plt

p_all = []
d = range(20250101,20250132)
for i in d:
    p = [i]
    for key, value in sympy.factorint(i).items():
        for j in range(value):
            p.append(key)
    p_all.append(p)
p_all
Primecalender2025012

« 2024年12月 | トップページ | 2025年2月 »

最近の記事

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

最近のコメント

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