I have the equation: $$ x_i = a \sum_{j=1}^n A_{ij} k_j x_{j}^b$$ Given a, b, $A_{ij}$ and $K_j$, can I use iterate numerical method to solve $x_i$?

That is given the initial value of $x_j$ on the RHS and solve the $x_i$ on the LHS, then assign the value of $x_i$ on the LHS to the $x_j$ on the RHS, and so on until $|x_i - x_j|$ is very small.

I write the following matlab code

n = 100;
X = ones(n,1);
diff = 1;
tol = 10^(-10);
%b = 3.2;
b = 0.8;
a = 1.2;
A = magic(n)
K = rand(n,1)
while diff>tol
    X_new = a*A*(X.^b.*K);
    diff = norm(X - X_new);
    X = X_new;

My questions are:

  1. Is this method right?
  2. If it is right, under what condition can I find the solution?
  • 1
    $\begingroup$ what about $a$ in equation? What is theta in code? $\endgroup$
    – user252783
    Aug 22, 2016 at 7:38
  • $\begingroup$ @user252783 A typo. I have edited again. $\endgroup$
    – XJ.C
    Aug 22, 2016 at 7:42

1 Answer 1


I don't think that you will get much out of this approach for $b>1$. Take the one dimensional problem $x = f(x)= a x^2$, $a>0$. There are two solutions $x=0$ which is a stable fixed point and $x=1/a$ which is an unstable fixed point $f'(1/a)=2>1$. So your method wouldn't converge to the non-trivial solution. I bet that you will encounter the same problem in general for $b>1$.

For $-1<b<1$ it may work, for example it does for $x=f(x)=a x^b$: Fixed point $x_0=a^{1/(1-b)}$ and $f'(x_0)=a b x_0^{b-1}=b$ so the fixed point is stable in that case. I tried a numerical example with some random 3 by 3 matrix and it converged nicely when e.g. $b=0.8$ or $b=-0.8$.

  • $\begingroup$ Thanks. And how about $-1<b<0$? $\endgroup$
    – XJ.C
    Aug 22, 2016 at 7:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .