芥川龍之介が「蜘蛛の糸」を発表して百年。高二の秋の文化祭,クラスの仮装行列のテーマが 蜘蛛の糸だった。お釈迦様の極楽タワーの竹を近所から切り出し,地獄の焔と煙の絵を描いた。犍陀多に続いて蜘蛛の糸(登山部の赤いザイル)に群がる地獄の亡者だったころ。
2022年11月28日月曜日
世界はSFになる?
2022年11月27日日曜日
軸対称電荷分布(4)
2022年11月26日土曜日
軸対称電荷分布(3)
2022年11月25日金曜日
タイパ
2022年11月24日木曜日
軸対称電荷分布(2)
v[r_] := -3*NIntegrate[s^2/(r*HeavisideTheta[r-s] + s*HeavisideTheta[s-r]), {s, 0, 1}]Plot[v[r], {r, 0, 5}, PlotRange -> {0, -1.6}]
2022年11月23日水曜日
軸対称電荷分布(1)
2022年11月22日火曜日
Mathics(2)
Mathics 5.0.2on CPython 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]using SymPy 1.10.1, mpmath 1.2.1, numpy 1.23.4Copyright (C) 2011-2022 The Mathics Team.This program comes with ABSOLUTELY NO WARRANTY.This is free software, and you are welcome to redistribute itunder certain conditions.See the documentation for the full license.
前回より,かなりバージョンがあがっている。 GUIの画面も実装しているようなので試してみたが,これがなかなか難渋する。どうやら,Three.jsというJavascriptによる三次元グラフックシステムを利用しているらしい。これも7-8年前に流行ったようだが全く知らなかった。MathicsのGUI版の方は,Mathics-Djangoという名前で,PythonのウェブフレームワークのDjangoの上で動いていた。
djangoは,作業ディレクトリ(~/mathics-django-master/mathics_django)で,manage.py runserver を実行すると,ローカルのウェブサーバー( http://127.0.0.1:8000/)が立ち上がる仕組みになっている(エラーが出たら指示に従ってディレクトリに必要なファイルを持ってくる)。最初のエラーは,scipy-stackのインストールで,次のエラーは,データベースの場所の問題だったが,~/.local/var/mathicsというデフォルトのディレクトリを作成することでようやく解決することができた。pip3 install Mathics-Djangocd mathics-django-master/mathics_django*You have 21 unapplied migration(s).python3 manage.py migratepython3 manage.py runserver*error AttributeError: module 'scipy.linalg' has no attribute 'inv'pip3 install scipy-stackpython3 manage.py runserver*error sqlite3.OperationalError: unable to open database file*error django.db.utils.OperationalError: unable to open database filemkdir ~/.local/var/mathics
早速実行してみたが,相変わらず,計算量の制限は大きく,1500!(10進 4114桁)くらいまでしか計算できない。本物のMathematicaならば,10000000!(10進 65 657 059桁)でも平気で計算できるのだけれど。
なお,List of computer algebra systems には無事に掲載されていた。2022年11月21日月曜日
マストドン(4)
サーバ ユーザ数 ポスト数mastodon.social 87.7万 42.3Mpawoo.net 77.9万 67.3Mmstdn.jp 28.8万 62.0Mmastodon.cloud 22.8万 4.5Mmastodon.online 16.5万 2.5Mmas.to 12.7万 1.7Mmastodon.world 7.4万 0.2M
2022年11月20日日曜日
マストドン(3)
国内(MAU) 世界(MAU)
なお,世界的にはこれらの他に,WhatsApp(20億,メタ=米国) ,WeChat(13億…中国国内分,テンセント=中国)などもある。
7つのSNSすべてについて自分のアカウントを作っている。LINEは家族連絡用のみ,YouTubeは情報検索・情報入力用,noteは無料コンテンツに誘導された場合だけ,Twitterは世の中の動きをみるため(エコーチェンバーになっているのであまり意味がないかも),Instagramは散歩スナップの発信用,高齢者ユーザが多いFacebookでは友人・知人の様子がわかる,若者向けTikTokはほとんど使っていない。
マストドンには,分散サーバ(インスタンス)の数が1650ほどある。その合計ユーザ数が700万人だ。各サーバ平均4000人だが,フォローしていればどのインスタンスのユーザでも自分のタイムラインに見える。ただし,Twitterに比べて1桁小さい規模である。Twitterでは900人ほどをフォローしフォローされているが,5年前のマストドンで自分がリンクしていたのは200人ほどであったが多くは休眠状態だ。そんなわけで,タイムラインを眺めていても世界の様子を知ることはまだできない。
2022年11月19日土曜日
弾道ミサイルの軌道(5)
2022年11月18日金曜日
マストドン(2)
2022年11月17日木曜日
無敵
2022年11月16日水曜日
三宅雪嶺記念館
2022年11月15日火曜日
80億人の日
2022年11月14日月曜日
Intel Fortran
https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-base-hpc-macos/top/before-you-begin.html?cid=oth&campid=iags_install&source=installer?cid=oth&campid=iags_install&source=installer. /opt/intel/oneapi/setvars.sh
(4) 簡単なプログラム a.f を作って実行してみた。
implicit complex*16(a-h,o-z)
write(*,*) "input a,b,c"
read(*,*) a,b,c
x1=(-b+sqrt(b**2-4*a*c))/2
x2=(-b-sqrt(b**2-4*a*c))/2
write(*,*) " x1= ",x1," x2= ",x2
end
$ ifort a.f
$ ./a.out
$ input a,b,c
$ 1,1,1
$ x1= (-0.500000000000000,0.866025403784439) x2=
(-0.500000000000000,-0.866025403784439)
できた。
SIN基底とQUADPACKによる1次元時間依存しないシュレーディンガー方程式のページの例題も試してみる。調和振動子のエネルギー準位が再現できた。なお,行列の対角化ライブラリがはいっているインテル・マス・カーネルライブラリのオプション -mkl を -qmkl にせよとの警告がでていた。
$ ifort -qmkl quadpack.f90 main.f90
$ ls
a.out main.f90 quadpack.f90
$ ./a.out
1 0.499999999999997
2 1.50000000000004
3 2.50000000000008
4 3.50000000000073
5 4.50000000003176
6 5.50000000018886
7 6.50000000502383
8 7.50000002123218
9 8.50000037227348
10 9.50000121353051
2022年11月13日日曜日
ホール・アース・カタログ
2022年11月12日土曜日
一谷嫩軍記
2022年11月11日金曜日
最小交換硬貨枚数(2)
2022年11月10日木曜日
最小交換硬貨枚数(1)
[46, 10, 10, 10, 10, 5, 1, -6]
[46, 1, 1, 1, 1, -4][50, 50, -5]
[46, 1, 1, 1, 1, 50, -5][100, 100, -6]
[46, 1, 1, 1, 1, 50, 100, 100, 100, 100, -9][500, 500, -10]
そこで,1000円以下なら数もしれているということで,方針を変えて総当たりで確認するアルゴリズムに変更した。全くスマートではないのである。この中から最小値を探すのは目の子でできる。出力される配列 [ ] の中身は,交換される硬貨枚数が並んでいて,マイナスがついたものは店から客へのバック分を表わしている。最後の出力値が交換硬貨枚数だ。
function foop(y)
c=[1,5,10,50,100,500]
k=[0,0,0,0,0,0]
for k[1] in -4:4
for k[2] in -1:1
for k[3] in -4:4
for k[4] in -1:1
for k[5] in -4:4
for k[6] in 0:2
z = 0
n = 0
for j in 1:6
n = n + abs(k[j])
z = z + c[j]*k[j]
end
if z==y
println(z," : ",k," : ",n)
end
end
end
end
end
end
end
end
foop(46)
46 : [-4, 0, 0, -1, -4, 1] : 10
46 : [-4, 0, 0, -1, 1, 0] : 6
46 : [-4, 0, 0, 1, 0, 0] : 5
46 : [1, -1, 0, -1, -4, 1] : 8
46 : [1, -1, 0, -1, 1, 0] : 4
46 : [1, -1, 0, 1, 0, 0] : 3
46 : [1, 1, -1, -1, -4, 1] : 9
46 : [1, 1, -1, -1, 1, 0] : 5
46 : [1, 1, -1, 1, 0, 0] : 4
46 : [1, 1, 4, 0, 0, 0] : 6
ここまでくるのに2時間くらいかかったので,とてもじゃないけれど自分の場合60分で大問4問も解けそうにはない。ループ変数を配列にするなんていうのは初めての経験だった。