新ブログを始めた
このブログは,10年以上前に更新を辞めていたが,いまだにアクセスがあるのはありがたいことである。ありがとうございます。
先日,新しいブログを立ち上げた。10年前と比べて,技術も自分の立場も大きく変化しているので,新たに学んだことはこちらに記録していきたい。
当ブログの記事の一部も,再構成の後に新ブログの方で新しい記事にしていきたい。
twythonの導入とテスト
pythonを使ったtwitterのbotを作るために、twythonを導入してみた。はじめはpython-twitterで試そうとしたが、「APIが古い」エラー(The Twitter REST API v1 is no longer active. Please migrate to API v1.1)が出たので、API v1.1に対応しているtwythonにすることにした。手順は以下の通り。
1. twythonの導入
twythonを導入する。easy_installが導入されていれば、
$easy_install twython
でインストールできる。
2. dev.twitter.comへの登録
dev.twitter.comにアクセスし、twitterアカウントでログインする。My applicationsを作成する必要があるので、
を登録する。
3. 権限の変更
My application → Settingsと進み、Application Typeを変更する。最初は"Read Only"なので、"Read and Write"などに変更する。
4. consumer keyなどの取得
My application → Detailsと進み、ページ下部の"Recreate my access token"ボタンを押す。以下の4つが取得できていればOK。
以下が、上記で登録したユーザーからツイートを発信するためのテストサンプル。
# -*- coding: utf-8 -*- import twython if __name__ == '__main__': consumerKey = CONSUMERKEY consumerSecret = CONSUMERSECRET accessToken = ACCESSTOKEN accessSecret = ACCESSSECRET api = twython.Twython(app_key=consumerKey, app_secret=consumerSecret, oauth_token=accessToken, oauth_token_secret=accessSecret) test_tweet_str = u'(ツイート内容)' try: api.update_status(status=test_tweet_str) except twython.TwythonError as e: print e
setuptoolsのセットアップ
「Pythonで一番最初に入れるべきパッケージ setuptools と pip」というサイト
Pythonで一番最初に入れるべきパッケージ setuptools と pip - Life with Python
があったので、setuptoolsをインストールすることにした。
このサイトの右側のダウンロードボタンから、setuptools-0.9.8.tar.gzをダウンロードした。
setuptools · PyPI
その後、ファイルを解凍して、フォルダを「C:\Python27\Lib」フォルダの下に配置した。
コマンドプロンプトから「C:\Python27\Lib\httplib2-0.7.1」フォルダに移動し、
$ python setup.py build
$ python setup.py install
を実行して、setuptoolsのセットアップができた。
ブロック行列の逆行列(応用2・一般のブロック行列)
ブロック行列の逆行列は、ブロック行列を
- ブロック対角行列
- 対角成分が単位行列のブロック三角行列
の積に分解し、次の3種類の逆行列公式を用いて計算する。
今回は、一般のブロック行列
の行列式を求める。
小行列について、逆行列が存在している場合、ブロック行列のLDU分解を用いる。
まずこのブロック行列はブロック対角行列とブロック三角行列の積で表されるとして、
成分を比較すると、となるので、
とLU分解できた。さらに右辺をブロック対角行列とブロック上三角行列の積にすると、
と、上の3種類の行列の積にLDU分解できた。
あとは、として、逆行列の積の公式を用いると、
となる。
なお、右辺の積を計算することで、
が得られる。
ブロック行列の逆行列(応用1・ブロック三角行列)
ブロック行列の逆行列は、ブロック行列を
- ブロック対角行列
- 対角成分が単位行列のブロック三角行列
の積に分解し、次の3種類の逆行列公式を用いて計算する。
(応用1-1)上三角ブロック行列
というパターンである(ただし、小行列について、逆行列が存在しているとする。)
このブロック行列はブロック対角行列とブロック三角行列の積で表されるとして、
と表す。右辺の積を求めると、
となる。あとは最初の式と比較すると、なので、
となる。したがって逆行列の積の公式を用いると、
となる。なお求められた逆行列は、もとの行列に対して左からかけても右からかけても単位行列になることが確認できる。
(応用1-2)下三角ブロック行列
というパターンである(ただし、小行列について、逆行列が存在しているとする。)
このブロック行列はブロック対角行列とブロック三角行列の積で表されるとして、
と表す。右辺の積を求めると、
となる。あとは最初の式と比較すると、なので、
となる。したがって逆行列の積の公式を用いると、
となる。なお求められた逆行列は、もとの行列に対して左からかけても右からかけても単位行列になることが確認できる。
ブロック行列の逆行列(基本編)
ブロック行列の逆行列と同様に、多変量解析や制御ではブロック行列の逆行列も慣れておく必要がある。
ブロック行列の行列式と同様に、基本戦略は2つしかなく、
である。
つまり、行列をLUやUL、LDUなどの簡単な行列の積に変形してから逆行列を求めることである。
基本戦略1が重要な理由は、以下に示すようにブロック逆行列を求めることが簡単で覚えやすいからである。
(基本1)ブロック対角行列
というパターンである(ただし、小行列には逆行列が存在しているとする)。
これは、
なので、
となる。
(基本2)対角成分が単位行列のブロック上三角行列
というパターンである。
これは、
なので、
となる。
(基本3)対角成分が単位行列のブロック下三角行列
ブロック上三角行列と同様に
となる。
一般的によく使われる行列の逆行列は、LU分解・UL分解・LDU分解を用いて、上記の行列の積に変形したのち、積の逆行列の公式を用いればよい。
詳細は次記事で紹介する。