京都駅前朝スタバ
えー普通のようで個人的には殆ど機会のないコト
地元でビジネスホテルに宿泊し朝、
一人で朝食スタバ
普通過ぎるようなんですがなんで地元で
家から自転車圏内でビジネスホテル とまっとんねん
つーのと あわせて
人からみたら わかりにくい イレギュラー
うーん出張の非日常のような 日常のような…
微妙
月 | 火 | 水 | 木 | 金 | 土 | 日 |
---|---|---|---|---|---|---|
« 1 月 | ||||||
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
HOME > たにちゅーの思惑
えー普通のようで個人的には殆ど機会のないコト
地元でビジネスホテルに宿泊し朝、
一人で朝食スタバ
普通過ぎるようなんですがなんで地元で
家から自転車圏内でビジネスホテル とまっとんねん
つーのと あわせて
人からみたら わかりにくい イレギュラー
うーん出張の非日常のような 日常のような…
微妙
IPA未踏ソフトウェア開発事業の合宿中です といっても、京都です。
京都で合宿デース 京都タワーホテルだし…f^_^;
今日、金曜の初日は BKCキャンパスで進捗報告会で
明日、土曜日は京都駅前メルパルクで9時から中間報告会デス
未踏に興味のある方は公開らしいので、来れたら来てね。
開発期間も後二ヶ月とのこと。 エンジンかけないとなー
とりあえず明日をたのしみにしつつ…
どもー
実は,京都大学情報学研究科同窓会の社会人委員をやっておるのですが,
この夏にイベントをやることになりました!
一般参加も可能なので来てネ!
有料ですが,ケッコウスゴイメンツと交流できマス!
以下は予定です※
超交流会2009
「みんなのアントレプレナーシップ」
http://www.johogaku.net/event09 (から引用)
主催: 京大情報学同窓会
共催: 京都大学大学院情報学研究科(予定)
後援: 京都商工会議所 ・ 京大ファンド
日時: 2009年7月19日(日) 12:30開場 13:00開会
場所: 京大芝蘭会館 (稲盛・山内ホール)
参加費: 一般:4,000円 / 一般学生:2,000円 / 京大情報学同窓会会員:2,000円
[参加申し込み] 先着200名
プログラム
[第1部] 基調講演 (稲盛ホール)
13:00-13:10 「情報学同窓会を使い倒せ!」 京大情報学同窓会 会長 / 情報学研究科 助教 永原正章
13:10-13:50 「俺の三十代(仮)」 堀場製作所最高顧問 堀場雅夫
13:50-14:30 「超交流術(仮)」 IBM Venture Capital / IPA 未踏 PM 勝屋久
[第2部] オープンディスカッション (稲盛ホール)
14:45-15:45 「技術者のアントレって何?」
仙石浩明(Klab CTO), 畠中晃弘(クエステトラCTO), 田中慎司(はてな執行役員), 深田浩嗣(ゆめみ社長), ほか.
司会:今村元一(同窓会幹事/社2000修)
[第3部] 超交流会 (山内ホール)
16:00-18:30 (ネットワークを広げてください!)
アンビシャス1分間スピーチ (講演者一覧)
johogaku.net をチェックしてね(まだ,構築中・・・・)
皆さん ドンドン ブログやmixiで広めて下さい!リンクをガンガンやってください!
京都を飛び越えて滋賀から新型インフル感染者がでました.
おおう!
と,思ったらうちの大学じゃないか!!
川口総長,テレビで記者会見してるし・・・・.
というわけで,BKCは閉鎖,一週間の全面休講に突入します!
でも,教職員は休みになるわけじゃないの~.
で,結局補講があるから,総合すると休みが減るだけという・・・・.
(ちなみに,もともと基本的に裁量労働だから,お給料据え置き☆)
んだばっ!!
まぁ,1週間,講義とゼミがないので,溜まった仕事をがんばってこなすことにします.
PS 私は無事です(いまのところ)
けいはんなプラザの破産や、私の仕事館の閉鎖、ATRの事業縮小。
精華町の地盤沈下はこのブログでも、話題にしてきたが 本日、ATRに来てみると 唯一、徒歩で買い物にこれたコンビニが閉店してた… ぬぬぬ… 途絶えた生命線… 車で来ない人間にとっての利便性がまた一つ損なわれた。
いつまでもつんだ 学研都市!?どれだけの金を投下してきたんだろう、ここに… 都市計画は なんと失敗事例の多いことか…
このページでは,OpenGLの使い方を学ぶ紹介をします.
基本については下記のページを参考にしてください.
OpenGLを一から使うのはなかなか大変ですが, このページに紹介されているようにOpenGL & GLUTというライブラリを使えば,カナリ簡単に格好良い三次元グラフィックを使うことができます.
また,マウス入力やキーボード入力の関数も用意されていますので,簡単なゲームなどは作れるでしょう.
知能ロボット関係の研究では,とりあえずOpenGLでロボットの形を作ってみたいということも有るでしょう.
そんな場合は,とりあえず以下のページのサンプルコードにトライしてください.
http://www.wakhok.ac.jp/~momma/lec2000/Graphics_Programming/6/lecture6.html
これをいじっていくことで徐々に狙いの形に持って行けると思います.
http://verygood.aid.design.kyushu-u.ac.jp/opengl2005/material.html
http://verygood.aid.design.kyushu-u.ac.jp/opengl/3d.html
http://d.hatena.ne.jp/naf/searchdiary?word=glut
このページでは,CPPLAPACKの使い方を学ぶ紹介をします.
cpplapackはC++で利用できる行列演算ライブラリのラッパーです.
もともとLapackはFortranで開発された行列演算ライブラリですが,CLapackとしてC言語から利用できるようになりました.
これをC++のクラスやメモリ管理の機構を加え,グッと利便性を増したのがcpplapackです.
オペレータ演算子のオーバーロードや,クラス実装により 数学的な記述がかのうになりました.
つまり,行列の足し算が
A = B + C ;
で済むという・・・.さらに,転置は
At = t(A) ;
で済みます.
少しでもforループを減らしたい私としては,また,若い頃からオブジェクト指向にドクされた私としては最早,これなしにはやっていけないのです.
以下のサイトで基本を学んでください.
一応,日本語版ドキュメントの本家
上島氏による,チュートリアルサイト.基本はまず,このチュートリアルに従って,やってみることで身につきます.
総本山? ここにClassのメンバー関数などが全て書いてあり,どんな関数があるのか知りたいときはここにいって,Class Listをみます.
まず,Linuxにlapackのライブラリを入れるひつようがあります.
Synapticパッケージマネージャを立ち上げて,lapackで検索してみてください.
Vine linux 4.2 なら lapack が, Ubuntu 7 なら例えばlapack3 が引っかかると思います.
あと, -devというのがついたやつも出てきたら,それもチェックしてインストールしちゃいましょう.
これで,ライブラリ自体は入ってくれます.Syapticの無い人は
apt-get install lapack
とかで行けるらしい.
次に,CPPLapackを入れます.この入れ方はCPPLapackチュートリアルに書いてあるのですが,一部間違っているので,再度書いておきます(引用).
なぜか,チュートリアルでは5のln が luになってました.
この上で,プログラム中で
#include <cpplapack.h>
と呼び出せば,大概いけます.
基本的に使うクラスは
dcovector
double の column (列) vector ということ.普通の列ベクトル.
drovector
double の row (行) vectorということ.普通の行ベクトル.時々使う.
dgematrix
double の general (一般) matrix(行列)ということ.非常によく使う.
使い方はとりあえず, CPPLapackチュートリアルで体感してください.
Vine 4.2の場合,上記だけでは
/usr/bin/ld: cannot find -llapack
と,怒られる可能性があります.
これは,Vine でインストールした laplack, blas, g2cのlibファイルの名前が違うからの可能性があります.
su になって
> updatedb
として,
> locate liblapack
で,libの位置を特定
/usr/lib/liblapack.so.3.1.1
こんな場所を言ってくるので,これを /usr/lib/liblapack.so にコピーするなり,シンボリックリンクはるなりすればいけるはず.
同様のことが, blas と g2c にも言えるので,同じようにすること.
CPPLAPACKの導入法
CPPLapackは BLAS および LAPACK の C++ クラスラッパーです.
CPPlapack自体はヘッダーのみで構成されていて,CPPlapackが内部でlapackやatlasライブラリを呼び出すことによってユーザが簡単にC++でlapackやatlasライブラリを使用できるようにしたものです.
http://cpplapack.sourceforge.net/doc/main_page/Japanese.html
このURLが参考となるかもしれません.
~Linux編~
1.ライブラリのインストール
Synaptic(Ubuntuなら)パッケージ・マネージャでlapackを検索して適切なものをインストールしてください.(下記はVine Linux 4.2の一例)
また,コマンドからインストールする方法は,
としてroot権限になります(この作業は各Linuxとも共通です).Ubuntuの場合は
としなければならないかもしれません.(ローカルユーザの場合)
rootユーザになってから
Ubuntuやdebianなどの環境なら
でインストールをしてください.最新のUbuntu8.10では,パッケージ名がliblapack3gfという名前に変わっているので注意してください.
また,Fedoraなどでは
でインストールができます.また,OS等によりパッケージ名は変わるので適宜検索等を行い調べて適切なものをインストールしてください.
ここで,CPPLapackのプロジェクトページよりヘッダーのダウンロードをしましょう.
http://sourceforge.net/projects/cpplapack/
よりcpplapack-2005_03_25.tar.gzをダウンロードします.
このようにコマンドで直接ダウンロードしてもかまいません.
そこで,できたcpplapackを解凍します.
そして,
として解凍したフォルダに入りましょう.
すると中には
とあると思いますので,ここでrootユーザとなって/usr/local/以下にインストールしましょう.
このようにして/usr/local/includeの中にcpplapackのヘッダーをコピーしてください.このディレクトリにコピーすることによりコンパイラはヘッダーファイルを見つけることが可能となります.
また,rpmコマンドが使える環境(Fedora, Vine(Ubuntuもインストールしているなら))ならcpplapackのプロジェクトページよりcpplapackのrpmパッケージをダウンロードしてインストールした方がより簡単に済みます.
rootになってからrpmコマンドでインストールします.(すでにrootユーザの場合suコマンドは不要)
この場合cpplapackが/usr/include下に自動的にインストールされるので標準ライブラリを使う時と同様に扱え便利です.(コンパイル時にディレクトリを指定する特殊な操作が不要ということ)
2.サンプルプログラムの実行
では,準備ができたらサンプルを作成してコンパイルを行ってみましょう.
ホームディレクトリにtest.cというファイルを用意し
1 2 3 4 5 6 7 8 9 10 11 | #include <cpplapack.h> int main() { CPPL::dgematrix A(2,3); A(0,0)=1; A(0,1)=7; A(0,2)=5; A(1,0)=3; A(1,1)=4; A(1,2)=6; std::cout << A << std::endl; return 0; } |
と入力してください.コンパイルの方法は
とすると,ホームディレクトリにtestが作成され
とこのような結果となればインストールは成功です.
ここでCPPL::i()は逆行列を求める関数ですが,この関数を用いる場合はコンパイル時にライブラリをリンクする必要があります.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <cpplapack.h> int main() { CPPL::dgematrix A(2,2); A(0,0)=1; A(0,1)=7; A(1,0)=3; A(1,1)=4; std::cout << A << std::endl; CPPL::dgematrix B = CPPL::i(A); std::cout << B << std::endl; return 0; } |
このようなAの逆行列を求める場合は
としてコンパイルする必要があります.(-llapackで/usr/libディレクトリに存在するliblapack.*** (***は環境により異なる)というライブラリをリンクするという意味です.)
3.基本的な使用例
cpplapackで主に使うクラス,変数はdgematrix(一般行列),drovector(行ベクトル),dcovector(列ベクトル)でしょう.これらは四則演算等の演算子がそのまま使えます.(演算子オーバーロードされている)
http://cpplapack.sourceforge.net/doc/html/index.html
このページに詳しく書かれているので,どのようなメンバ関数があるのかは自身で調べてください.
サンプルとして行,列ベクトルのそれぞれの掛け算と逆行列,逆行列,転置を載せておきます.参考にしてください.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <iostream> #include <cpplapack.h> int main() { CPPL::dgematrix A,iA,tA;//一般行列 CPPL::drovector R(2);//行ベクトル CPPL::dcovector C(2);//列ベクトル double S; R(0) = 3; R(1) = 4; C(0) = 5; C(1) = 6; A = C*R;//列x行 S = R*C;//行x列 iA = CPPL::i(A);//逆行列 tA = CPPL::t(A);//転置 std::cout <<”R n” << R << std::endl; std::cout <<”C n”<< C << std::endl; std::cout <<”A n”<< A << std::endl; std::cout <<”S n”<< S << std::endl; std::cout <<”iA n”<< iA << std::endl; std::cout <<”tA n”<< tA << std::endl; return 0; } |
実行例
4.分割コンパイル方法
(複数のソースコードファイルに分けたプログラムのビルド方法)
プログラムを書いていくとコードが非常に長くなり,ある特定の機能を持つモジュールを特定のファイルに分割してコンパイルしたい場合があります.そのようなときに役立つのがMakefileです.書き方はいろいろありますが,一例を載せておきます.
このような書き方でsample.cppをmain関数の存在するメインファイルとして,cpplapack_plus.h,cpplapack_plus.cppが新たに作ったモジュールとしてファイルを分割してコンパイルすることが可能です.
コンパイルするときはmakeとすれば,
このようにコンパイル可能です.
また,新たにファイル(例えばadd.cpp と add.hというファイルを追加するとする)を作成しMakefileへと追加する場合はMakefileの内容を
のように変更すれば,追加することができます.(赤色の部分が変更点)
~Windows編~
まず,CPPLAPACKのヘッダーをダウンロードしてください.
http://sourceforge.net/project/showfiles.php?group_id=78519&package_id=87720&release_id=315440
よりcpplapack-2005_03_25.tar.gzをダウンロードして解凍してください.
適当な解凍ソフトで解凍したのち,その得られたcpplapack-2005_03_25とうフォルダをC:に置いてください.
次にライブラリの準備をします.
ライブラリを
http://www.netlib.org/clapack/index.html
のサイトからCLAPACK-3.1.1-VisualStudio.zip
をダウンロードして,解凍したフォルダCLAPACK-3.1.1-VisualStudio
を同様にC:直下に置いてください.
C:直下に図のようにおけたらVisualStudioを起動しましょう.
VisualStudioを起動したら
メニューのツールよりオプションを選択してください.
オプションを開いたら,左のメニューの「プロジェクトおよびソリューション」の中の「VC++ ディレクトリ」を選び,ディレクトリを表示するプロジェクトのコンボボックスの中の「インクルードファイル」を選択します.
そしてを押して新しい行を追加し,その右側のを押し先ほどC:直下に置いたcpplapack-2005_03_25の中のincludeファイルを選択します.
(C:cpplapack-2005_03_25includeこのディレクトリを追加します.)
同様に,コンボボックスを「ライブラリ ファイル」に変更して同じようにを押して新しい行を追加し,
その右側のを押し,CLAPACK-3.1.1-VisualStudioの中のLIBの中のWin32を選択します.(64bitOSならx64を選択)
(C:CLAPACK-3.1.1-VisualStudioLIBWin32このディレクトリを追加)
以上で設定は完了です.
おつかれさまでした.準備ができたらサンプルコードを書いてインストールができたかを見ましょう.
新たにVisualStudioを起動したら,プロジェクトを作成してください.
「Win32コンソール アプリケーション」を選び,プロジェクトを作成してください.作成できたらまずプロジェクトのプロパティを開き,ライブラリをマルチスレッド又はマルチスレッド デバッグに変更してください.
変更できたらソースにこのようにタイプしてください.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
// cpplapack_test.cpp : コンソールアプリケーションのエントリポイントを定義します。 //プリコンパイル済みヘッダーファイルを使用する(/Yu)場合はインクルード #include “stdafx.h” #include <cpplapack.h> //ライブラリリンク #ifdef WIN32 #ifdef _DEBUG #pragma comment(lib,”f77blaswrapd.lib”) #pragma comment(lib,”libf2cd.lib”) #pragma comment(lib,”BLASd_nowrap.lib”) #pragma comment(lib,”clapackd_nowrap.lib”) #else #pragma comment(lib,”f77blaswrap.lib”) #pragma comment(lib,”libf2c.lib”) #pragma comment(lib,”BLAS_nowrap.lib”) #pragma comment(lib,”clapack_nowrap.lib”) #endif #endif int main() { CPPL::dgematrix A(2,2); A(0,0)=1; A(0,1)=7; A(1,0)=3; A(1,1)=4; std::cout << A << std::endl; CPPL::dgematrix B = CPPL::i(A); std::cout << B << std::endl; return 0; } |
このようにタイプして,正常にコンパイルが通り,
このような結果となればOKです.お疲れ様でした.
補足説明:
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//ライブラリリンク #ifdef WIN32 #ifdef _DEBUG #pragma comment(lib,”f77blaswrapd.lib”) #pragma comment(lib,”libf2cd.lib”) #pragma comment(lib,”BLASd_nowrap.lib”) #pragma comment(lib,”clapackd_nowrap.lib”) #else #pragma comment(lib,”f77blaswrap.lib”) #pragma comment(lib,”libf2c.lib”) #pragma comment(lib,”BLAS_nowrap.lib”) #pragma comment(lib,”clapack_nowrap.lib”) #endif #endif |
これは,ソースコードでどのライブラリをリンクするかを指定しています.Linuxでのg++オプションの”-llapack –lblas –lf2c”に相当するものです.このこのように
#ifdef WIN32
#endif
で括っておけばソースコードをLinux環境のg++でコンパイルしても無視されるため,他環境への移行も簡単になります.また,
#ifdef _DEBUG
ではビルドの設定を指定しています.Debugモードでビルドする場合はVisualStudioで自動的に
#define _DEBUG
とマクロが定義されるために_DEBUGが有効になりビルドモードに応じて適切なライブラリがリンクされます.
~Linux編おまけ~
Lapackなどのライブラリをパッケージ・マネージャでインストールすることができない環境での構築法を書いておきます.以下かなり操作が煩雑になります.
CLAPACKとATLASというライブラリをソースコードからコンパイルしてライブラリを作成します.
まず,
http://sourceforge.net/project/showfiles.php?group_id=23725
からStable版のatlasライブラリをダウンロードします.
09/3/4時点ではatlas3.8.3.tar.gzが最新版のようです.
atlas3.8.3.tar.gzをダウンロードしたら,解凍します.
するとATLASというフォルダができるので,そのディレクトリに入ってATLASライブラリをコンパイルします.そこで
として,ATLASディレクトリの中に新たなMyObjというディレクトリを作成します.そしてMyObjディレクトリの中に入り下記のコマンドを打ちます.
エラーが出ずにconfigureが終わればそのまま
と打ち,コンパイルが完了するのを待ちます.コンパイルが完了するとMyObj以下のlib/フォルダにlibatlas.a libf77blas.a libptcblas.a libtstatlas.a libcblas.a liblapack.a libptf77blas.aというライブラリができているのを確認してください.
そして,このライブラリはいったんこのままにしておき,次にlapackの準備をします.
http://www.netlib.org/clapack/index.html
よりclapack.tgzをダウンロードします.
ここで先ほど作成したATRASのライブラリをこのCLAPACKフォルダにコピーします.
となり,コピーできたら次にCLAPACKのmake.inc.exampleを編集します.
make.inc.exampleの中の
を
と書き換えます.そしてmake.inc.exampleをmake.incとリネームします.
と打ち,コンパイルが正常に完了するのを待ちます.コンパイルが完了するとディレクトリの中が
となり,新しくlapack_LINUX.a,libcblaswr.aができているのを確認してください.
次に,順に下記のコマンドを打ち
と打っていきます.するとディレクトリは
のようになっていればOKです.ここで新たにliblapack.aとlibblas.aがあればOKです.また,libf2c.aはF2CLIBS/フォルダの中にあります.
それも必要なら~/libに入れておきましょう.
このliblapack.aとlibblas.aの二つのライブラリをホームディレクトリにlibフォルダを作成してその中に入れておきます.
ライブラリのコンパイルが完了しました.このライブラリを実際に使用するには,先のサンプルをコンパイルするときに
としてコンパイルしてください.お疲れ様でした.
参考にしたURL
http://www.eml.hiroshima-u.ac.jp/member/staff/tamaki/LTI-Lib/index.php?LAPACK%2BATLAS
資料作成のために研究室のscuderia(Xeon Ubuntu 2.6.22-15-generic x86_64)マシンとmondeo(Pentium4 Fedora 2.6.25.9-40.fc8 i686)でライブラリコンパイルして作成し,テストプログラムの動作を確認した.(mondeoではCPPL::t 転値が使用できなかった)
JUJU with JAY’ED 明日がくるなら
"3">http://www.youtube.com/watch?v=QGqCvXkTkdA
がええかんじ☆
最近,どうもいい曲に巡り会えなかったがー.
かなりゴキゲンだ!
去年末にspontanious feat. JUJU の「君のすべてに」が,なかなかゴキゲンで,
久しぶりにいいのがきたなー.と思ってた.
最近のヒット曲を聴いていても,どうも「新しさ」が無いのだ.
新しさが無ければ「なつかしさ」がくるのだが,なつかしさも繰り返されると,ベタなだけ.
ヴォーカル力だのみになってきて,
コブクロとかミスチルでとりあえず安心しておくという時代が続いた感じがする.
若手も出てきてるのだが,Greeeenにしろ青山テルマにしろ,曲,歌が荒いし,特に新しくない.
Greeeenとかは「なつかしい」系ですね.モンパチが懐かしかった感じをもう一度的な・・.
J-POP含め日本の芸能は箱庭文化と言われるが,細部に渡る作り込みが本来の持ち味.
あとは,洋物の「消化」だろうか, これは,白人音楽自体が黒人音楽のエッセンスを次々にとりこんで,
日本的にはR&Bの後にヒップホップを取り込んでしまった時点でやることが無くなってしまった感じがする.
んで,
この曲は,作りもうまいし,ヴォーカルもうまい.
調性外のメジャーコードで上げていく感じとか,教科書的なんだがすごくいい.
ヴォーカルの跳躍の難しさや,イレ方もちょうどいいくらい.
そして,デュエット曲でありながら,
ほとんど男女的な感じをださせないで
ハモリとボーカル交代を同じオクターブでボイシングする.
JAY’edがバリ上手いから,できることだね.
曲的な作り込みがハンパ無い気がする.
あと,spontania feat. JUJUでもそうだったが,作り込んでいくときに,
複数ボーカルなのを利用して,ほとんどオーディエンスを休ませない作り方.好きでス.
プロデューサーだれなんだろ.
JUJUはピンの曲は,とくにええの知らんけど.
男と組むとなんか,つよいわー.
(特にJUJUの歌唱が好きという訳ではない・・・・.)
個人的に歌えるようになりたいけど,ちょっと無理かなー.
オリジナルに3度下とか織り交ぜて,独自な感じで歌えるようにしようかしら.
JAY’edがハモってるあたり元にしてライン作ったらなんとかなりそうかも・・・・.
最近はもうJ-POP界もネタ切れ感もあるので,こう複合的に「新しさ」を出していく感じですね.
perfumeなんかダンスも込みにして相当新しいと思います.
copyright © Tadahiro Taniguchi All Right Reserved.