無限数列の極限を与える特性関数を調べる

無限数列の極限を与える特性関数を調べているところだが,だいぶ分かってきた.特性関数とY=Xのグラフ上の交点を結節点と呼ぶことにしよう.結節点が1個だけなら,この点は数列の極限である.結節点は極限となる場合と収束範囲の境界点になる場合がある.このような点を境界杭と呼んでいる.通常,収束点と境界杭は一つ置きに並ぶものと考えれるが,結節点において特性関数の傾きが1の場合,つまり,Y=Xが特性関数の接線になっている場合には,「象限」が変化しないため,同じ方向に収束することになる.収束点は収束範囲の内部にあり,収束点の上下でいずれも収束点に向かう運動になる.

このことをまず,確認しておくことにしよう.Julia のコードが残っているはずだから,それを修正すればすぐ動かせるだろう.Julia は VS Code 上で使っている.多分これが一番使い易い方法ではないかと思う.最初からウィンドウが2つ開いている.これは何だろう?また,実行してエラーが出た.立ち上がっているのは,「再帰関数呼び出しテスト3」だ.本体でも同じファイルが開かれている.⇒ Shift+Enter で実行してエラーになってしまう.

ERROR: LoadError: UndefVarError: `@printf` not defined
in expression starting at d:\再帰関数JL\x=√6x.jl:20

なぜだろう?動いていたはずなのだが… 現在JLファイルが7個あるが,どこに保存していたのだろう?それをまず確認しておこう.⇒D:\再帰関数JLというフォルダだ.これをまずバックアップしてから開始しなくてはならない.⇒起動した時点でエラーが発生している.

ERROR: LoadError: IOError: connect: no such file or directory (ENOENT)

何だろう?ENOENT なんて聞いたこともない.JULIA 本体は babalabo に置かれている.VS Code 本体は C:\Program Files の中だ.確かに ENOENT というエラーが起きることはネット上でも報告されている.

https://github.com/julia-vscode/julia-vscode/issues/2595

比較的最近出てきたトラブルのようだ.上記によれば,このエラーが出ていても実行は可能であるようだが…

disabling the terminal.integrated.enablePersistentSessions setting

というアドバイスがある.以下のリンクを参照ということのようだ.

https://stackoverflow.com/questions/69889448/how-to-prevent-vs-code-to-remember-terminal-sessions/69894400

settings.json に

“terminal.integrated.persistentSessionReviveProcess”: “never”

と書き込むということのようだ.⇒何とか修正できた.⇒起動時のエラーは解消した.`@printf`が未定義というエラーは残っている.ALT+ENTER で実行できた.SHIFT+ENTERやCTRL+ENTERではおそらくすべてのファイルを実行しようとしているのだろう.この関数は x=√6.jl に入っているものだ.

再帰関数呼び出しテスト3:x=√6x
precision=300 maxloop=300 A=6.00000000000000000000000000000000000000000000000000000000000000000000000000000000

を出して停止する.





Julia を始めて何日になるだろう?

Julia を始めて何日になるだろう?何とか動かすところまでは漕ぎ着けたが,まだ問題は解けていない.関数自体は簡単なものなのですぐにでも終わると思っていたのだが,どうにもこうにも動いてくれない.Julia は発想的にかなりわたしに近いような気がしていのだが,どうも真逆だったような気がする.右ハンドルから突然左ハンドルの世界に放り出されたようで,車を出すたびにあちこちぶつかって車体もボコボコという感じだ.そもそも ^C でコピー,^Vでペーストが通用しないなんてのは始めてだ.Julia はおそらく UNIX の世界から出てきているものと思われるが,^C, ^V は UNIX から始まったものだったはずなのだが…

その意味では,まるきり独自の世界観に基づくと言ってよいが,それもかなりアナーキーな世界であるように感じる.ショートカットで,^Shift+C,^Shift+Vが使えることがわかったのでとりあえず,編集はできるようにはなったが… ファイルやモジュールの管理もかなりルーズな感触がある.一応 module とか package のような概念はあるが,VS のような構造化したものではない.アバウトと言えばアバウトで,勝手をわきまえればそれほど不自由はしないのかもしれないが… 最大の問題は,再帰関数で戻り値を引数に書き込んでも返ってこないという点だ.

ほとんどワケワカリませ~んというレベルだが,これを何とかして動かさないと今までの苦労も水の泡になってしまう.Julia では引数はすべて参照渡し(コピーを作らない)と理解しているのだが,通常の参照渡しの作法がまったく通用しない別世界になっている.マニュアルでは引数並びでいくらでも複数の戻り値を返せるような書き方になっているが,実はその正反対で,本心では「それは本則に反する」と呟いているのではないかという気がする.つまり,誰かが書いていたように,「Pure Function」が彼らの理想なのではないか?それが,関数名の後ろに「!」を付けるという「慣例」はそれに準拠しているような気がする.ともかく,もう少し調べてみることにしよう.

どうしたのだろう?昨日の終業時の状態とまったく違う画面が出ている.端末にはPS D:\再帰関数JL>というプロンプトが出ている.PowerShellなど起動した覚えはない.Shift+F5でデバッグ付き実行ができない.⇒勘違い.Shift+F5はデバッグ中止,Shift なしで実行だ.

Julia 事始め:

Julia 事始め:

image

https://julialang.org/downloads/platform/#:~:text=Adding%20Julia%20to%20PATH%20on%20Windows%2010%2C&text=cpl%2CEditEnvironmentVariables%20and%20hit%20enter,noted%20from%20the%20installation%20stage.

Open Run (Windows Key + R), type in rundll32 sysdm.cpl,EditEnvironmentVariables and hit enter

https://stackoverflow.com/questions/61238046/workspacefolder-can-not-be-resolved-please-open-a-folder-on-visual-studi

おかしい.昨日の時点ではエラーはすべてクリアできていたはずなのに,また同じエラーが出るようになってしまった.

image

始業時にバックアップを取った後,開発用フォルダ名をリネームしているが,動作には影響しないはず… ⇒再起動して収まった.module Foo.jl というファイル名で始めているので,このまま続けてみよう.この関数はどこから拾ってきたのだろう?

module Foo
import Base.show
export MyType, foo
struct MyType
    x
end
bar(x) = 2x
foo(a::MyType) = bar(a.x) + 1
show(io::IO, a::MyType) = print(io, “MyType $(a.x)”)

多分,ドキュメントの中だったと思うが… Julia の REPL にはヘルプモードというのがあるので試してみよう.?を入力するとプロンプトが help?>に変わる.Julia を使うためには,少なくとも,①変数,②関数,③再帰呼び出しの方法を知らなくてはならない.変数は基本的に型宣言なしで使い始めることができるようだ.⇒Julia の REPL で行を戻って新しい行を挿入できない!つまり,最初から打ち直さなくてはならないようだ.リターンキーでその行を実行してしまう.ネット上で拾った対処策:https://blog.sgry.jp/entry/2019/08/04/152533

①外部テキストエディタで編集しておいたものをコピペする,②キーバインドを設定する.startup.jl でのキーバインド追加方法でのポイント⇒実装してみたが,効果なし.訳がわからない.キーバインドのリストはどこかで一度見たような気はするが,見つからない.もう一度一からやり直してみる.JuliaとVSCodeをアンイストールし,コマンドプロンプトから,winget install julia -s msstore を実行する.

ダメだ.失敗してしまった.しかし,リンクはまだ繋がっているように思われる.PowerShellではUnicodeが文字化けしてしまうようだ.Yボタンを押すところで止まっていたようだ.今度は成功した.
winget install julia -s msstore

Juliaupもインストールされたようだ.上掲のページではPlease star us on GitHub.とある.多分,これはJuliaがGitHub経由で配布されていることによるものだろう.

https://github.com/JuliaLang/julia

Julia も VSCode もデフォルト位置にインストールした.これで動かなければお手上げだ.⇒VSCodeを起動したら,前回の状態で立ち上がってきた.アンインストールしたので,何も残っていないものと安心していたのだが… VSCodeの拡張にJuliaが復活してきた.どうもまずいことになったが,ともかく一度アンインストールして再インストールすることにする.再帰関数Juliaというすでに削除してしまったフォルダ名がWORKSPACEとして残っている.これを消したかったのだが…

新規ファイルを名前を付けずに作ってしまったが,どこに作ったのだろう?⇒再帰関数Juliaフォルダは削除できた.代わりに再帰関数JLを登録したら,中に入っているJLファイルがそっくり出てきた.UNTITLED(WORKSPACE)に名前を付けたいのだが… Users/babalabo/.Julia というフォルダはあるが,EXEの置き場所がわからない.LOGなどもそっくり残っている.D:\Juliaは空っぽになっている.⇒エディタで,以下を入力→実行してようやく少し動き始めた.

msg=”Hello World”
println(msg)

  Installing known registries into `C:\Users\babalabo\.julia`
   No Changes to `C:\Users\babalabo\.julia\environments\v1.10\Project.toml`
   No Changes to `C:\Users\babalabo\.julia\environments\v1.10\Manifest.toml`
[ Info: Precompiling VSCodeServer [9f5989ce-84fe-42d4-91ec-6a7a8d53ed0f]
Hello World

ともかく,「Julia in VS Code」を一通り読んでみよう.^F5でコードを実行しようとしたら,初めてファイルの置き場所を聞かれた.Julia ExtensionのPlotを導入しみた.かなりエラーが発生している.pkg> precompile というのをやるようにと言われたが,うまくゆかない.以下のコードも実行できない.

using Plots

x = 1:10; y = rand(10); # These are the plotting data

plot(x,y, label=”my label”)

ERROR: `Plots` is a direct dependency, but does not appear in the manifest. If you intend `Plots` to be a direct dependency, run `Pkg.resolve()` to populate the manifest. Otherwise, remove `Plots` with `Pkg.rm(“Plots”)`. Finally, run `Pkg.instantiate()` again.

Julia REPL で Julia>using Plots を実行してみたが,山のようなエラーが出ただけだ.

パスワードリストの最終版を紛失

やっと見つかった!パスワードリストの最終版を紛失しどうしても見つからないのであきらめかけていたところだが,あった.外付けHD→未整理→ELECOM64→社内秘フォルダ 2020^10-09Aだ.ここにはわたしの履歴書 2020 と超三角形の庭もある.多分これが最新だと思う.

カスペルスキーのパスワードマネージャでハッキングされた履歴があるという警告が3件出ているが,サイトにアクセスできない.多分これらの窓口はすでにシャットダウンされているのだろう.東和と楽天,FBの古いアカウントではないかと思う.

ロリポップのownCloudが使いづらい.ユーザIDは2つ登録されているが,babalaboではログインできない.babalabosならログインできるが,パスワードマネージャには登録が見当たらない.babalabosでログインしたページには共有中のファイルがない.どうもよくわからない.壊れてしまったのか,壊してしまったのか?コラッツジェネレータのEXEやマニュアルはダウンロードできるようにはなっているのだが… どういうことだろう?

パスワードをリセットするためのリンクをメールで送信したという表示が出ているが,何も入ってこない.登録メアドが間違っているのだろうか?これは後で,もう少し落ち着いてからやることにしよう.

ナムの課題に米澤晋吾氏から証明が付いた

ナムの課題に米澤晋吾氏から証明が付いた.こんなに早く証明が出てくるとは思わなかったので,意外だった.証明は射影幾何学の手法によるもので,まだ完全には読解できていない.ともかく,まず命題を定式化するところから始めよう.米澤氏は命題を以下のよう定立している.

2次曲線Γに異なる6点 D, E, F, G, H, I がある.さらに,A, B, C,P, Q, R,および J, K, L を直線の交点から定める.このとき AP 上にJ,BQ 上にK,CL 上に R があり,AP, BQ, CR は一点 M で交わる.

「CL 上に R があり」というのはおそらく「CR 上に L があり」の誤記と思われる.⇒コメントしたら,即応答があった.⇒図版を統一したいので,GRAPEをダウンロードした.どうも,GeoGebraほど直観的なものにはなっていないようだ.すこし遊んでみよう.

いや,これはちょっと手が出ない気がする.曲線を描こうとすると,まず式を入力することを要求される.点を繋ぐという入力方法もあるが,ベジエ曲線や折れ線しか引けない.将来的に使うこともあるかもしれないが,いまのところGeoGraphしかなさそうだ.GeoGraphの場合には5点を通る二次曲線というのがあるので,ここから始めることができる.