Re: Help: Generalized convolution using ListConvolve
- To: mathgroup at smc.vnet.net
- Subject: [mg47307] Re: Help: Generalized convolution using ListConvolve
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Mon, 5 Apr 2004 05:22:45 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <c4jaqj$dpc$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
I can't follow you. When you get the Dimensions[] of your
output, you get {2,2,3} and this is an 2 x 2 array of 3d-vectors.
So what is your problem.
Regards
Jens
Kezhao Zhang wrote:
>
> I tried to use ListConvolve to calculate the convolution of a 2x2x3x3
> tensor and a 2x2x3 tensor.
> The kernel (2x2x3x3 tensor) is a 2x2 array of 3x3 matrices. The list
> is a 2x2 array of vectors of length 3.
> The operation between the element in the kernel and the element in the
> list is Dot product between a matrix
> and a vector. I used the general form of ListConvolve:
> ListConvolve[kernel, lst, {1, 1}, {}, Dot, Plus, 2] and
> expected the output to be a 2x2 array of vectors of length 3. But only
> one element of the output array is vector
> and the rest are matrices.
>
> Could someone please help me find out what went wrong.
>
> Thanks for your help.
>
> The sample code is listed below.
>
> K. Zhang
>
> ---------------
>
> In[1]:=kernel
> Out[1]={{{{-0.333333, 0, 0}, {0, -0.333333, 0}, {0,
> 0, -0.333333}}, {{-0.0675086, 0, 0}, {0, 0.135017,
> 0}, {0, 0, -0.0675086}}}, {{{0.135017, 0, 0}, {0, -0.0675086,
> 0}, {
> 0, 0, -0.0675086}}, {{0.0137858, 0.0530667, -0.0170824},
> {0.0530667, \
> 0.0137858, 0}, {-0.0170824, 0, -0.0275715}}}}
> In[2]:=lst=Table[{1,0,0},{2},{2}]
> Out[2]={{{1, 0, 0}, {1, 0, 0}}, {{1, 0, 0}, {1, 0, 0}}}
> In[3]:=ListConvolve[kernel, lst, {1, 1}, {}, Dot, Plus, 2]
> Out[3]={{{{-0.252039, -0.280267, -0.350416}, {0.0530667,
> 0.0812944, 0.}, {-0.0170824, 0., -0.162589}}, {{-0.252039,
> -0.347775, \
> -0.417924}, {0.0530667, -0.0537228,
> 0.}, {-0.0170824, 0., -0.0950801}}}, {{{-0.252039, -0.145249,
> \
> -0.215399}, {0.0530667, 0.148803, 0.}, {-0.0170824, 0., -0.0950801}},
> \
> {-0.252039, 0.0530667, -0.0170824}}}