Consider the following code
NDSolveValue[{ x'[t] == x[t]^a, x[0] == 0 }, x, {t, 0, 10}] which solves the equation $x'(t)=x(t)^a$, for some exponent $a$, with $x(0)=0$. If I want to solve two identical equations, I can simply add a new initial condition
NDSolveValue[{ x'[t] == x[t]^a, x[0] == {0, 0} }, x, {t, 0, 10}] I want to solve this system when $a=1/2$ (square root), however this doesn't work for more than one equation and I get, among others, the error
"NDSolveValue::nbnum1: The function value {0,0}==0 is not True or False when the arguments are {0.,{0.,0.},{0.,0.}}." Why is that? If I pick any $a\geq 1$ it works as intended. Why is it suddenly interpreting the right hand side as a scalar for $a<1$? In the one equation case, square root works. Any ideas?
Edit and motivation: I want to mimic the following code
NDSolveValue[{x1'[t] == Sqrt[x1[t]], x2'[t] == Sqrt[x2[t]], x1[0] == x2[0] == 0}, {x1, x2}, {t, 0, 10}] and the reason I'm using this is because I would like to generate a big list of equations. For $a\geq 1$, at least, the main difference between this approach and mine is that here I get a list of two interpolating functions with scalar outputs, and in my case I get one interpolating function with 2 output dimensions.
In other words, what is the best way to solve $$ x_1'(t)=\sqrt{x_1(t)}, x_2'(t)=\sqrt{x_2(t)}, \cdots,x_n'(t)=\sqrt{x_n(t)}\\ $$ for an arbitrary $n$? The main reason I'm interested in this approach is because it's what I use to solve a system like this $$ \begin{pmatrix} x_1'(t)\\ x_2'(t)\\ \vdots\\ x_n'(t) \end{pmatrix}=A f\begin{pmatrix} x_1(t)\\ x_2(t)\\ \vdots\\ x_n(t) \end{pmatrix} $$ where $A$ is some $n\times n$ matrix and $f:\mathbb{R}^n\to\mathbb{R}^n$. In this specific case, $A$ is the identity matrix and $f$ maps the square root.
x[0] = {0, 0}in your initial conditions. I suspect thatNDSolveValueis having the same problem interpreting what you mean. Also, exactly what code generates the error you saw? $\endgroup$Sqrtis a multivalued function. If you useSurd(this gives a real value) instead ofSqrt, then the following works:NDSolveValue[{x'[t] == Surd[x[t], 2], x[0] == {0, 1}}, x, {t, 0, 10}]$\endgroup$