11月第5週の振り返り

11月第5週(11/25-12/1)

フランス法文献講読

Il arrive que: 非人称 ~ということがある(起こる)

droitが法という概念を指すのに対してloiは形のある法律を意味する。

élément d'actif: 積極財産

担保物権

ほとんどの動産には登記制度がないため、抵当権は設定できない。また質権は占有権を質権者に移転することになるため当該動産を使用できなくなってしまう。動産を譲渡担保の目的物とすれば所有権を移転する(正確には譲受人のために譲渡人が代理で占有しておく占有改定によって引き渡したこととする)ので担保権者が設定者に賃貸する形をとって使用を続けることができる(質権でも同じことをすればいいように思えるが質権の設定は要物契約であり、現実の引渡しが必要とされているため不可能)。

ただし譲渡担保では設定者の手元に動産があるため第三者の善意取得が起き得る。動産譲渡登記を行うことで対抗できる。

動産を売買しその代金債権が弁済されない場合に競売を申し立てることができる(動産売買先取特権)。ただし第三者に動産が引き渡されたときには不可能になる(買主の処分権の承認)。その代わり、物上代位をして転売代金債権を差し押さえることができる。

動産売買先取特権は法定担保権であり公示がないので、転売代金債権がさらに譲渡・通知されてしまった(譲受人が第三者に対する対抗要件を備えた)場合は譲受人が先取特権を知る術がないため保護され、差し押さえることはできなくなる。他方転売代金債権が第三者によって(抵当権などで)差し押さえられた場合は優先弁済効力を主張できる。と思いたい。もはやわからん。

所有権留保売買は弁済がなされなかったとき目的物を引き揚げ清算を行う。破産手続き上も別除権者として扱われ、清算金を管財人に支払って返還を求めることができる。

ファイナンス・リースは中途解約ができず、リース物件から得られる利益とコストのどちらも借り手のものとする。簿記の記憶が...

並列プログラミング

行列-行列積を並列化する。ナイーブにC=ABを計算すると、Aの行ベクトルとBの列ベクトルの内積を並列で計算してCの要素として格納することになる。Bに対するメモリアクセスは列方向であり性能が低下するのでBを転置しておくのが望ましい。

このナイーブな方法以外に、行列をキャッシュに格納できる大きさまで分割し通信・放送を通じて並列計算を実現するものがあり、代表的なものとしてCannonのアルゴリズムとFoxのアルゴリズムがある。それぞれ隣接するPEに通信・全PEへの放送を用いることになっており、計算機のハードウェア設計によってどちらが適しているかが異なる。京は上下左右前後の隣接PEへのネットワークで接続されているのでCannonが、Oakforest-PACSはスイッチに集約しているためFoxが適している。

法医学

頚髄が損傷すると呼吸筋が麻痺するため、創による失血よりも前に死亡することがある。

いわゆる擦過傷は表皮剥脱と呼ばれるが、タイヤの轢過など圧迫によっても生じることがある。生活反応として利用可能である。赤みを帯びたり、黄褐色(リンパ液)のかさ痂皮が認められる場合は生前に生じたものとなる。

皮下出血は外表上に変色が認められなくても生じていることがあり、背中を含めて確認することが重要となる。痣で観察できるように、最初は青紫だが黄色くなってやがて褪せる。

棒や鞭などで打撃が加えられると血管中の血液が左右に押し出されて皮下出血となる二重条痕が生じる。

挫創は皮膚と皮下組織が挫滅されてできたもので、骨が浅いところにある時によく生じる。内臓の損傷である挫傷と区別する必要がある。

交通事故では衝突・跳ね上げ・転倒の三次にわたる損傷が生じる。加えてタイヤや車底に轢過されることで前述のタイヤマークやデコルマン(decollement: 皮膚表面の引っ張りによって皮下組織が断裂する)が生じることもある。乗車人員はガラス損傷を負うことが多く、右側座席は身体の右側に生じるので運転者の特定に役立つ。またハンドルへの衝突によって肋骨骨折・大動脈破裂・心挫傷なども起きることがある。

銃創も鈍器損傷に含まれることがある。接射では燃焼ガスが皮膚を放射状に割く。近射(50cm~1m以内)では火薬粒・煤が射入口付近に貫通する。しかし肌が露出している場合ではともかく、厚い服を着ていた場合には近射であっても火薬粒が服に防がれることがある。

特に骨を貫通した場合、斜めに射入した場合には射入口にも骨の粉砕が生じうるが、そうでない場合射入口は綺麗な穴となる。

散弾の場合は銃口から出て数十センチでシェルに詰められたものが散らばるため、接射では射入口が一つになることがある。

メディアプログラミング

今回は時系列データ解析ということで、Jupyter Notebook上でpandas/matplotlib/mpl_financeを用いてcsvからローソク足移動平均2種類を重ねた上で軸表示をカスタムして表示させることを行った。以下のコードはデータの読み込みやplt.figure()の準備などお決まりの部分は省いてある。

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdt
import mpl_finance
from datetime import datetime
from matplotlib.dates import MO

pd.plotting.register_matplotlib_converters()  # Pandasのdatetime形式をmatplotlibの単位リストに登録する(警告が出なくなる)

start = datetime(2019, 11, 1)
end = datetime(2019, 11, 30)
df["date"] = pd.to_datetime(df["date"])  # datetime64へ変換
df.set_index('date', inplace=True)  # 時系列データを扱っているので日付はインデックスとしてデータとは別の扱いにしたいし、時系列での移動平均の計算には明示的にインデックスの設定が必要
# cf. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html
# 移動平均
df["mean_5d"] = df.loc[:, "close"].rolling(5).mean()
ax.plot(df[start:end].index, df.loc[start:end, "mean_5d"]) 
# ローソク足
ohlc = df.loc[start:end, ["open", "high", "low", "close"]]
ohlc.index = mdt.date2num(ohlc.index.to_pydatetime())  # 紀元からの経過秒数(candlestick_ohlcはfloat形式のtimeが必要)
mpl_finance.candlestick_ohlc(ax, ohlc.reset_index().values)  # DataFrameではなく二次元配列に。引数はaxisのあとtime, open, high, low, closeの順で並ぶ必要がある。reset_indexはindexを解除して既存データの先頭に組み入れる
# 表示スタイル
# 主軸を月曜の日に置く
locator = mdt.WeekdayLocator(byweekday=(MO))
ax.xaxis.set_major_locator(locator)

ax.xaxis.set_major_formatter(mdt.AutoDateFormatter(locator))  # 表示ロケール・サイズは自動

ax.xaxis.set_minor_locator(mdt.DayLocator())  # 補助軸は日ごとに置く

fig.autofmt_xdate()  # 目盛り間隔に応じてx軸の値表示を調整

今回は移動平均ローソク足を同時に処理したかったためindexを設定してから解除したが、ローソク足だけであれば直接dateをfloatに変換してvalues()で渡せばよい。