Re: Compile Problem with Nested Sum
- To: mathgroup at smc.vnet.net
- Subject: [mg123785] Re: Compile Problem with Nested Sum
- From: Frank K <fkampas at gmail.com>
- Date: Mon, 19 Dec 2011 07:17:59 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jc7a56$on6$1@smc.vnet.net>
On Dec 13, 5:41 am, Julian Francis <julian.w.fran... at gmail.com> wrote: > Dear all, > > I have a simple function which compiles fine: > > fC1 = Compile[{{mx, _Integer}, {my, _Integer}, {mat, _Real, 2}}, > Sum[ > mat[[mx, my]] , {a, 0, 1}] > ] > > However, a sum within a sum doesn't compile: > > fC2 = Compile[{{mx, _Integer}, {my, _Integer}, {mat, _Real, 2}}, > Sum[ > Sum[ > mat[[mx, my]] , {a, 0, 1}], > {b, 1, 1}] > ] > > which generates the following error message: > > Compile::noinfo: No information is available for compilation of \!\ > (\*UnderoverscriptBox[\(\[Sum]\), \(b = 1\), \(1\)]\ > ((\*UnderoverscriptBox[\(\[Sum]\), \(a = 0\), \(1\)]mat[[mx, my]])\) > \). The compiler will use an external evaluation and make assumptions > about the return type. >> > > I am confused as to why the first works, but the second doesn't. > > Any help would be appreciated. > > Thanks, > Julian Francis. What version of Mathematica are you running? It compiles ok on 8.0.4. However, I don't understand why you're not summing over the indices of the matrix. Also, you don't need to nest Sum, you can put both indices inside one sum