ボローニャのスペイン寮

現在もスペイン政府の管轄下にあるボローニャ大学の寮である。

1367年の設立で今も使われて600年以上も歴史を持つ。名前の由来はスペインの枢機卿アルボルノスの遺言で生まれたことによる。設立の主な目的はスペインの若者の法学の本場で修業をつませることにあった。

スペイン寮:<講演録>ボローニャ : 都市と大学の誕生と発展(山辺 規子著)より

「中世大学都市への旅」(横尾壮英著)より。

 

 

ひだえりとボウズ:ジェントリのファッション

イギリスのエリザベス時代のファッションがひだえりとボウズである。

ひだえりはこれである。大きいのは肩をすっぽりと隠してしまうほどのものもあった。ボウズはホースで長いストッキングのことである。これと短いズボンの組み合わせがボウズである。

「洒落者たちのイギリス史」(川北稔著)より。

暗くなったベテルギウス:ちりと温度低下が原因

今朝の新聞のタイトルである。

このブログでも取り上げたベテルギウスの大減光の原因についての研究の記事である。

フランス国立科学研究センターのグループは欧州南天天文台の超大型望遠鏡(VLT)での観測からこの減光はベテルギウスの南半球に大量にちりが放出されたことと同じく南半球の表面温度の一部が低下したことによると結論づけた。

中世イタリア商人の世界-ルネサンス前夜の年代記

中世イタリア商人の世界(清水廣一郎著)という面白い本がある。イタリア・ルネサンス直前(14世紀)のフィレンツェの商人、ジョヴァンニ・ヴィツラーニが書いた年代記を紹介しつつ、当時の都市国家としてのフィレンツェの様子を紹介している。

日本でも堺が商人の町として自治権を持っていたことが知られているが、都市国家というのはその規模が桁違いに大きなものである。例えばフィレンツェでは商人たちつまり市民が暮らす市街地以外に東京都や神奈川県の大きさの規模の農山村地帯を支配地域として持っていた。これらの農民は支配される側の人々であった。商業で利益をあげることもあったわけであろが、このような農民支配は都市国家の経済的基盤であったのであろう。

南極を発見したのはポリネシア人かも?

今日の朝刊の記事のタイトルである。

ポリネシア人が7世紀ごろ南極大陸を発見した可能性があるという話である。

ニュージーランドもポリネシアの一部でポリネシア人が定住したのは1000年以上前からだと考えられている。かれらはマオリ(MAori)と呼ばれ自分たちの歴史を口伝として残している。

それらを解析した結果、ポリネシア人と南極大陸の関係を示す最も古い物語は1320年前に遡るという。

 

Languages are the pedigrees of nations.

Samuel Johnsonの言葉である。

「言語は国家の系譜なのだ。」

その国の言語の成り立ちをみればその国がどのように形成されたが分るという意味である。

例えばルーマニア。中央ヨーロッパで唯一ラテン語系の言語を話す国である。ローマ帝国の影響を色濃く受けた結果である。

家畜化されたウシの脳は野生のそれよりも小さい

Newscientistのあった記事のタイトルである。

一般的に野生動物の脳に比較して家畜化された動物の脳は小さい。これはウシのばあいも同じか?家畜化されたウシの祖先は絶滅しまっていてこのことは不明であった。

チューリッヒ大学の研究者たちは化石として残っているオーロックス,(Bos primigenius)の13個の頭蓋骨の大きさを家畜のウシ (Bos taurus)71品種317個の頭蓋骨の大きさと比較した。

頭蓋骨の大きさの比較から研究者たちはウシの脳はオーロックスに較べて26パーセントも小さいと推定した。しかもウシの間でも差異があり、よりヒトとのコンタクトが大きい乳牛の脳はよりコンタクトの小さい闘牛と比較して小さいことも明らかになった。ヒトに従順になるの従って脳の大きさが小さくなるようの思える結果である。

 

 

超並列系の宇宙

宇宙である瞬間に起きている素過程は至るところで同じであるとすると考えてみよう。これを超並列系と呼ぶことにする。

このような宇宙で、あるところでは生命体が誕生するし、あるところでは銀河も星も誕生しない。

それは何故か?それは進化する宇宙の初期にゆらぎがあったからだ。宇宙の起きている素過程がこのゆらぎを増幅した結果が銀河、星の誕生であるし、生命体の誕生である。

Pythonで正規表現:Unicodeの扱い

正規表現は元々ASCIIコードの文字列を念頭に置いた処理であったがUnicodeへの拡張がされている。

  • \d:これは任意の 10 進数字にマッチする。Unicodeへの拡張で半角数字、全角数字にマッチする。
>>> print(re.findall(r'\d+','2021年6月十五日'))
['2021', '6']

漢数字にはマッチしない。半角数字のみでは[0-9]の範囲指定、全角数字のみでは[0-9]の範囲指定を使う。

  • \D:これは\dの補集合にマッチする。
  • \w:英数字にマッチする。Unicodeへの拡張では殆んど全ての文字にマッチする。ひらがなのみにマッチさせるのは[あ-ん]を使う。カタカナは[ア-ン]を使う。
>>> print(re.findall(r'[あ-ん]+','雨ニモ負ケズ、風にも負けず'))
['にも', 'けず']
>>> print(re.findall(r'[ア-ン]+','雨ニモ負ケズ、風にも負けず'))
['ニモ', 'ケズ']

注)Unicode表に沿えばひらがなの範囲は[ぁ(小書きのあ)-ゖ(小書きのけ)]であるが伝統的にはひらがなは「あ」で始まり「ん」で終わるべきだ。

ひらがなカタカナをマッチングから外すには補集合表示が使える。

>>> print(re.findall(r'[^あ-んア-ン]+','雨ニモ負ケズ、風にも負けず'))
['雨', '負', '、風', '負']
  • \W:これは\wの補集合にマッチする。
  • 小さい「っ」・大きい「つ」の区別
>>> print(re.findall(r'.っ','はっきり、つめる'))
['はっ']
>>> print(re.findall(r'.つ','はっきり、つめる'))
['、つ']
  • 全角空白・半角空白
>>> print(re.findall(r' .','これは 全角、これは 半角'))
[' 半']
>>> print(re.findall(r' .','これは 全角、これは 半角'))
['\u3000全']
  • 句読点
>>> print(re.findall(r'.。|.、','おお、寒い。'))
['お、', 'い。']

以上、Unicodeの扱いを纏めてみた。

Pythonで正規表現:raw_stringを使うわけ

正規表現ではバックスラッシュ(\)が多用される。一方Pythonの文字列ではこのバックスラッシュが特別な意味を持つことがある。例を挙げる:

>>> len('\section')
8
>>> len('\next')
4
>>> 

文字列でバックスラッシュに続けてnがあるとそれらの2個で特別な意味を持つ1文字となる。だから文字列’\section’では文字数が8文字であることと対照的に文字列’\next’は4文字となる。この特別な意味を持つ1文字をエスケープシーケンスと呼ぶ(なぜエスケープシーケンスと呼ぶかは最初<Esc>キーをエスケープ文字にした歴史的な経緯による)。

正規表現もPython文字列である。しかもバックスラッシュが多用される。そのバックスラッシュがエスケープ文字として働くと厄介なことが起きる。

これを回避する一つの方法が通常の文字列の代わりにraw_stringを用いるものである。この記法は通常の文字列の前にrを付ける。実例を示す:

>>> len(r'\next')
5
>>> 

この記法ではエスケープシーケンスはその特別な意味を失い、単なる普通の二文字となる。

この記法で書けばエスケープシーケンスが紛れ込むことを気にしないで正規表現を記述できる。例を示す:


#coding: utf-8
import re
text = r'次の節は\nextで始める'
m = re.search(r'\\next', text)
print(m.group(0))

正規表現の中の\\は正規表現の特別文字、バックスラッシュを普通の文字とするためである。