2017-01-01から1年間の記事一覧

UbuntuにLocalにWordPressをインストール

あちこちのサーバーでClosedにWordPressにメモなどを書いていたのをxmlで吐き出して、自分のパソコンのWordPressに読み込ませよう、サーバーは全部解約しよう、と思い立ちました。 環境はUbuntu 16.04です。サーバーではなくて、普通のデスクトップ。 Local …

表音文字としての中国語

木簡によって万葉集以前の日本語表記がだんだん明らかになってきていますが、木簡の和歌(歌木簡)はすべて一字一音の字音表記で書かれているようです。 万葉集の万葉仮名のように訓読みがまざっていない。 漢字を表音文字として使っています。 まるで現代の…

鬱という漢字の覚え方

躁うつ病とかのウツという漢字があります。 鬱 この字の覚え方はどういうのだったか忘れたので検索してみました。 昔会社で習ったのがでてきて、 きかんきわこめのはこいりひにみっつ(木缶木ワ米の凵いりヒに彡つ) うむ。なるほどこれは覚えにくい、だから…

Haskell演算子、中置記法の記号の読み方

--Haskell演算子、中置記法の記号の読み方! -> アレーのインデクス。(!) :: Ix i => Array i e -> i -> e! -> 正格(strict)フラグ。foo !x -> foo strict x。とか!! -> リストのインデクス。(!!) :: [a] -> Int -> a$ -> カッコのかわり ($) :: (a -> b) -> …

Haskell : タプルとリストの相互変換

-- convertlist.hs-- 各種convertのプログラム。-> 練習問題-- 1.タプルとリストの相互変換 -> [[1,2],[3,4]] -> [(1,2),(3,4)]-- 2.タプルから2つのリストへ相互変換 -> [(1,'a'),(2,'b')] -> [1,2]['a','b']-- 3.タプルからフラットリストへ相互変換 -> [(…

Haskellで行番号をつける

問題 : 任意のテキストファイルの各行に行番号をつけて画面に出すプログラムを作れ。 解答例 -- numberlines.hs-- runghc numberlines.hs filename import Data.Listimport System.Environmentimport Text.Printf main :: IO ()main = do args <- getArgs co…

Haskellのランダムについて

Hakellは関数型言語で参照透過性とかを保証するために、同じことをやったら同じ結果が出ることが保証されているために、randomについてはちょっとというか相当ややこしい。 いまの私の理解は以下のようなものですが、これで合ってるか。 import System.Rando…

Ubuntuのマウスポインターを大きくする

マウスのポインターを大きくする方法です。 目が悪くなってきたのと、起動時に無線マウスの反応が悪くて、マウスの矢印がすこしでも大きいといいかな、と思い探してやってみました。うまく行ったのでご報告。 環境はUbuntu 16.04です。 echo "Xcursor.size: …

SageMathとグラフ理論(オイラーの公式)

問題 車輪グラフついて、オイラーの公式(Euler's formula)が成り立つことを確認せよ。 オイラーの公式: $$ n - m + f = 2 $$ : 頂点の数、: 辺の数、: 面の数 %histG=graphs.WheelGraph(8)show(G)len(list(G.vertex_iterator())) # -> 8len(list(G.edge_ite…

アイデア: エレキギターハンガー

ダイソー 車のシートフック という自動車のヘッドレストのポールにつける二連のフックがあります。 これがギターハンガーにならないか、というアイデアです。 みかけはギターハンガーにそっくりです。 とりあえず買ってきて、合わせてみたところ自分のエレキ…

SageMathでグラフ理論(TABの使い方)

SageMathでグラフに関係してどんな関数があるか、とか調べるときにタブ補完(Tab completion)を使います。 たとえば、グラフを書きたいとき、 G=graphs.<TAB> と押すと、200個ほどの関数がある。 また、G=Graph()としたうえで、 G.<TAB> と押すと、グラフに使える関数が</tab></tab>…

SageMathとグラフ理論(平面グラフ)

問題12.1(i) 頂点数5の車輪Wheel、が平面グラフであることをグラフで示せ。(ii) octahedron(八面体)が平面グラフであることをグラフで示せ。 すなおに描くと平面グラフになってしまう。 問題の意図としては必ずしも平面グラフでないものを平面グラフ的(plana…

SageMathでグラフ理論(クラトウスキーの定理)

THEOREM 12.2(Kuratowski, 1930). A graph is planar if and only if it contains no subgraph homeomorphic to or . グラフが平面グラフであるための必要十分条件はが またはと位相同型な部分グラフを含まないことである。 THEOREM 12.3 A graph is planar …

SageMathとグラフ理論(次数の数列とグラフ的について)

次数(degree)の数列を与えられて単純グラフ(ループや多重辺がないグラフ)が描けるかどうか(グラフ的)かどうかを問う問題があります。 例えば[3,3,3,3,3,3]だと3点と3点の完全二部グラフが描けますのでグラフ的である、という解答が載っていたりする。 し…

SageMathとグラフ理論(接続行列incidence matrix)

接続行列からでもグラフがかけるか実験します。 接続行列Mで与えられるグラフを描け。 M=matrix(5,8,[[0,0,1,1,1,1,1,0],[0,1,0,1,0,0,0,1],[0,0,0,0,0,0,0,1],[1,0,1,0,1,0,1,0],[1,1,0,0,0,1,0,0]]) G=Graph(M)show(G) 描けました。 ということは、接続行…

SageMathとグラフ理論(連結グラフ)

introduction to graph theory by wilsonのp.11のFig.2.9は頂点が5個までの連結グラフ(connected unlabelled graph)で、31個ある。 これを作る。 (なぜならテキストの練習問題で何度も使われるから。例えば、この内、ツリーはどれとどれか。とか。) sage: …

SageMathとグラフ理論(隣接行列、接続行列、ラプラシアン(キルヒホフ)行列)

まず、ひとつグラフを作ります。 V=['P','Q','R','S','T']E=[['P','Q'],['Q','R'],['R','S'],['S','T'],['T','P'],['P','S'],['Q','T'],['Q','S']]g=Graph([V,E]) 隣接行列 sage: g.adjacency_matrix()[0 1 0 1 1][1 0 1 1 1][0 1 0 1 0][1 1 1 0 1][1 1 0 1…

SageMathとグラフ理論(カノニカル行列)

Pythonのdictionaryの形で次のように指定すると、グラフが描けます。 g1=Graph({'P':['Q','S','T'],'Q':['R','S','T'],'R':['S'],'S':['T']})show(g1) これはうまい具合に横向きになったし、なによりも頂点がアルファベット順ですがいつも必ずしもそうではあ…

SageMathとグラフ理論(全域木)

下記のグラフのすべての全域木(spanning tree)を描け。 g=Graph([['a','b'],['b','c'],['c','d'],['d','a'],['a','c']]) [p1,p2,p3,p4,p5,p6,p7,p8]=map (plot, g.spanning_trees()) graphics_array((p1,p2,p3,p4,p5,p6,p7,p8),2,4) 同様に次のグラフのspan…

SageMathとグラフ理論(ツリー)

頂点が6個の単純グラフでツリーがいくつ作れるか。 6個のようです。 以下、図とSageMathのプログラムです。 pythonのfilterを使ってみました。 pythonでmapやfilterが使えるのを知らなかったし、lambdaにグラフを入れられるのも知らなかったし、is_treeで選…

SageMathとグラフ理論(プラトングラフ)

プラトングラフとは正四面体、正八面体、立方体、正十二面体グラフと正二十面体グラフのことだそうです。 とりあえずSageMathでグラフで表現することができたのでご紹介。 # platonic.sage# plot five platonic graphs.# attach('platonic.sage') p1=plot(gr…

SageMathとグラフ理論(同型判定、カノニカルラベル)

グラフが同型である、ということの定義はこれこれ(要確認)、同型であることを判定する関数はG,Hをグラフとすると、 G.is_isomorphic(H) とかであろう、と予想されます(未確認)。 ところでグラフが同型であることのアルゴリズムはカノニカル(canonical)型に…

SageMathでグラフ理論

SageMathでグラフを描く描き方はいろいろあるみたいです。 空(カラ)のグラフを作って、頂点や辺を加えていく描き方。 g=Graph()g.add_vertices(range(6))g.add_edges([(0,3),(1,3),(2,3),(2,4),(2,5)])show(g) 次のは頂点と隣接する辺をPythonの辞書にして…

SageMathでグラフ理論

WilsonのIntroduction to Graph Theoryに、図のGrötzschグラフがハミルトングラフであることを示せ、という練習問題がありました。 SageMathでこういった名前がついたグラフを描くのはとても簡単です。 sage: g=graphs.GrotzschGraph()sage: show(g) graphs…

SageMath LaTeX Error: File `preview.sty' not found.

数学ソフトのSageMathのドキュメントでConstructionsというのの最初の方に、次のような例があって、 sage: var('x k w')sage: f = x^3 * e^(k*x) * sin(w*x)sage: f.diff(x)sage: latex(f.diff(x))sage: view(f.diff(x)) 最後の一行で、LaTexに画像変換され…

広瀬すずが持ち上げているバーベルの重さ

広瀬すずがバーベルスクワットしている写真がかっこいいですが、これ何kgもちあげているのだろう。 たぶん10kgのプレート2枚と2.5kgのプレート2枚。これで25kg。それにシャフトの重さ10kgを足して、35kgではないでしょうか。 普通のウエイトトレーニングのプ…

Texmaker

最近数学関係のテキストを読むのが趣味になって、PDFでダウンロードするのですが、相当数がTeXで書かれています。わたしもなにか書いてみようと思って、TeXで書くための環境を整え始めました。 Texmakerという環境が便利らしい。エディター部分があって、そ…

かゆみ止めにお灸

いつも書いていますが、蚊に刺されたり、蕁麻疹だったり痒いところにはホットタオルがとても効きます。先日、エンボスヒーターがホットタオル、蒸しタオルがわりになることを書きましたが、近所のダイソーに行ったら、お灸を売っていました。これもホットタ…

小冊子印刷分冊のアイデア

数学やプログラミングの有名なテキストがインターネットで読むことができます。むろん本でも出ているのですが、あちらの本はたいへん高い。翻訳がでればそれでも高いけどそこそこの値段で手に入るようになります。なぜでしょう。たぶん価格と売れ行きのカー…

ウエストゴムのゆるめかたとクラッシュアイスの作り方。ホットタオルの代用。

ウエストゴムが縫い込んである服でゴムがきついときにはどうしたらよいか、と考えて糸をこまかく外して切れ目を入れるとかしかないかなぁ、とネットで検索してみたら熱いアイロンをかければいいって。やってみたら大成功です。ゴムが伸びてそのままになって…