2

Incanterは初めてで、2つのリストのペアワイズ積の結果に基づいて行列を作成するためのベクトル化されたソリューションはどのようになるのか疑問に思っていました。明確にするために、私が作成する2つのリストがあります

(def x (pdf-poisson (range 4) :lambda 2.2))
(def y (pdf-poisson (range 4) :lambda 1.5)).

ここで、M(1,1)がx(1)とy(1)の積であり、M(1,2)がx(1)とy(2)の積であるような4x4行列Mが必要です。 。

オクターブで外積をとるのは簡単なので、インカンターもこれをサポートしてくれることを期待していました。

ベクトル間で関数をマッピングすることでこれを簡単に手作業でコーディングできますが、可能であれば、慣用的またはベクトル化されたアプローチが必要でした。

ありがとう、JT

4

2 に答える 2

2

インカンターでクロネッカー関数を見つけました。ベクトルのクロネッカー積は私が必要としていたものです。それで

(kronecker y-poisson x-poisson)
于 2011-12-23T19:58:10.323 に答える
1

これで終わりました:-

(def x-poisson (pdf-poisson (range 4) :lambda 2.2))
(def y-poisson (pdf-poisson (range 4) :lambda 1.5))

(defn- poisson-mapper
  "Takes a list of values from the PDF, and returns a closure that will multiply each
  value in the list by p. Used to create the probability matrix"
  [p_list]
  (fn [p] (map #(* p %) p_list))) 

(def x-mapper (poisson-mapper x-poisson))

(def probabiliy-matix (matrix (map #(x-mapper %) y-poisson)))
于 2011-12-22T01:13:03.027 に答える