I am trying to interpolate a function defined over a three-dimensional real space: f :

lifretatox8n

lifretatox8n

Answered question

2022-04-10

I am trying to interpolate a function defined over a three-dimensional real space:
f : R 3 R ( x , y , z ) f ( x , y , z )
Let assume I have N 1 N 2 N 3 points in the space which form my grid for this interpolation, and the multivariate series
F ( x , y , z ) = a = 0 N 1 1 b = 0 N 2 1 c = 0 N 3 1 C a b c x a y b z c
is the chosen interpolator. In order to find the coefficients I should form the following sets of equations:
a = 0 N 1 1 b = 0 N 2 1 c = 0 N 3 1 C a b c x i a y i b z i c = f i = f ( x i , y i , z i ) , where,  i = 1 , , N 1 N 2 N 3 ,
and then solve for the coefficients. However, for this I first need to write the above set of linear equations in the standard form
A x = b
wherein, A is the matrix of coefficients, x is the vector of unknowns, and b = { f i } 1 N 1 N 2 N 3 is the known vector. For this to be done I would require to expand the multivariate power series in the form of a single variable series, that is,
a = 0 N 1 1 b = 0 N 2 1 c = 0 N 3 1 C a b c x i a y i b z i c = m = 0 ( N 1 1 ) ( N 2 1 ) ( N 3 1 ) C m η i m
wherein η i = η i ( x i , y i , z i ) and probably m = a b c. OF course the expansion needs to be nontrivial and useful.
Is it possible at all? Any suggestion to find the coefficients more practically?
Regards, owari
UPDATE.
Maybe it appears that the most natural way for solving this problem is comprised of the following steps:
1. first solve for the coefficients of
a = 0 N 1 1 E a ( y , z ) x i a = f ( x i , y , z ) , where,  i = 1 , , N 1 ,
2. then solve for the coefficients of
b = 0 N 2 1 D a b ( z ) y i b = E a ( y i , z ) , where,  i = 1 , , N 2 , and,  a = 0 , , N 1 1
3. and finally solve for the coefficients of
c = 0 N 2 1 C a b c z i c = D a b ( z i ) , where,  i = 1 , , N 3 , a = 0 , , N 1 1 , and,  b = 0 , , N 2 1
which gives the coefficients we were looking for. However, this way, the first two steps will be working with function-type coefficients instead of numerical coefficients and that will prevent efficient usage of the available codes in numerical analysis. Solving for each set of coefficients at each step for different grid points would also inevitably increase the number of equations drastically, so any better suggestion to solve for this problem?

Answer & Explanation

gudstrufy47j

gudstrufy47j

Beginner2022-04-11Added 16 answers

Ok, if the function that is to be interpolated can be factorized independently in different variables, like f ( x , y , z ) = f x ( x ) f y ( y ) f z ( z ), the solution would be easy as the triple sum would be easily written as the multiplication of three sums and the equations can be written in the form that follows:
a = 0 N 1 1 C x a x i a b = 0 N 2 1 C y b y i b c = 0 N 3 1 C z c z i c = f i = f x ( x i ) f y ( y i ) f z ( z i ) , where,  i = 1 , , N 1 N 2 N 3 { a = 0 N 1 1 C x a x i a = f x ( x i ) b = 0 N 2 1 C y b y i b = f y ( y i ) c = 0 N 3 1 C z c z i c = f z ( z i )
and finally we would have: C a b c = C x a C y b C y b . This is good and efficient, however it works for only a limited class of functions, any idea to extend it to a more general case?

Do you have a similar question?

Recalculate according to your conditions!

New Questions in Linear algebra

Ask your question.
Get an expert answer.

Let our experts help you. Answer in as fast as 15 minutes.

Didn't find what you were looking for?