« 2025年6月 | トップページ | 2025年8月 »

2025年7月

2025年7月31日 (木)

平安神宮でお参り。平安NEOマルシェが出ていた。ただ130年祭記念事業で工事中だった。

京都市京セラ美術館に行く前に平安神宮に立ち寄った。

20250729-131626

平安NEOマルシェが出ていた

20250729-131636 20250729-131645

20250729-131856

本殿は130年祭記念事業で工事中。

20250729-132030

高周波・RFニュース 2025年7月31日 TDKが車載PoC用広周波数帯域対応巻線インダクタ発表、everythingRFがRFスイッチマトリクスのeBook発行、Softbankが量子コンピューティングで5G基地局最適化、MaxLinearが450Gbpsのストレージアクセラレータ発表、Infinix GT 30 Pro分解動画

・TDKが車載PoC用広周波数帯域対応巻線インダクタ発表

インダクタ: 車載PoC用広周波数帯域対応巻線インダクタの開発と量産

202507311

・everythingRFがRFスイッチマトリクスのeBook発行

everything RF Publishes New eBook on RF Switch Matrices

202507312

・Softbankが量子コンピューティングで5G基地局最適化

量子コンピューティング技術を活用した
無線基地局の設定最適化により通信性能を向上

202507313

・MaxLinearが450Gbpsのストレージアクセラレータ発表

MaxLinear to Unveil Panther V: 450Gbps Storage Accelerator for Enterprise and Hyperscale Data Centers at FMS 2025

202507314

・Infinix GT 30 Pro分解動画

 

その他

ヒロセ電機:【世界初】高電流と免振構造を両立したコネクタ「FX31」シリーズをリリース
~車載機器の小型化・軽量化・組み立て作業の効率化に貢献~ 2025/7/30

What are phased array antennas, and how do they work?

MediaTek shapes the future of connectivity with 6G

TI:Predictive battery management technology from TI delivers up to 30% longer run time in battery-powered electronics

 

2025年7月30日 (水)

高周波・RFニュース 2025年7月30日 Yoleが2024のRF市場が$51Bと分析、Qorvoのユースサッカー向けUWB解説、Huawei Pura 80シリーズ分解動画、Smiths Interconnectのソルダーレス40GHz同軸コネクタEZiCoax、Samsungの研究者がアジア太平洋地域の6Gスペクトルを先導

・Yoleが2024のRF市場が$51Bと分析

2024 RF market hits $51B: U.S. Leads, China Scales, Europe Secures

202507301

・Qorvoのユースサッカー向けUWB解説

Game Changer: How UWB and Qorvo Are Powering the Future of Youth Sports

202507302

・Huawei Pura 80シリーズ分解動画

[Teardown] Inside the Huawei Pura 80 Series: Full Disassembly and Component Breakdown

202507303

・Smiths Interconnectのソルダーレス40GHz同軸コネクタEZiCoax

Smiths Interconnect Launches EZiCoax, Single-piece Coax for Interposer Solutions

202507304

・Samsungの研究者がアジア太平洋地域の6Gスペクトルを先導

Samsung Researcher To Lead 6G Spectrum Discussions in Asia-Pacific Region

その他

GSA Webinar: Global Spectrum Update

NVIDIA:How New GB300 NVL72 Features Provide Steady Power for AI

Google ColabのJulia言語でシンプレクティック8次の公式(吉田春夫さんの)を使って三体問題の周期解(8の字解、クラスI.A.1のbutterfly I)を計算。

今回はシンプレクティック8次で計算。

こちらの論文から引っ張ってきた。

"Construction of higher order symplectic integrators", Physics Letters A,Volume 150, number 5,6,7(1990)

コードはこんな感じで。


using Plots

#力の計算(x方向)
function fx(k)
    G = 1.0
    f = 0.0
    for i in 1:n
        if i != k
            R = sqrt((qx[i] - qx[k]) ^ 2 + (qy[i] - qy[k]) ^ 2)
            f = f + G * m[k] * m[i] * (qx[i] - qx[k]) / (R ^ 3)
        end
    end
    return f
end
#力の計算(y方向)
function fy(k)
    G = 1.0
    f = 0.0
    for i in 1:n
        if i != k
            R = sqrt((qx[i] - qx[k]) ^ 2 + (qy[i] - qy[k]) ^ 2)
            f = f + G * m[k] * m[i] * (qy[i] - qy[k]) / (R ^ 3)
        end
    end
    return f
end


# 初期設定
n = 3 #星の個数
m = zeros(Float64, n)
qx = zeros(Float64, n)
qy = zeros(Float64, n)
px = zeros(Float64, n)
py = zeros(Float64, n)
dt = 3.0 / 10000.0

#8の字解
#param = [ 0.97000436,-0.5 * 0.93240737,-0.24308753,-0.5 * 0.86473146, -0.97000436,-0.5 * 0.93240737,0.24308753,-0.5 * 0.86473146,0,0.93240737, 0,0.86473146]
#mparam = [1.0, 1.0, 1.0]
#tmax = 10000 #繰り返し回数

#13個見つかった解のうち、クラスI.A.1のbutterfly I
vx1 = 0.30689
vy1 = 0.12551
param =[-1.0, vx1, 0.0, vy1, 1.0, vx1, 0.0, vy1, 0.0 , -2.0*vx1, 0.0, -2.0*vy1]
mparam = [1.0, 1.0, 1.0]
tmax = 30000 #繰り返し回数

m[1] = mparam[1]
m[2] = mparam[2]
m[3] = mparam[3]
 
qx[1] = param[1]
qy[1] = param[3]

px[1] = param[2]
py[1] = param[4]

qx[2] = param[5]
qy[2] = param[7]

px[2] = param[6]
py[2] = param[8]

qx[3] = param[9]
qy[3] = param[11]

px[3] = param[10]
py[3] = param[12]

#表示用
x = zeros(Float64, n, tmax)
y = zeros(Float64, n, tmax)
x[1, 1] = qx[1]
y[1, 1] = qy[1]
x[2, 1] = qx[2]
y[2, 1] = qy[2]
x[3, 1] = qx[3]
y[3, 1] = qy[3]

# 8次のシンプレクティック積分公式の係数
w = zeros(Float64, 8)
d = zeros(Float64, 16)
c = zeros(Float64, 16)

w[1] = 0.311790812418427
w[2] = -1.55946803821447
w[3] = -1.6789692825964
w[4] = 1.66335809963315
w[5] = -1.06458714789183
w[6] = 1.36934946416871
w[7] = 0.629030650210433
w[8] = 1.0 - 2.0 * (w[1] + w[2] + w[3] + w[4] + w[5] + w[6] + w[7])

d[1] = w[7]
d[15] = w[7]
d[2] = w[6]
d[14] = w[6]
d[3] = w[5]
d[13] = w[5]
d[4] = w[4]
d[12] = w[4]
d[5] = w[3]
d[11] = w[3]
d[6] = w[2]
d[10] = w[2]
d[7] = w[1]
d[9] = w[1]
d[8] = w[8]
d[16] = 0.0

c[1] = 0.5 * w[7]
c[16] = 0.5 * w[7]
c[2] = 0.5 * (w[7] + w[6])
c[15] = 0.5 * (w[7] + w[6])
c[3] = 0.5 * (w[6] + w[5])
c[14] = 0.5 * (w[6] + w[5])
c[4] = 0.5 * (w[5] + w[4])
c[13] = 0.5 * (w[5] + w[4])
c[5] = 0.5 * (w[4] + w[3])
c[12] = 0.5 * (w[4] + w[3])
c[6] = 0.5 * (w[3] + w[2])
c[11] = 0.5 * (w[3] + w[2])
c[7] = 0.5 * (w[2] + w[1])
c[10] = 0.5 * (w[2] + w[1])
c[8] = 0.5 * (w[1] + w[8])
c[9] = 0.5 * (w[1] + w[8])

for i in 2:tmax
    for k in 1:16
        for j in 1:n
            qx[j] = qx[j] + dt * c[k] * px[j] / m[j]
            qy[j] = qy[j] + dt * c[k] * py[j] / m[j]
        end
        for j in 1:n
            px[j] = px[j] + dt * d[k] * fx(j)
            py[j] = py[j] + dt * d[k] * fy(j)
        end
    end
    for j in 1:n
        x[j, i] = qx[j]
        y[j, i] = qy[j]
    end
end



アニメーションにするには

@gif for i in 1:200:tmax
    plot(x[1,1:i],y[1,1:i], xlim=(-1.2, 1.2), ylim=(-0.5,0.5), label="", xlabel="x", ylabel="y", size=(800,500))
    plot!(x[2,1:i],y[2,1:i], label="")
    plot!(x[3,1:i],y[3,1:i], label="")
end
とする。

まずは有名な8の字解。

次はこちらの論文に乗っていた13個見つかった解のうち、クラスI.A.1のbutterfly I

Three Classes of Newtonian Three-Body Planar Periodic Orbits

他のもやろうと思ったが、刻み幅一定だと、いくら8次でも衝突が多いような解は発散してしまう…

ちょっといまいち。

だがDifferentialEquations.jlのアダプティブな刻み華で、誤差を小さくしたものなら計算できる。

クラスII.C.3a yin-yang IIならばこんな風に面白い動きが再現できる。

 

 

2025年7月29日 (火)

高周波・RFニュース 2025年7月29日 ヒロセ電機がプローブのエス・イー・アールを子会社化、AmphenolがJFLCOからRFコンポーネントのNarda-MITEQを買収、STMがNXPのMEMSビジネスを買収、Samsung Galaxy Fold 7分解動画でやっぱり5Gミリ波AiPは一個でRFはフレキに通している

・ ヒロセ電機がプローブのエス・イー・アールを子会社化

株式会社エス・イー・アールの株式の取得(子会社化)に関するお知らせ (207KB) 

202507291

・AmphenolがJFLCOからRFコンポーネントのNarda-MITEQを買収

Amphenol Corporation Acquires Narda-MITEQ in Strategic Expansion Move from JFLCO

202507292

・STMがNXPのMEMSビジネスを買収

STMicroelectronics to strengthen position in sensors with acquisition of NXP’s MEMS sensors business

202507293

・Samsung Galaxy Fold 7分解動画でやっぱり5Gミリ波AiPは一個でRFはフレキに通している

https://www.youtube.com/watch?v=47oNXKNcNAg

202507294

2025年7月28日 (月)

ゴッホ展 家族がつないだ画家の夢@大阪市立美術館を観てきた。ゴッホ家のコレクションと家族のつながりが年代を追って作品が飾られ、合間合間に動画で解説するなどわかりやすく面白かった。特に弟テオの妻、ヨーがいなかったら今、ゴッホ作品はどうなっていただろうかと考える。

今年に入って4回目の大阪市立美術館。今回はゴッホ展。

20250718-113927

20250718-114107

20250718-114149

ゴッホの死後、すぐに弟テオも死んでしまい、残された妻のヨーがゴッホ作品を相続するが、義理の兄の作品を世に出すために奔走するのは漠然とは知っていたがこれほどスポットライトが当たった展覧会はなかったのでは。その後、息子のフィンセント(義兄と同じ名前)と美術館も設立する。この2人がいなかったら今ほどゴッホはメジャーじゃなかったのではと思わせる。

展示も年代を追ってゴッホの作品や購入した作品が並べられ、要所要所で動画で解説が入るのでとてもわかりやすかった。

作品としては画家としての自画像や、種まく人がよかった。

最後は巨大スクリーンで。立体的にしたひまわりも観られます。

20250718-123858

 

2025年7月27日 (日)

松屋でデビルチキンをいただく。かなりいい感じの辛さ。すき家でニンニクの芽牛丼をいだだく。ニンニクの芽しゃきしゃきで辛さも十分ある。なか卯で旨辛チゲ風親子丼をいただく。確かにチゲを感じる。餃子の王将で麻婆茄子焼そばをいただく。香ばしい麺がいい。

牛丼チェーンで辛さがありそうなものがいくつかでていたので試してみる。

まずは松屋でスリランカのデビルチキン。

20250720-111448

これは結構辛くて、私にはちょうどいい感じ。チキンもゴロゴロで美味しい。

20250720-111450

次はすき家のニンニクの芽牛丼。中盛にしてみた。

20250721-115805

これも結構いい感じの辛さでニンニクの芽がシャキシャキで牛丼に合ってる。

20250721-115808

最後はなか卯の旨辛チゲ風親子丼。

20250718-130252

一口目は、おっチゲっぽいと思ったが、だんだん普通の親子丼ぽくなっていくのでこれは辛いの苦手な人でも大丈夫とおもう。

とろたまやチーズのトッピングもあるし。

餃子の王将では7月限定の麻婆茄子焼そばをいただく。麺が香ばしく焼けていてそこに茄子の食感がよくて美味しかった。

20250722-112736

2025年7月26日 (土)

ピッチドロップ実験、2025年7月時点で10滴目はどうなっているか?ちょっとだけ根元が細くなってきたように見える。

またこのピッチドロップ実験の記事のアクセスが多くなってきた。

そういや大体1年に一回、7月に確認していたので今回も見てみよう。

ライブで動画が見られるのはこちらから。

https://vimeo.com/event/4721898

では去年、おととしと比較してみる。

Pitchdrop202507

いつ落ちるかは2027年と予想している。

Pitchdrop20242_20250726085701

ファンタスティック4:ファースト・ステップをIMAXで観てきた。面白かった!レトロな感じが逆に新鮮。ゴム人間おじさん科学者(ファインマンダイアグラム書いたり)をリーダーとする4人がキングダーク(大魔神?)と対峙する。磁気テープが顔のロボット、ハービーがかわいい。

ワンピースのルフィを最初に見たときに既視感が…と思ったらこれだった!

20250725-121508

IMAXで観るとキラカードもらえる。

20250725-171419

とにかくレトロな雰囲気が新鮮。でも何十年も前に未来はこうなるだろうというようなことができてなかったり、逆に全然思ってもいないことができてたり(超高速で飛べるのに超音波エコーがないとか、それこそ磁気テープがまだつかわれているとか)面白い。

その磁気テープが顔のロボットのハービー(そもそもオープンリールの磁気テープがコンピュータの記憶デバイスだったことを若い人はしらないのであれは何?とおもっただろう)がかわいい。後ろが目覚まし時計の裏(電池ボックスあったり)みたいだ。

あとロケットのコンテナの降り方がサンダーバード2号っぽいのがよかった。インターステラーが出てからブラックホールの描写が変わったこともわかる。

アヴェンジャーズはもう強い奴のインフレ(by さるマン)が行きつくしたので、こういう強大な敵(Xライダーのキングダークか大魔神かと…)に対しては全然無力なヒーローチームが新鮮。力でなくて知恵と科学で何とかするのだった。4人のキャラ付けもはっきりしていてそこもいい。

しかし次はアヴェンジャーズ?年代が全く違うのはどうするんだろう…と思ったら別次元からやってくることにするらしい。ってあ、サンダーボルツ*の最後そういうことか。

次も楽しみ。

 

2025年7月25日 (金)

高周波・RFニュース 2025年7月25日 QualcommによるWi-Fi 8(IEEE802.11bn)解説、SequansがSDR用トランシーバチップIris発表、Wireless Infrastructure Association(WIA)のAIネイティブ6G解説、トランプ政権のAIアクションプラン解説、800GpsのPCB設計

・QualcommによるWi-Fi 8(IEEE802.11bn)解説

Wi-Fi 8: Advancing wireless through ultra-high reliability

202507251

・SequansがSDR用トランシーバチップIris発表

Sequans Launches Iris: Next-Gen RF Integrated Transceivers for SDR Applications

202507252

・Wireless Infrastructure Association(WIA)のAIネイティブ6G解説

AI-native networks and the Implications for 6G

202507253

・トランプ政権のAIアクションプラン解説

AI Action Plan aims to boost infrastructure, export tech and repeal limitations on AI

202507254

その他:

PCB design tips for EMI and thermal management in 800G systems

$160B in RAN Before 6G, According to Dell’Oro Group

Mini-Circuits:Additive Phase Noise Pt. 3

Taoglas and Semtech Partner to Optimize Antenna Selection for AirLink® Routers

2025年7月24日 (木)

関数型プログラミング言語 F# (fsharp)の数値計算ライブラリ Math.NET Numericsを使う(9) いろんな確率分布の乱数(メルセンヌツイスタがベース)をPlotly.NETでヒストグラムにして描く。とりあえず正規分布とガンマ分布で。

今回はこの例題。

 Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(9) いろんな確率分布の乱数(メルセンヌツイスタがベース)をヒストグラムにして描く。とりあえず正規分布とガンマ分布で。

まずは正規分布。

open MathNet.Numerics.Random
open MathNet.Numerics.Distributions
open MathNet.Numerics.Statistics
open Plotly.NET

let rnd = MersenneTwister(42)
let  N = 10000
let xmin = -5.0
let xmax = 5.0
let bin = 100
let normal = Array.create N 0.0
Normal.Samples(rnd, normal, 0.0, 1.0)
Chart.Histogram(normal)
|> Chart.withXAxisStyle("x") |> Chart.withYAxisStyle("Frequency")
|> Chart.withTitle("Gaussian Distribution")

Fsharpprob1

次はガンマ分布。

open MathNet.Numerics.Random
open MathNet.Numerics.Distributions
open MathNet.Numerics.Statistics
open Plotly.NET

let rnd = MersenneTwister(42)
let  N = 10000
let xmin = 0.0
let xmax = 20.0
let k = 9.0
let theta = 0.5
let bin = 100

let gamma = Array.create N 0.0
Gamma.Samples(rnd, gamma, k, 1.0/theta)
Chart.Histogram(gamma)
|> Chart.withXAxisStyle("x") |> Chart.withYAxisStyle("Frequency")
|> Chart.withTitle("Gamma Distribution")
Fsharpprob2

2025年7月23日 (水)

高周波・RFニュース 2025年7月23日 Qualcommの6Gのユーザーエクスペリエンスウェビナー開催、Qualcommは地政学は6Gに影響しないと楽観視、everythingRFのRFミキサeBook、Otava RFの11GHzまでのチューナブルBPF

・Qualcommの6Gのユーザーエクスペリエンスウェビナー開催

https://content.rcrwireless.com/webinar-empowering-next-generation-user-experiences-at-scale-with-6g

202507231

・Qualcommは地政学は6Gに影響しないと楽観視

Qualcomm is optimistic geopolitics won't tear 6G apart

202507232

 

・everythingRFのRFミキサeBook

New eBook Explores RF Mixers with Insights from Key Industry Experts

202507233

 

・Otava RFの11GHzまでのチューナブルBPF

Otava RF Launches the OTFL1001: An X-Band Digitally Tunable Bandpass Filter Optimized for Advanced RF Systems

202507234

Google ColabのJulia言語で保存系のTDGL方程式(Cahn-Hillard方程式)と非保存系のTDGL方程式(Allen-Cahn方程式)を差分法で計算して動画で比較する。

TDGL方程式(Time Dependent Ginzburg Landau)のオーダーパラメータは保存するものと保存しないものがある。

保存するものはCahn-Hillard方程式とよく呼ばれてこんな形。

∂φ/∂t=∇²(φ³ -φ-∇²φ)

非保存のものはAllen-Cahn方程式と呼ばれることもあってこんな形。

∂φ/∂t=φ-φ³+∇²φ

ではそれぞれのコードは

保存


using Plots
using Printf
using Random

function main()
    #パラメータ設定
    n = 128
    m = 5000
    ndiv = 20
    dt = 0.01
    dx = 1.0
1

    #初期設定
    X1 = zeros(n + 2, n + 2)
    Y1 = zeros(n + 2, n + 2)
    X2 = zeros(n + 2, n + 2)
    MT = MersenneTwister()
    Random.seed!(MT, 42)
    @inbounds for j in 2:(n + 1)
        @inbounds @simd for i in 2:(n + 1)
            X1[i, j] = 0.1 * (2.0 * rand(MT) - 1.0)
        end
    end
       
    # 結果を格納する配列
    results = []

    for t in 1:m
        #境界条件
        @inbounds for i in 2:(n + 1)
            X1[1, i] = X1[2, i]
            X1[n + 2, i] = X1[n + 1, i]
            X1[i, 1] = X1[i, 2]
            X1[i, n + 2] = X1[i, n + 1]
        end
        #一つ目のラプラシアン
        @inbounds for j in 2:(n + 1)
            @inbounds @simd for i in 2:(n + 1)
                lapX = (X1[i + 1, j] + X1[i - 1, j] + X1[i, j + 1] + X1[i, j - 1] - 4.0 * X1[i, j]) / (dx * dx)
                Y1[i, j] = X1[i, j] * (X1[i, j]^2 - 1.0) - lapX                                                                              
            end
        end
        #境界条件
        @inbounds for i in 2:(n + 1)    
            Y1[1, i] = Y1[2, i]
            Y1[n + 2, i] = Y1[n + 1, i]
            Y1[i, 1] = Y1[i, 2]
            Y1[i, n + 2] = Y1[i, n + 1]
        end
        #TDGL計算
        @inbounds for j in 2:(n + 1)
            @inbounds @simd for i in 2:(n + 1)
                lapY = (Y1[i + 1, j] + Y1[i - 1, j] + Y1[i, j + 1] + Y1[i, j - 1] - 4.0 * Y1[i, j]) / (dx * dx)
                X2[i, j] = X1[i, j] + dt * lapY                                                                          
            end
        end

        @inbounds for j in 2:(n + 1)
            @inbounds @simd for i in 2:(n + 1)
                X1[i, j] = X2[i, j]
            end
        end

        # ndivステップごとに結果を配列に格納
        if t % ndiv == 0
            push!(results, copy(X1))
        end
    end

    # 計算結果をアニメーションで表示
    anim = @animate for i in 1:length(results)
        heatmap(results[i], title="t = $(@sprintf("%.3f", i * ndiv * dt))", clim=(-1.2, 1.2), size = (950, 800))
    end
    gif(anim, "Cahn-Hillard.gif", fps = 10)    

end

非保存


using Plots
using Printf
using Random

function main()
    #パラメータ設定
    n = 128
    m = 5000
    ndiv = 20
    dt = 0.01
    dx = 1.0
1

    #初期設定
    X1 = zeros(n + 2, n + 2)
    X2 = zeros(n + 2, n + 2)
    MT = MersenneTwister()
    Random.seed!(MT, 42)
    @inbounds for j in 2:(n + 1)
        @inbounds @simd for i in 2:(n + 1)
            X1[i, j] = 0.1 * (2.0 * rand(MT) - 1.0)
        end
    end
       
    # 結果を格納する配列
    results = []

    for t in 1:m
        #境界条件
        @inbounds for i in 2:(n + 1)
            X1[1, i] = X1[2, i]
            X1[n + 2, i] = X1[n + 1, i]
            X1[i, 1] = X1[i, 2]
            X1[i, n + 2] = X1[i, n + 1]
        end

        #境界条件
        @inbounds for i in 2:(n + 1)    
            X1[1, i] = X1[2, i]
            X1[n + 2, i] = X1[n + 1, i]
            X1[i, 1] = X1[i, 2]
            X1[i, n + 2] = X1[i, n + 1]
        end
        #TDGL計算
        @inbounds for j in 2:(n + 1)
            @inbounds @simd for i in 2:(n + 1)
                lapX = (X1[i + 1, j] + X1[i - 1, j] + X1[i, j + 1] + X1[i, j - 1] - 4.0 * X1[i, j]) / (dx * dx)
                X2[i, j] = X1[i, j] + dt *(X1[i, j] * (1.0 - X1[i, j]^2) + lapX)                                                                          
            end
        end

        @inbounds for j in 2:(n + 1)
            @inbounds @simd for i in 2:(n + 1)
                X1[i, j] = X2[i, j]
            end
        end

        # ndivステップごとに結果を配列に格納
        if t % ndiv == 0
            push!(results, copy(X1))
        end
    end

    # 計算結果をアニメーションで表示
    anim = @animate for i in 1:length(results)
        heatmap(results[i], title="t = $(@sprintf("%.3f", i * ndiv * dt))", clim=(-1.2, 1.2), size = (950, 800))
    end
    gif(anim, "Allen-Cahn.gif", fps = 10)    

end

結果を動画で比較する。

保存

非保存

保存するものは一回構造ができるとほぼ動かないが、非保存のものは島が生成消滅が続く。

 

 

2025年7月22日 (火)

NHKで再放送していたピタゴラミングスイッチ5を見てメモ。ソファー問題のような話、リサジュー図形の基本、方向転換シーソー、枝分れ歌などなど出てきた。

テレビの前の君に問題を出すぞ、挑戦してみろ、から始まったピタゴラミングスイッチ。

百科おじさん登場。まず登場するのは

「でじでじタイル人」。ドット絵が壁のタイルに動く。タイルによって大きさが変わる。大きなタイルでは大きくなる。

あれ?すぐ退場。並び方を見るとパターンは変わっていない。つなぎ方が一緒(グラフ理論か)。

-----

今日のフルーツは、こういう線で切ります、と線のみが現れる。

上から一本ざっくり、次に横線2本でざく、横線4本で…

スイカだった。てじゅんがだいじ。

----

こんなこともあろうかと装置。ピタゴラスイッチで、、、ボールが落ちたがこんなこともあろうかと戻る。

-----

まっすぐ板のスキマー。今日の抜け道問題。

角に1/4円2つがあるような狭い通路。板が進む。曲がり角を奥まで行って回って通る。次は角が丸い、のも通る。

次は凸形の円もすり抜ける。

ソファ問題みたいだ。あっちは通る方が曲がっているけれどこれは板が回る。

あたまのなかでためす。

----

なんのプログラム?

しずめる

泳がせる

まだ赤い? あかいなら泳がせる

赤くないなら引き上げる。

食べる

これはしゃぶしゃぶを食べるプログラムでした。

----

装置評論家のトンカッチがピタゴラスイッチに出てくる方向転換シーソーを解説。

青いシャツの男の人に作ってもらう。まずシーソーを普通に作っただけではただボールが通り抜ける。

シーソーのはじにボールを止めるストッパーを付ける。今度はボールが止まる。

ボールの重さでシーソーが動かない。シーソーの中心をずらす。完成か?

レースを置いてボールを転がす。ボールがレールに乗ると消しゴムがはねた。軽すぎる?

南京錠を持ってきた。おお、これで方向転換シーソー完成した。

ためして失敗を繰り返すのが醍醐味。トライ&エラー

ーーーー

またでじでじタイルじんが登場。

と思ったら鳩に追われて退場。

ーーーー

すこし不思議な歌のコーナー。

あ い ま さつ あいがさ ぼう が い つぶ やどり ざ える

何?

繋ぐと言葉が見える。枝分かれ歌。線で上から繋ぐ。

あまがえる あまやどり あいす あまい あまやどり

あいぼう あいさつ…などなど。

----

タテひこ、ヨコひこのコーナー。

ペンプロッタでヨコしか動かないヨコひこ、タテにしか動かないタテひこが絵を描く。

曲がった線は描ける?ヨコひこが行ったり来たりするからタテひこがゆっくり引いてくれと。

あれ?ジグザグになってしまった。

ヨコの動きをはじっこをすばやく折り返していたが今度はゆっくり折り返す(正弦波にしてる)。

正弦波の波線ができた。

次はタテひこがゆっくり折り返す。ヨコひこは横に動くだけ。

ヨコの波線(正弦波)が描けた。

2人一緒にすると…?

まるが描けた!リサージュ図形だ。

くみあわせがだいじ。

 

高周波・RFニュース 2025年7月22日 サムスン電機(SEMCO)はAIサーバーと車載向けMLCCに注力、Perasoの60GHzミリ波モジュールがTachyon Networksに採用、Copper Mountain Technologiesが75Ω12ポートVNAエクステンダ発表、TDKのPLC用パルストランスポータル

・サムスン電機(SEMCO)はAIサーバーと車載向けMLCCに注力

'The Salt of the Electronics World' Samsung Electro-Mechanics Bets Big on MLCC for AI Servers and Automotive Electronics — Reshaping its Business Around High-Growth Sectors

202507221

・Perasoの60GHzミリ波モジュールがTachyon Networksに採用

Peraso 60GHz mmWave Module Selected for Next-Generation Equipment From Tachyon Networks

202507222

・Copper Mountain Technologiesが75Ω12ポートVNAエクステンダ発表

CMT Launches 12-Port USB Port Extender, Enabling Seamless Multi-Device VNA Testing Without Re-Cabling

202507223

・TDKのPLC用パルストランスポータル

PLC用パルストランス

202507224

2025年7月21日 (月)

天神祭前に大阪天満宮でお参り。

この近くで用事があったのでついでにお参り。天神祭の準備の真っ最中でした。

20250719-112930

20250719-113510

20250719-112958

20250719-113142

20250719-113337

20250719-113405

 

2025年7月20日 (日)

参議院選挙の投票に行ってきた。兵庫県に引っ越してから3回目、前回2回は「え?」と思う結果だったが今回はどうかな。

京都から兵庫県に引っ越して3回目の選挙。前回、前々回はあれ?と思う結果だったが…

20250719-152153

投票所には確かにいつも以上に人がいた。投票率は期待できそう?

20250720-102943

 

2025年7月19日 (土)

土用の丑の日ということで宇奈ととでうな重上をいただく。

土用の丑の日なので数年ぶりにうなぎを食べようかと思った。しかし牛丼チェーンでうなぎというのも味気ない…

ということでチェーン店ではあるが鰻専門の宇奈ととへ。

うな重の上にした。

20250719-111905

店内が鰻を焼く煙で充満しているのがやっぱりうなぎ専門という感じ。肉厚でなかなか美味しかった。

2025年7月18日 (金)

映画「スーパーマン」をIMAXで観てきた。面白かった!ピンチの連続で人間に疎まれ弱さも見せるスーパーマンが新鮮。その分最後の活躍が生きる。侵略戦争を盛り込んでいたり予想していない人達が出てたり。しかし何と言ってもクリプト。何やってんだ…と思ったシーンも伏線だった!

本当は公開当日に観に行く予定でチケットとっていたが急用で断念…やっと観られた。一言でいうと「クリプト!」

20250717-151023

スーパーマンというととにかく最強で弱さを見せないイメージだが、本作ではもう最初っからボロボロにやられている。

予告編は冒頭のシーンだった。クリプトに助けられて基地に行くところまでが冒頭。ロボットたちがけなげ。

スーパーマンのことを研究しつくし、ウルトラマン(!)とエンジニアを使って何度も倒していく悪役ルーサーが憎たらしい。

彼の陰謀もあって(というか結局スーパーマンの親父のせいで)スーパーマンが人間の敵として扱われていく。

人間らしい弱さも見せるスーパーマン。

ボロボロになっていき、捕えられたスーパーマンを助けたのは…

しかし予告にもなかったあの連中が出てくるとはびっくり。あとなんでクラークケントがスーパーマンだとばれないのかの理由がわかった。

ジェームズ・ガン監督らしく隙あらば笑いを入れてくるのもよかった。

泣けるシーンもあり。子供が旗を立てるシーンは号泣していた。最後のほうの両親の映像のシーンも。

しかし何と言ってもスーパー犬のクリプト。クリプトひどすぎないか、と思ったシーン(ミスター・テリフィックの飛んでいる球形デバイスをおもちゃだと思って噛んで壊す )もちゃんと伏線だった。

しかも本来の飼い主が誰だったのかが最後にわかって驚く。この人も大概ひどい。

その最後の人の映画が次に公開、ということで楽しみ。

2025年7月17日 (木)

高周波・RFニュース 2025年7月17日 IEEE Microwave Magazineで地上監視レーダ解説など、Microwave Journalでミリ波AiPのOTA測定解説など、5G Americasが5G Advancedホワイトペーパー発行、TDKのAI 微細欠陥検出edgeRX Vision、IEEE Trans. on THz の今月号発行

・IEEE Microwave Magazineで地上監視レーダ解説など

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

202507171

・Microwave Journalでミリ波AiPのOTA測定解説など
https://www.microwavejournal.com/publications/1
202507172

・5G Americasが5G Advancedホワイトペーパー発行

5G Americas Publishes Comprehensive Overview on 5G-Advanced

202507173

・TDKのAI 微細欠陥検出edgeRX Vision

TDK、AI で製品の微細な欠陥を検出するedgeRX Vision」

202507174

・IEEE Trans. on THz の今月号発行

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

2025年7月16日 (水)

Xのタイムラインが何かランダムウォークのガウス分布じゃなくて逆正弦法則のように見えてきている…仕方ないのでJulia言語でモンテカルロシミュレーションで試行回数を変えて逆正弦法則とガウス分布を見る。

ここ数日、自宅で待機していないといけない状況になって、暇なのでXのポストをぼっーと見ていた。

何がとはいわないがひどい…7/20までは仕方ない(いやそれ以降が大変なのか)。

ポストの数々が逆正弦法則に見えてきている。もうちょっとガウス分布寄りでもいいんじゃないのかとか。

文句を言っても仕方がないのでJulia言語でモンテカルロシミュレーションをすることにした。

ソースはこれ。


using Random
using Plots
using Printf
n = 10000
anim = Animation()
for k in 1:6
    m = 10^k
    h1 = zeros(m)
    h2 = zeros(m)
    for i in 1:m
        r = cumsum(rand(-1:2:1, n))
        h1[i] = count(r .>= 0)/n
        h2[i] = r[n]
    end
    plt1 = histogram(h1, bins=range(0, 1, step=0.01), normed=true,  title = "Ratio of positive time, m = $(@sprintf("%d", m))", label="", xlabel="x", ylabel="p", size = (600, 600))
    plt2 = histogram(h2, bins=range(-400, 400, step=10),normed=true, title = "Final positon, m = $(@sprintf("%d", m))", label="", xlabel="x", ylabel="p", size = (600, 600))
    plt = plot(plt1, plt2, size = (1200, 600))
    frame(anim, plt)
end
gif(anim, "test.gif", fps = 1)

±1を取るランダムウォークをn回繰り返し、正の時間にいる確率と、最終的な位置を試行回数mを変えてプロットしている。

結果はこちら。

 

2025年7月15日 (火)

数理科学 2025年7月号 量子物理の発展と未来 最先端から見る将来像を買った。量子鍵配送、LDPC符号、弱値、量子チェシャ猫、dS/CFTなど知らない話がたくさんで面白かった。

前回の第一弾も面白かったので第二弾も買ってきた。

20250709-174447

アマゾンリンク:https://amzn.to/3U7YCNd

内容は

  • 巻頭言
    ~ 量子物理の現状と今後の発展への期待 ~
    筒井 泉
  • 量子と物理
    ~ 現状と今後について ~
    永長直人
  • 量子情報理論の特色と将来
    小芦雅斗
  • 発展する量子光学
    平野琢也
  • 量子異常を通して見る量子力学と幾何学的位相
    藤川和男
  • 弱値から見る量子の自然像
    ~ 物質波を用いた量子干渉実験を通して ~
    長谷川祐司
  • 弦理論の描く量子重力理論とその将来像
    高柳 匡
  • 量子情報,エネルギー,時間の矢
    ~ 量子の今後100 年へのパースペクティブ ~
    堀田昌寛
  • 量子と宇宙
    南部保貞

というもの。

量子情報は物性、素粒子・宇宙に並んで量子力学応用で欠かせないものになってると実感する。

学部生のときちょっと量子光学やっていたのでいまこんな感じなのかとしみじみ。

そして量子異常もなんか計算したことあるぞと懐かしい。

その他、量子鍵配送、LDPC符号、弱値、量子チェシャ猫、dS/CFTなど面白い話もたくさんあってよかった。

 

 

 

 

 

2025年7月14日 (月)

高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結

・ 2025年7月12日 Pythonの高周波ライブラリscikit-rfがv1.8.0に

https://github.com/scikit-rf/scikit-rf

20257141

・SamsungがGalaxy Z Fold7など発表

Samsung Galaxy Z Fold7: Raising the Bar for Smartphones

20257142

・QualcommがSnapdragon 8 Eliteが使われていると発表

The Most Powerful Snapdragon Mobile Platform Fuels Samsung Galaxy Z Fold7 Globally

20257143

・NGMNが基地局アンテナの推奨事項をまとめる

NGMN unveils common language for base station antennas – A milestone toward simplified mobile network deployment

20257144

 

 

・STMicroとMetalenzがメタサーフェス光学のライセンス締結
STMicroelectronics and Metalenz Sign a New License Agreement to Accelerate Metasurface Optics Adoption

 

2025年7月13日 (日)

もつ次郎で合い盛りもつ定食(もつ煮、もつ炒め)をいただく。もつ炒めのほうが好きかな。赤鬼という辛い調味料を加えるとかなりの辛さにできる。

前々から行ってみたかったもつ次郎が堺筋本町にあるということで行ってきた。

めったに来ないからもつ煮ともつ炒めが両方ついた合い盛りもつ定食、ご飯大盛で。

20250505-113010

20250505-113012

20250505-113015

どちらも美味しいが、ピリ辛のもつ炒めのほうが好きかな。ただ両方に辛み調味料の赤鬼投入で

かなり辛くできた。さすがにこれだけ食べるともうお腹いっぱい…

 

 

 

 

2025年7月12日 (土)

泉大津大橋を見る。

これ歩いて渡れそうだけれど時間がなく断念。別の機会にやってみよう。

20250505-133709 20250505-133736 20250505-133835

 

2025年7月11日 (金)

垂水の皇大神社、猿田彦大神、倉稲魂大神、白龍大神、黒龍大神が一か所に集まっているところでお参り。

垂水駅から細い道を行くと現れます。小さな社が3つあります。

20241123-160156 20241123-160213 20241123-160216 20241123-160222

2025年7月10日 (木)

Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。

暗号は昔、結城浩さんの暗号技術入門を読んだが、そこから全然アップデートしてないので読んでみた。

こういうのも作ったし。

RSA暗号の検証(NHK笑わない数学、暗号理論より)ができる自作式をカシオの高精度計算サイトkeisan.casio.jpにUP!暗号化と復号化ができます。アルゴリズムは結城浩さんの暗号技術入門を参考にしました。冪剰余、最小公倍数、拡張ユークリッドの互除法も詰め込んだ。

20250709-174426

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

内容はとても多岐にわたっていて、セキュリティの考え方から上杉暗号、シーザー暗号、たぬき暗号!などから始まり(エニグマを模したコードまで)、RSA、AES、そして楕円曲線暗号についてはかなりの紙面を割いて最初の考え方からコード、実際にラズパイpico 2 wで動かすところまで乗っていて面白かった。

こんなにコンピュータの雑誌で楕円曲線が書かれているのを見たのは初めて。

それ以外にも形式検証ツールや耐量子暗号、関数型暗号、Y-00暗号と話題が豊富。TLSの実装まで。

これでだいぶ暗号についてはアップデートした気がする。

 

2025年7月 9日 (水)

天田神社(あまたじんじゃ、大阪の交野市)でお参り。

ここは初めて来た。京阪の河内森駅からすぐです。

20241221-150228

20241221-150020

20241221-150029

20241221-150030

20241221-150036

 

高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案

・NordicとSercommのセルラーIoTモジュール

Nordic Semiconductor and Sercomm Corporation partner on cellular IoT module designed for applications demanding reliable, power-saving performance

202507091

・iFixitがFairphone 6を分解、スコアは10/10

ポゴピン接続が多いのはなるほど。

Fairphone 6 Teardown: Proof Phones Don’t Have to Be Disposable

202507092

・RCR wireless newsのウェビナー2件(6GとIndustry4.0)

https://content.rcrwireless.com/webinar-6g-standards-spectrum-use-cases

https://content.rcrwireless.com/powering-logistics-4.0-webinar

202507093

・SEMCOが高耐圧C0G MLCCを車載急速充電に提案

Proposal for High-Voltage MLCCs in Alignment with xEV Fast-Charging Trends

202507094

2025年7月 8日 (火)

Google ColabのJulia言語で1次元のGray-Scottモデル(∂u/∂t=u²v-(F+k)u+Du∂²u/∂x²,∂v/∂t=-u²v+F(1-v)+Dv∂²v/∂x²)を計算してパルスが次々分裂する様子を見る。空間6次の差分、時間8次のルンゲクッタ法で計算。

今回はGray-Scott方程式を計算。2次元だと動物の模様のようなものができて面白いが今回は1次元でやってみよう。

∂u/∂t=u²v-(F+k)u+Du∂²u/∂x²
∂v/∂t=-u²v+F(1-v)+Dv∂²v/∂x²

コードはこんな感じ。

using Plots
using Printf

function main()
    n = 200 #空間分割数
    m = 2000000 #時間分割数

    #u, vの初期化
    u = zeros(Float64, n + 6)
    v = zeros(Float64, n + 6)
    ud = zeros(Float64, n + 6)
    vd = zeros(Float64, n + 6)


    #物理パラメータ
    xmax = 1.6
    xmin = 0.0
    t = 0.0

    du = 0.00001
    dv = 0.00002
    Fc = 0.04
    kc = 0.06075

    dt = 0.01
    dx = (xmax - xmin) / (n - 3)
    x = zeros(Float64, n + 6)

    #表示用
    results = []
    ndiv = 2000

    #8次のルンゲクッタ法の係数
    a = zeros(Float64, 13)
    b = zeros(Float64, 13, 13)
    c = zeros(Float64, 13)
    ku = zeros(Float64, n, 13)
    kv = zeros(Float64, n, 13)
    a[1] = 0.0
    a[2] = 2.0 / 27.0
    a[3] = 1.0 / 9.0
    a[4] = 1.0 / 6.0
    a[5] = 5.0 / 12.0
    a[6] = 0.5
    a[7] = 5.0 / 6.0
    a[8] = 1.0 / 6.0
    a[9] = 2.0 / 3.0
    a[10] = 1.0 / 3.0
    a[11] = 1.0
    a[12] = 0.0
    a[13] = 1

    b[2, 1] = 2.0 / 27.0

    b[3, 1] = 1.0 / 36
    b[3, 2] = 1.0 / 12.0

    b[4, 1] = 1.0 / 24.0
    b[4, 3] = 1.0 / 8.0

    b[5, 1] = 5.0 / 12.0
    b[5, 3] = -25.0 / 16.0
    b[5, 4] = 25.0 / 16.0

    b[6, 1] = 1.0 / 20.0
    b[6, 4] = 1.0 / 4.0
    b[6, 5] = 1.0 / 5.0

    b[7, 1] = -25.0 / 108.0
    b[7, 4] = 125.0 / 108.0
    b[7, 5] = -65.0 / 27.0
    b[7, 6] = 125.0 / 54.0

    b[8, 1] = 31.0 / 300.0
    b[8, 5] = 61.0 / 225.0
    b[8, 6] = -2.0 / 9.0
    b[8, 7] = 13.0 / 900.0

    b[9, 1] = 2.0
    b[9, 4] = -53.0 / 6.0
    b[9, 5] = 704.0 / 45.0
    b[9, 6] = -107.0 / 9.0
    b[9, 7] = 67.0 / 90.0
    b[9, 8] = 3.0

    b[10, 1] = -91.0 / 108.0
    b[10, 4] = 23.0 / 108.0
    b[10, 5] = -976.0 / 135.0
    b[10, 6] = 311.0 / 54.0
    b[10, 7] = -19.0 / 60.0
    b[10, 8] = 17.0 / 6.0
    b[10, 9] = -1.0 / 12.0

    b[11, 1] = 2383.0 / 4100.0
    b[11, 4] = -341.0 / 164.0
    b[11, 5] = 4496.0 / 1025.0
    b[11, 6] = -301.0 / 82.0
    b[11, 7] = 2133.0 / 4100.0
    b[11, 8] = 45.0 / 82.0
    b[11, 9] = 45.0 / 164.0
    b[11, 10] = 18.0 / 41.0

    b[12, 1] = 3.0 / 205.0
    b[12, 6] = -6.0 / 41.0
    b[12, 7] = -3.0 / 205.0
    b[12, 8] = -3.0 / 41.0
    b[12, 9] = 3.0 / 41.0
    b[12, 10] = 6.0 / 41.0

    b[13, 1] = -1777.0 / 4100.0
    b[13, 4] = -341.0 / 164.0
    b[13, 5] = 4496.0 / 1025.0
    b[13, 6] = -289.0 / 82.0
    b[13, 7] = 2193.0 / 4100.0
    b[13, 8] = 51.0 / 82.0
    b[13, 9] = 33.0 / 164.0
    b[13, 10] = 12.0 / 41.0
    b[13, 12] = 1.0

    c[6] = 34.0 / 105.0
    c[7] = 9.0 / 35.0
    c[8] = 9.0 / 35.0
    c[9] = 9.0 / 280.0
    c[10] = 9.0 / 280.0
    c[12] = 41.0 / 840.0
    c[13] = 41.0 / 840.0


    #初期値
    for i in 1:(n + 6)
        x[i] = xmin + (i - 3) * dx
    end
    for i in 4:(n + 3)
        u[i] = exp(-(x[i] - xmax / 2.0) ^ 2 * 1000.0)
        v[i] = 1.0 - u[i]
    end

    for i in 1:m

        # 8次のルンゲクッタ法計算
         @inbounds for ii in 4:(n + 3)
            ku[ii - 3, 1] = f(ii, t + dt, u, v, du, dv, Fc, kc, dx, n) * dt
            kv[ii - 3, 1] = g(ii, t + dt, u, v, du, dv, Fc, kc, dx, n) * dt
        end

        @inbounds for j in 2:13

            @inbounds @simd for ii in 4:(n + 3)
                ud[ii] = u[ii]
                vd[ii] = v[ii]
            end

            @inbounds for k in 1:(j - 1)
                @inbounds @simd for ii in 2:(n + 1)
                    ud[ii] = ud[ii] + b[j, k] * ku[ii - 3, k]
                    vd[ii] = vd[ii] + b[j, k] * kv[ii - 3, k]
                end
            end

            @inbounds for ii in 4:(n + 3)
                ku[ii - 3, j] = f(ii, t + a[j] * dt, ud, vd, du, dv, Fc, kc, dx, n) * dt
                kv[ii - 3, j] = g(ii, t + a[j] * dt, ud, vd, du, dv, Fc, kc, dx, n) * dt
            end
        end

        @inbounds @simd for j in 1:13
            for ii in 2:(n + 1)
                u[ii] = u[ii] + c[j] * ku[ii - 3, j]
                v[ii] = v[ii] + c[j] * kv[ii - 3, j]
            end
        end

        t = t + dt

        # ndivステップごとに結果(u)を配列に格納
        if i % ndiv == 0
            push!(results, copy(u))
        end

    end
    # 計算結果をアニメーションで表示
    anim = @animate for i in 1:length(results)
        plot(x, results[i], ylim = (0.0, 0.5), linewidth = 4,title="Gray-Scott model", label="", xlabel="x", ylabel="u", size=(900,500))
    end
    gif(anim, "GrayScott.gif", fps = 30)
end

function f(i, t, u, v, du, dv, Fc, kc, dx, n)
    u[1] = u[n + 1]
    u[2] = u[n + 2]
    u[3] = u[n + 3]
    u[n + 4] = u[4]
    u[n + 5] = u[5]
    u[n + 6] = u[6]

    d2 = (2 * u[i + 3] - 27.0 * u[i + 2] + 270.0 * u[i + 1] - 490.0 * u[i] + 270.0 * u[i - 1] - 27.0 * u[i - 2] + 2 * u[i - 3]) / (180.0 * dx * dx)

    return du * d2 + u[i] * u[i] * v[i] - (Fc + kc) * u[i]
end

function g(i, t, u, v, du, dv, Fc, kc, dx, n)
    v[1] = v[n + 1]
    v[2] = v[n + 2]
    v[3] = v[n + 3]
    v[n + 4] = v[4]
    v[n + 5] = v[5]
    v[n + 6] = v[6]

    d2 = (2 * v[i + 3] - 27.0 * v[i + 2] + 270.0 * v[i + 1] - 490.0 * v[i] + 270.0 * v[i - 1] - 27.0 * v[i - 2] + 2 * v[i - 3]) / (180.0 * dx * dx)

    return dv * d2 - u[i] * u[i] * v[i] + Fc * (1.0 - v[i])
end

実行結果。パルスが次々分裂していくのが見える。

 

 

 

2025年7月 7日 (月)

廣田神社(西宮)でお参り。

西宮震災記念碑公園の後はこちらの廣田神社へ。かなり立派な神社でした。ただここにたどり着くのに逆方向の山側から入ったので疲れた…

20250521-135610

20250521-135351

20250521-135452

20250521-135505

20250521-135234

20250521-135334

2025年7月 6日 (日)

元祖豚丼屋TONTON(上新庄)で豚バラ丼大盛をいただく。思っていた以上に厚いバラ肉がたくさんで、甘めのタレもかかって満足度高し。

ずっと前から行ってみたかったTONTONにようやく行けた。

特盛にしようかと思ったが様子見でまずは大盛で。

20250504-123645

20250504-123650

大盛でも想像以上の枚数のバラ肉で、厚みも十分。脂身も適度に入っていてなかなか美味しかった。

タレは甘めで、後半ちょっと空きかけるが卓上に山椒と七味唐辛子があるので味変もOK。

これはまた行きたい。

 

2025年7月 5日 (土)

正倉院 THE SHOW@大阪歴史博物館へ行ってきた。蘭奢待の香りを再現して嗅がせてくれるもの、確かに上品でとてもいい香りだった。奈良の正倉院展には開催されるたびに行っているがものすごい混雑なので模造品でも近くでゆっくり観られるのはいい。

久しぶりに大阪歴史博物館へ。NHKの隣にある。

20250704-112937

20250704-115405

模造品とはいえよくできた正倉院の宝物が間近で観られるのはいい。

20250704-113447

20250704-113609

20250704-113629

そして蘭奢待。

20250704-114544

香りが再現されているということでぜひ嗅ぎたいということで来たのだった。

20250704-114555

並ぶのかな…と思っていたら20個の小型ガラス容器で体験できるようになっていて賢いなと思った。

で嗅いだ感想は、やっぱり上品で強いいい香りがした。

20250704-114602

2025年7月 4日 (金)

泉大津のシーパスパークをぶらぶら歩く。

ものすごくいい天気でした。

20250505-135620

20250505-135603

20250505-135535

20250505-135522 20250505-132346

この時はフラダンスをやっていた。

20250505-132232

20250505-132111

20250505-132102

 

 

2025年7月 3日 (木)

夙川公園で水車を見た。

残念ながら復元されたものではなかった…

20250521-131958

20250521-132003

2025年7月 2日 (水)

ローズマリーのあまき香り(島田荘司さん)を読んだ。20年前のニューヨークでバレエ上演中に伝説のバレリーナが幕合に密室で殺されるが、観客は最後まで踊りをみたという。20年後に御手洗潔が真相を解き明かす。ユダヤ、ナチス、ウクライナ、日本、など興味ある話題も豊富。

本当に久しぶりに島田荘司さんの御手洗潔シリーズを読んだ。

20250701-171505

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

あらすじは
「世界中で人気を博す、生きる伝説のバレリーナ・クレスパンが密室で殺された。
1977年10月、ニューヨークのバレエシアターで上演された「スカボロゥの祭り」で主役を務めたクレスパン。
警察の調べによると、彼女は2幕と3幕の間の休憩時間の最中に、専用の控室で撲殺されたという。
しかし3幕以降も舞台は続行された。
さらに観客たちは、最後までクレスパンの踊りを見ていた、と言っていてーー?」

というもの。もう最初からわけがわからない展開。

しかし20年後の1997年、いつの間にかスウェーデンの大学で脳を研究している御手洗潔(ネジ式ザゼツキーでそういう描写があったとか)が、その事件を調べている友人のジャーナリストに頼まれて推理をしていく。スウェーデン時代なので石岡さんは残念ながらでてきません。

そして3つの全く関係ない、アメリカで起きた間抜けな事件を聞いた御手洗さんは真相に迫っていく…

トリックの一つはある別の作家さんのものすごく有名な作品(映像化されるそうだ)を思い出し、もう一つは島田さんの別の作品を思い出したが、これはトリック云々よりそのクレスパンの人生や、それにかかわるユダヤ、ナチスなどなどの背景が重要で、また今の戦争についての批判もあり島田さんらしい。

長い作品だが面白くて一気に読めた。

 

 

高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事

・5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行

5G Americas Highlights the Strategic Role of Integrated Sensing and Communication for 6G

202507021

・KYOCERA AVXが3dBハイブリッドカプラ発表

KYOCERA AVX Releases New 3dB Hybrid Couplers

202507022

・TDKが車載薄膜インダクタ発表

インダクタ: 車載電源回路用薄膜インダクタの開発と量産

202507023

・Nordicが1次電池向けPMIC発表

Nordic Semiconductor’s nPM2100 Power Management IC for primary battery applications enters mass production

202507024

・ローデ・シュワルツの6GとAI/ML解説記事

AI and ML for 6G networks

・DOCSIS4.0で14Gbps達成

CableLabs sees 14-Gig speeds at latest DOCSIS 4.0 interop

2025年7月 1日 (火)

Google ColabのJulia言語で時空カオスを生む蔵本・シバシンスキー方程式(Kuramoto–Sivashinsky equation)∂u/∂t+u∂u/∂x+∂²u/∂²+∂⁴/∂x⁴=0を空間6次の差分、時間は8次のルンゲクッタ法で計算して動画にしてみる。

今回は蔵本・シバシンスキー方程式。時間・空間的にカオスを生じる最も簡単な偏微分方程式と言われている。金平糖の方程式と呼ばれているとかいないとか。

∂u/∂t+u∂u/∂x+∂²u/∂²+∂⁴/∂x⁴=0

これは何回もExcel VBAで計算しているのでそれを移植した。

空間方向は6次の差分(4階微分が出てくるので他の微分もそれに合わせた)でこんな感じで書ける。

1階: (-u(x-3dx)/9 + u(x-2dx)-5u(x-dx)+5u(x+dx) -u(x+2dx)+u(x+3dx)/9)/(20dx/3)
2階: (2u(x+3dx)-27u(x+2dx)+270u(x+dx)-490u(x)+270u(x-dx)-27u(x-2dx)+2u(x-3dx))/(180dx^2)
3階: (-u(x+3dx)+8u(x+2dx)-13u(x+dx)+13u(x-dx)-8u(x-2dx)+u(x-3dx))/(8dx^3)
4階: (-u(x+3dx)+12u(x+2dx)-39u(x+dx)+56u(x)-39u(x-dx)+12u(x-2dx)-u(x-3dx))/(6dx^4)

時間方向はRunge Kutta Felhbergの8次を使う。

コードはこんな感じ。


using Plots
using Random
using Printf

function main()
    n = 200 #空間分割数
    m = 400000 #時間分割数

    u = zeros(Float64, n + 6)
    ud = zeros(Float64, n + 6)


    xmax = 50.0
    xmin = 0.0
    x = zeros(Float64, n + 6)
    D = 0.15

    t = 0.0
    dt = 0.0005
    dx = (xmax - xmin) / (n - 3)
    MT = MersenneTwister()
    Random.seed!(MT, 42)

    #表示用
    results = []
    ndiv = 500

    #8次のルンゲクッタ法の係数
    a = zeros(Float64, 13)
    b = zeros(Float64, 13, 13)
    c = zeros(Float64, 13)
    ku = zeros(Float64, n, 13)

    a[1] = 0.0
    a[2] = 2.0 / 27.0
    a[3] = 1.0 / 9.0
    a[4] = 1.0 / 6.0
    a[5] = 5.0 / 12.0
    a[6] = 0.5
    a[7] = 5.0 / 6.0
    a[8] = 1.0 / 6.0
    a[9] = 2.0 / 3.0
    a[10] = 1.0 / 3.0
    a[11] = 1.0
    a[12] = 0.0
    a[13] = 1

    b[2, 1] = 2.0 / 27.0

    b[3, 1] = 1.0 / 36
    b[3, 2] = 1.0 / 12.0

    b[4, 1] = 1.0 / 24.0
    b[4, 3] = 1.0 / 8.0

    b[5, 1] = 5.0 / 12.0
    b[5, 3] = -25.0 / 16.0
    b[5, 4] = 25.0 / 16.0

    b[6, 1] = 1.0 / 20.0
    b[6, 4] = 1.0 / 4.0
    b[6, 5] = 1.0 / 5.0

    b[7, 1] = -25.0 / 108.0
    b[7, 4] = 125.0 / 108.0
    b[7, 5] = -65.0 / 27.0
    b[7, 6] = 125.0 / 54.0

    b[8, 1] = 31.0 / 300.0
    b[8, 5] = 61.0 / 225.0
    b[8, 6] = -2.0 / 9.0
    b[8, 7] = 13.0 / 900.0

    b[9, 1] = 2.0
    b[9, 4] = -53.0 / 6.0
    b[9, 5] = 704.0 / 45.0
    b[9, 6] = -107.0 / 9.0
    b[9, 7] = 67.0 / 90.0
    b[9, 8] = 3.0

    b[10, 1] = -91.0 / 108.0
    b[10, 4] = 23.0 / 108.0
    b[10, 5] = -976.0 / 135.0
    b[10, 6] = 311.0 / 54.0
    b[10, 7] = -19.0 / 60.0
    b[10, 8] = 17.0 / 6.0
    b[10, 9] = -1.0 / 12.0

    b[11, 1] = 2383.0 / 4100.0
    b[11, 4] = -341.0 / 164.0
    b[11, 5] = 4496.0 / 1025.0
    b[11, 6] = -301.0 / 82.0
    b[11, 7] = 2133.0 / 4100.0
    b[11, 8] = 45.0 / 82.0
    b[11, 9] = 45.0 / 164.0
    b[11, 10] = 18.0 / 41.0

    b[12, 1] = 3.0 / 205.0
    b[12, 6] = -6.0 / 41.0
    b[12, 7] = -3.0 / 205.0
    b[12, 8] = -3.0 / 41.0
    b[12, 9] = 3.0 / 41.0
    b[12, 10] = 6.0 / 41.0

    b[13, 1] = -1777.0 / 4100.0
    b[13, 4] = -341.0 / 164.0
    b[13, 5] = 4496.0 / 1025.0
    b[13, 6] = -289.0 / 82.0
    b[13, 7] = 2193.0 / 4100.0
    b[13, 8] = 51.0 / 82.0
    b[13, 9] = 33.0 / 164.0
    b[13, 10] = 12.0 / 41.0
    b[13, 12] = 1.0

    c[6] = 34.0 / 105.0
    c[7] = 9.0 / 35.0
    c[8] = 9.0 / 35.0
    c[9] = 9.0 / 280.0
    c[10] = 9.0 / 280.0
    c[12] = 41.0 / 840.0
    c[13] = 41.0 / 840.0


    #初期値
    for i in 1:(n + 6)
        x[i] = xmin + (i - 3) * dx
    end
    for i in 4:(n + 3)
        u[i] = 0.1 * (2.0 * rand(MT) - 1.0)
    end
    u[1] = u[n + 1]
    u[2] = u[n + 2]
    u[3] = u[n + 3]
    u[n + 4] = u[4]
    u[n + 5] = u[5]
    u[n + 6] = u[6]

    for i in 1:m

        # 8次のルンゲクッタ法計算
         @inbounds for ii in 4:(n + 3)
            ku[ii - 3, 1] = fu(ii, t + dt, u, dx, n) * dt
          end

        @inbounds for j in 2:13

            @inbounds @simd for ii in 4:(n + 3)
                ud[ii] = u[ii]
            end

            @inbounds for k in 1:(j - 1)
                @inbounds @simd for ii in 4:(n + 3)
                    ud[ii] = ud[ii] + b[j, k] * ku[ii - 3, k]
                end
            end

            @inbounds for ii in 4:(n + 3)
                ku[ii - 3, j] = fu(ii, t + a[j] * dt, ud, dx, n) * dt

            end
        end

        @inbounds @simd for j in 1:13
            for ii in 4:(n + 3)
                u[ii] = u[ii] + c[j] * ku[ii - 3, j]
            end
        end
        t = t + dt

        # ndivステップごとに結果を配列に格納
        if i % ndiv == 0
            push!(results, copy(u))
        end

    end
    # 計算結果をアニメーションで表示
    anim = @animate for i in 1:length(results)
        plot(x, results[i], ylim = (-3, 3), linewidth = 3,title="Kuramoto Sivashinsky equation", label="", xlabel="x", ylabel="u", size=(900,500))
    end
    gif(anim, "Kuramoto_Sivashinsky.gif", fps = 30)
end

 function fu(i, t, u, dx, n)

    u[1] = u[n + 1]
    u[2] = u[n + 2]
    u[3] = u[n + 3]
    u[n + 4] = u[4]
    u[n + 5] = u[5]
    u[n + 6] = u[6]

    d1 = (u[i + 3] / 9.0 - u[i + 2] + 5.0 * u[i + 1] - 5.0 * u[i - 1] + u[i - 2] - u[i - 3] / 9.0) / (20.0 * dx / 3.0)
    d2 = (2.0 * u[i + 3] - 27.0 * u[i + 2] + 270.0 * u[i + 1] - 490.0 * u[i] + 270.0 * u[i - 1] - 27.0 * u[i - 2] + 2 * u[i - 3]) / (180.0 * dx * dx)
    d4 = (-u[i + 3] + 12.0 * u[i + 2] - 39.0 * u[i + 1] + 56.0 * u[i] - 39.0 * u[i - 1] + 12.0 * u[i - 2] - u[i - 3]) / (6.0 * dx * dx * dx * dx)

    return -u[i] * d1 - d2 - d4

 end

main()で実行させるとこうなる。

全く予想できない動きをしている。

« 2025年6月 | トップページ | 2025年8月 »

最近の記事

2025年11月
            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            
無料ブログはココログ
フォト