Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

Transpose[ InterpolatingFunction, { n1, n2, ...} ]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg81195] Transpose[ InterpolatingFunction, { n1, n2, ...} ]
  • From: pdickof at scf.sk.ca
  • Date: Sat, 15 Sep 2007 04:11:18 -0400 (EDT)

Suppose I have a table, grid lines, InterpolatingFunction, and order
list as follows ...

lens = {6, 5, 4}
t = Table[i + j + k,
              {i,1, lens[[1]], 1},
              {j, 10, 10lens[[2]], 10},
              {k, 100, 100lens[[3]], 100}]
g = {Range[lens[[1]]], 10Range[lens[[2]]], 100Range[lens[[3]]]}
f = ListInterpolation[t, g]

Evaluate that and everything makes sense. Note that

Dimensions[t]==Map[Length,g]

Now let me transpose as follows ...

axisPosit = {3, 2, 1};
t2 = Transpose[t, axisPosit]
g2 = Part[g, axisPosit]
o2 = Part[o, axisPosit]
f2 = ListInterpolation[t2, g2, InterpolationOrder -> o2]

Again, no problems on evaluation. and

Dimensions[t2]==Map[Length,g2]

Trying all permutations of {1,2,3},... we see that the Dimensions and
Lengths do not always agree (and the corresponding ListInterpolation
must fail)

Map[{#,
        Dimensions[t2 = Transpose[t, #]] == Map[Length, g2 = Part[g,
#]],
        Head[ListInterpolation[t2, g2]] === InterpolatingFunction} &,
    Permutations[Range[3]]] // MatrixForm

I think all of these cases should always be True. Is there a bug in
Transpose or am I confused?

I am trying to generalize Transpose to work on InterpolatingFunctions
including those where an N1-D InterpolatingFunction has data for only
N2-D dimensional hyperplanes where (0<=N2<=N1) (ie. where elements in
the list lens above can be =1). The function would be

myTranspose[ InterpolatingFunction, {n1, n2,  ...} ]

I intend to check that Sort[{n1, n2, ...}]==Range[N1]

Does anyone have any advice on how to accomplish this?

Thanks in advance!



  • Prev by Date: Re: Input Format
  • Next by Date: Re: LegendreP error (bug?) in Mathematica
  • Previous by thread: PlotMarkers misalignment in Mathematica 6.0.0
  • Next by thread: Automated documentation (like javadoc) for packages?