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に…

setuptoolsのセットアップ

「Pythonで一番最初に入れるべきパッケージ setuptools と pip」というサイト Pythonで一番最初に入れるべきパッケージ setuptools と pip - Life with Python があったので、setuptoolsをインストールすることにした。このサイトの右側のダウンロードボタン…

Python2.xとPython3.xの共存

こちらを参考にする。複数バージョンのPythonをインストールするこれでpython3系のnumpyとか使えるか試してみよう。

ブロック行列の逆行列(応用2・一般のブロック行列)

ブロック行列の逆行列は、ブロック行列を ブロック対角行列 対角成分が単位行列のブロック三角行列 の積に分解し、次の3種類の逆行列公式を用いて計算する。 今回は、一般のブロック行列 の行列式を求める。小行列について、逆行列が存在している場合、ブロ…

ブロック行列の逆行列(応用1・ブロック三角行列)

ブロック行列の逆行列は、ブロック行列を ブロック対角行列 対角成分が単位行列のブロック三角行列 の積に分解し、次の3種類の逆行列公式を用いて計算する。 (応用1-1)上三角ブロック行列 というパターンである(ただし、小行列について、逆行列が存在してい…

ブロック行列の逆行列(基本編)

ブロック行列の逆行列と同様に、多変量解析や制御ではブロック行列の逆行列も慣れておく必要がある。 ブロック行列の行列式と同様に、基本戦略は2つしかなく、 対角行列や「対角成分が単位行列の三角行列」の積に変形する 逆行列の積の公式()を用いる である…

ブロック行列の行列式(応用2・一般のブロック行列)

基本的なブロック行列の行列式は以下の3つであった。 今回は、一般のブロック行列 の行列式を求める。(応用2-1)小行列について、逆行列が存在している場合 ブロック行列のLU分解を用いる。 このブロック行列はブロック対角行列とブロック三角行列の積で表さ…

ブロック行列の行列式(応用1・ブロック三角行列)

基本的なブロック行列の行列式は以下の3つであった。 ブロック三角行列は、上記の基本的な行列の積に変形することで求めることができる。(応用1-1)ブロック上三角行列 というパターンである(ただし、小行列について、逆行列が存在しているとする。) このブロ…

ブロック行列の行列式(基本編)

多変量解析、制御ともに、ブロック行列の扱いに慣れておく必要がある。ブロック行列について、行列式の扱い方をまとめる。 ブロック行列の行列式の求め方の基本戦略は2つしかなく、 対角行列や「対角成分が単位行列の三角行列」の積に変形する 行列式の積の…

状態変数変換

システムの状態方程式と観測方程式が与えられており、システムの挙動(安定か不安定か、など)を知りたいときに、与えられた式では状況を判断しづらいときがある。 その際に状態変数を (は正則行列)のように変換することで、状態方程式と観測方程式が見やすく…

可観測性

ある有限な時刻があり、のとから初期状態を一意に決定できるとき、システムは可観測であるという。初期状態を一意的に求めることができるとき、入力が既知であることから、状態を知ることができる。システムが可観測である必要十分条件は、 可観測性グラム行…

可制御性(2)

可制御グラム行列 可制御行列

可制御性

制御工学の目的は、出力が目的の値になるように、入力の値を設計することである。システムの状態変数の初期値が与えられているときに、目的とする状態変数が得られるようにを設計できることを可制御性という。可制御性の必要十分条件は、としたときに (ただ…

安定性の判別

入力が無いときのシステムの挙動は、自由系 の解 である。 初期値が決まればなんらかの運動が起きてが動くわけだが、どのような動きになるかは[e^{At}]の動きを確認する必要がある。 のように対角化できると のように変形できる。なおは行列の固有値である。…

状態方程式の導出

制御理論の復習ということで、九工大のテキストを参考にさせていただいている。 http://lab.cntl.kyutech.ac.jp/~kobalab/nishida/pdf/09no1.pdf現代制御理論の整理がされていた。状態変数と入力変数について状態方程式を作成し、状態変数と出力変数について…

状態方程式の導出(2)

状態方程式は1階線形微分方程式である。この解が求まれば、状態変数について、その初期値が求まっていれば、時間tでの値が求まることになる。まずは入力が無い自由系の解を求める。 この解は行列指数関数を用いて以下のように表される。テキストでは、行列指…

欠測データの補完(調査観察データの統計科学 2.2節)

R

「調査観察データの統計科学」 http://www.amazon.co.jp/dp/4000069721/ の2.2節「欠測のメカニズム」にあった、例2.3「ランダムな欠測としての選抜効果」の例をRで試してみた。本書P31の定数の決め方だと、P32のグラフのようにならないので、を求めるときの…

TeXの数式ヘルプ

TeXにおける数式の書き方のヘルプhttp://meta.wikimedia.org/wiki/%E3%83%98%E3%83%AB%E3%83%97:%E6%95%B0%E5%BC%8F%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9

MKLのLAPACKで実対称行列の固有値・固有ベクトルを求める

C#

分散共分散行列はやカーネルマトリクスは実対称行列であるが、この固有値を求めるためにLAPACKのdsyevを用いる。ちなみに、非対称行列の場合にはdgeevを用いる。dsyevをC# から呼び出すときのラッパーは以下の通り using System; using System.Collections.G…

MKLのLAPACKで逆行列

C#

LAPACKにおいて逆行列を求める関数である"dgetri"のラッパーを作った。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security; using System.Runtime.InteropServices; namespace mkl { public se…

MKLのLAPACKでLU分解

C#

MKLで逆行列を求めるには、行列を一度LU分解しておく必要がある。 ダウンロードしてきたMKLのC#のラッパーには、LAPACKのLU分解パッケージ"dgetrf"がなかったので、記載されていたものを参考に作成してみた。 using System; using System.Collections.Generi…

(備忘録)LAPACKの計算

C#

http://www.mlab.ice.uec.ac.jp/~ej-sib/numerical/numerical_lapack1.html関数に代入する数値の単精度、倍精度の違いは次の通り。 s...単精度の実数 d...倍精度の実数 c...単精度の複素数 z...倍精度の実数

(備忘録)カレントディレクトリとファイルのIO

C#

C#が久々なので、文法をだいぶ忘れておる…。こことかこことか参考にさせていただいた。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace ioTest { class ioTest { static void Main(str…

Intel Math Kernel Library (MKL) を使う

C#

Intel Math Kernel Library (MKL)は、再配布が無償の数値計算用ライブラリである。 お値段は\53,550と良心的。Visual Studio 2010 Professionalを入れたので、C#でバリバリ開発しようとしていたら、MKLのソースはC++で書かれていた。なので、C#からMKLのDLL…

pythonで主成分分析

pythonで主成分分析をしてみた。 #! usr/bin/python # -*- coding:utf-8 -*- import numpy as np import scipy as sp from scipy import linalg import csv # imput data fileName = './input/pcaTest.csv' inputCSV = csv.reader(open(fileName,"rb")) #dat…

csvから行列作成

Rだと、read.table関数で一発でデータをデータフレームに変更してくれる。 pythonで似たようなことができないかなーと思い書いてみた。 #! usr/bin/python # -*- coding:utf-8 -*- import numpy as np import scipy as sp import csv filename = "./input/in…

Rによる非線形計画問題

R

統計ソフトRのRsolnpパッケージを使って、2次式制約のもと2次式の最適化を行った。 制約が2次式なので、2次計画法を解くパッケージである"quadprog"は利用できない。今回の例題はこちら。 minimize subject to Lagrangeの未定乗数法なり、円が接する状態を幾…

pythonによる2次計画法

pythonで2次計画法を解くのにCVXOPTを使った。 Rのquadprogと違って、等式制約をそのまま使えるらしい。例題はこちら↓ http://abel.ee.ucla.edu/cvxopt/examples/tutorial/qp.html #!/usr/bin/python # -*- coding: utf-8 -*- from cvxopt import matrix fro…

Rによる2次計画法

R

今回は久しぶりにRの話題。 2次計画問題を解くのに、Rの"quadprog"パッケージを使うことにした。 例題は東工大の水野先生のサイト↓ http://www.me.titech.ac.jp/~mizu_lab/text/pdf-file/LP9-QP-problem.pdf例題では制約が等式制約である。だがquadprogで扱…

pythonによる最急降下法

最急降下法は、関数の最適化を行う手法として一番単純である。 多変数の場合、途中で直線探索を行う必要がある。 今回も参考図書は、金谷健一「これなら分かる最適化法」である。最適化したい関数は とする。 #!/usr/bin/python # -*- coding: utf-8 -*- imp…