Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

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}}}




  • Prev by Date: Re: NDSolve for Newtonian Orbits Question
  • Next by Date: Re: NDSolve for Newtonian Orbits Question
  • Previous by thread: Help: Generalized convolution using ListConvolve
  • Next by thread: Re: Assumption -> quadratic multivariate function