趣味のカクテル作りや単車のこと、その他日常を主に綴っています。


Laboratory::Programming - SVDPACKCをVC++でコンパイル


E-mail this post



Remember me (?)



All personal information that you provide here will be governed by the Privacy Policy of Blogger.com. More...



うちの研究室の先生のお手伝いとして,
ベクトル空間モデルを実装しそうな勢いなのです.

いやまぁ以前私も一時手を出しかけて出さなかったんですけどね,実装には.
ベクトル空間モデルやるからには,LSIまで手を出したかったのですが,
特異値分解のところで躓いてあきらめたのでした.

そのときも,SVDPACKCを使えばよいというのはわかっていたのですが,
なにぶんうまくコンパイルできない,落ちる,入出力フォーマット意味不.
とグダグダだったので,あきらめちゃったのですが.

今回ちょっとリトライしてみることにしました.
ただ,先生の用件としては,
私が書こうしているプログラムはANSI Cで書けという.
C++かPerlで書かせてくださいよーと嘆願したんですが,
俺があとあといじるかもしれへんからC!といわれました.
しかもWindowsでコンパイルできないと行けなく,
Cygwinとかも使わない方なので,VC++でコンパイルできるのが望ましいわけで.
しかし私としてはLinuxででもコンパイルしたいので,
そこらへん気を使って書いていかないといけません.

ベクトル空間モデルの実装自体は簡単なのでいいんですが,
LSIですよねー.
やっぱSVDPACKCか?と思って情報を集めていたら.

www.koguchi.be - SVDPACKC

こちらを参考に,SVDPACKCのlas2.cを修正してみました.
結構修正しないといけませんねー.
で,VC++ express 2008でコンパイルしたわけですが,
リンカでこけてしまいます.
プロジェクトに追加したのはlas2.c, las2.h.
_timerが見つからないよーとリンカにおこられます.
_timerってなんやねん!と思ってたんですが,
timersun.cも必要なのですね.ここに定義してあります,timer()が.
プロトタイプ宣言はlas2.cにあるんですよね,気持ち悪.
で,timersun.cなんですが,こいつはVC++ではコンパイルできませんでした.
仕方ないので,timerのプロトタイプ宣言のところを,
0.0を返す関数定義に変えてやりました.
まぁ時間なんて計測する必要は,私には無いので.
特異値分解ができればそれでおっけぃですから.

てなわけで,コンパイル完了,バイナリが出来上がりました.
コンソールアプリの.

実際動かしてみて,特異値分解ができているくさいです.
さてさて,あとはこの出力されたファイルの中身がどうなっているのか,
入力するファイルの形式とかはどうなのか.
はっきり調べて,先生に頼まれるであろう実験用プログラムの開発をしていかないとですね.
ちなみに先生専用というわけでもなく,
ゆくゆくは私も使うことになりそうなので,ちょっと気合入れて書いていたりします.
というか,絶対Perlラッパー書いてやろうとか思ってます.

Labels: ,

0 comments:

Post a comment

Links to this post:

Create a Link

About me

  • I'm mikken
  • From Japan
  • 昼は大学で研究、夜は自宅でカクテル作りを楽しんでいる学生です。単車であちこち走り回りたいと常々思っています。
  • My profile

Previous posts

Archives

Category

  • Cocktail オリジナルレシピなどを掲載‰
  • Motorcycle 愛車XJR400('93)との日々
  • Touring 四国中心のツーリング日誌Œ
  • Programming プログラミングTips・・・?(主にC++)
  • Laboratory 所属している研究室の愚痴炸裂‚
  • Work バイト先の出来事
  • Network インターネットやブログなど
  • Study 勉強することについて
  • Society 世の中へのツッコミ
  • etc...

Links


ATOM 0.3