[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
617: デフォルトの名無しさん [sage] 2011/11/29(火) 22:07:28.89 AAS
ニンジャ死すべし
618(1): デフォルトの名無しさん [sage] 2011/11/29(火) 23:01:30.60 AAS
hmatrix を使ってます
行列とスカラーの積ってどうやるのでしょうか
619: デフォルトの名無しさん [sage] 2011/11/29(火) 23:11:22.90 AAS
>>618
* 演算子を使ってできましたけど、なんか変です
ghci 上で
(3><3) [1.0 ..] * 3.0
これだとエラーです
3.0 の所で No instance for (Num (Vector a0)) と
No instance for (Container Vector a0)
でも
let m = (3><3) [1.0 ..]
m * 3.0
これだと問題なく意図通りの計算がされます
なんで?
620(1): デフォルトの名無しさん [sage] 2011/11/29(火) 23:13:02.31 AAS
((3><3) [1.0 ..]) * 3.0
621(1): デフォルトの名無しさん [sage] 2011/11/29(火) 23:25:20.10 AAS
>>620
それでも同じエラーですね
というか、* 演算子よりも、関数 (3><3) を [1.0 ..] に適用する方が
優先順位が高いので、その括弧は計算順の指定としては意味が無いです
今気づきましたが、
Matrix Double や Matrix Float などの型を特定しないとダメでした
(3><3) [1.0 ..] * 3.0 :: Matrix Double
これ、出力されたエラーからは原因が分かりにくいですね
622(1): デフォルトの名無しさん [sage] 2011/11/29(火) 23:58:26.42 AAS
mapMatrix (3*) (3><3) [1.0..]
623: デフォルトの名無しさん [sage] 2011/11/30(水) 07:20:54.93 AAS
>>622
そちらの方は括弧が必要ですよ
mapMatrix (3*) ((3><3) [1.0..])
あるいは $ 演算子
mapMatrix (3*) $ (3><3) [1.0..]
いずれにしても、問題は解決しました
624(1): デフォルトの名無しさん [sage] 2011/11/30(水) 07:33:42.39 AAS
なんかmapMatrixの方じゃないと通らない
Matrix DoubleはNumでもFractionalでもねぇよって言われる
625: デフォルトの名無しさん [sage] 2011/11/30(水) 08:54:00.53 AAS
(ε><3) にしたほうが 謎
626: デフォルトの名無しさん [sage] 2011/11/30(水) 12:36:35.36 AAS
>>624
そうなんですか
バージョンの違いですかね
私のは GHC 7.2.1、hmatrix 0.12.0.1 です
この環境において、ghci 上で >>621 ので通りました
(ちなみに、Numeric.LinearAlgebra モジュールをロードしておきました)
627: デフォルトの名無しさん [sage] 2011/12/01(木) 08:12:41.14 AAS
(忍^人^殺)<ドーモ、パール・ニンジャ=サン。ニンジャスレイヤーです
628: デフォルトの名無しさん [sage] 2011/12/01(木) 12:28:37.86 AAS
(^^) 9 4とか
(><) 3 3とかみてるとネットの暗号か何かに見える。
629: デフォルトの名無しさん [sage] 2011/12/01(木) 18:46:34.31 AAS
Data.Bits の顔文字はイマイチだよね
630(1): デフォルトの名無しさん [sage] 2011/12/01(木) 19:16:22.95 AAS
使い所もイマイチ
今までアプリ作ってて Data.Bits のお世話になったことがない
631: デフォルトの名無しさん [sage] 2011/12/01(木) 19:34:11.24 AAS
Data.Bitsのお世話になった事があったのはGUIでフラグ渡す時くらい。
632: デフォルトの名無しさん [sage] 2011/12/01(木) 21:16:47.24 AAS
grepしてみたら乱用してた
代数的データ型だと遅すぎるから手動でIntのビットフィールドに押し込めるとか
633(1): デフォルトの名無しさん [sage] 2011/12/01(木) 22:37:10.20 AAS
>>630
遺伝アルゴリズムとか
634(1): デフォルトの名無しさん [sage] 2011/12/01(木) 22:48:12.00 AAS
>>633
勉強以外で、専用ライブラリを使わずに自作する理由が特に見つからない
635(1): 日系アメリカ人 ◆japYJPNx6A [] 2011/12/02(金) 00:05:27.78 AAS
くだらね
つまらないやつばっかり
636: デフォルトの名無しさん [sage] 2011/12/02(金) 08:37:29.94 AAS
セッツァーノ イタリアじん
637(1): デフォルトの名無しさん [sage] 2011/12/02(金) 11:30:31.05 AAS
>>634
専用ライブラリが遅かったら?
638(1): デフォルトの名無しさん [sage] 2011/12/02(金) 12:34:38.78 AAS
>>637
許容できる速度に達していないライブラリしか存在せず、
かつ、絶対に遺伝的アルゴリズムが必要なら何らかの方法で自作するしかない
しかし、FFI によって C のライブラリも使える中で、
専用ライブラリが問題になるほど遅い状況が考えにくいのだが、
そんな状況があったの?
639(1): デフォルトの名無しさん [sage] 2011/12/02(金) 12:59:59.60 AAS
>>638
結果が出るのに何時間もかかるような大規模演算が必要な状況なら
ピンポイントでそういう部分がボトルネックになることが多いんだよ。
640: デフォルトの名無しさん [sage] 2011/12/02(金) 15:24:14.88 AAS
>>635
救世主キタ━━(゚∀゚)━━!!!
641(1): デフォルトの名無しさん [sage] 2011/12/02(金) 17:55:57.58 AAS
>>639
じゃあ、そういう部分だけ C 用の高速ライブラリを使えば良いのではないか?
探したことないから知らんが、商用とかではいくらでもあると思う
Data.Bits を使う理由がないな
上下前次1-新書関写板覧索設栞歴
あと 337 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s