# Is it possible to find a non-zero solution of an ODE?

Is it possible to solve the 4th-order ode analytically?

op[r_] = (D[#, {r, 2}] - 1/r*D[#, r]) &;

DSolve[{op[r][op[r][f[r]]] == 0, f[b] == 0, f'[b] == 0, (f''[r] - 1/r*f'[r] - f[r]/(c - 1) /. r -> (1 + b)) == 0, (f'''[r] - 1/r*f''[r] + 1/r^2*f'[r] /. r -> (1 + b)) == 0}, f[r], r]


I am using v11 in which DSolve returns a trivial solution f[r] -> 0 only.

Any suggestion is welcome. Thank you!

For general values of $$b$$ and $$c$$, the trivial solution is indeed the only solution. However, there are special values of $$b$$ and $$c$$ which can yield non-trivial solutions.

To find these, we can start by telling Mathematica to find the general solution to the ODE:

soln = DSolve[{op[r][op[r][f[r]]] == 0}, f, r]

(* {f -> Function[{r}, (r^2 C[1])/2 - (r^2 C[2])/4 + (r^4 C[3])/4 + C[4] + 1/2 r^2 C[2] Log[r]]} *)


We can then look at the boundary conditions and see what they imply about the coefficients C[i]. We do this by storing the vanishing quantities in a list BCs; the actual equations are then BCs == 0.

BCs = { f[b],
f'[b],
(f''[r] - 1/r*f'[r] - f[r]/(c - 1) /. r -> (1 + b)),
(f'''[r] - 1/r*f''[r] + 1/r^2*f'[r] /. r -> (1 + b))};
quants = BCs /. First[soln]


The quantities in quants are four linear combinations of the coefficients C[1], C[2], C[3], and C[4], all of which must vanish. We can think of this set of simultaneous equations as the result of a matrix $$M$$ multiplying the vector $$\vec{v} = \{C_1, C_2, C_3, C_4\}$$. From basic results in linear algebra, we know that the only way for there to be a non-trivial solution for $$\vec{v}$$ is for the matrix $$M$$ to have a non-zero determinant. So we construct this matrix and take its determinant:

mat = Outer[Coefficient, quants, {C[1], C[2], C[3], C[4]}];
Simplify[Det[mat]]

(* -((b (1 + b) (-3 + 2 b + 4 c + 2 (1 + b)^2 Log[b] - 2 (1 + b)^2 Log[1 + b]))/(-1 + c)) *)


This implies that the trivial solution is the only solution to the ODE unless this last quantity (in terms of the constants $$b$$ and $$c$$) is zero, which occurs when $$b = 0$$, $$b = -1$$, or $$c = \frac{3 - 2b + 2 (1+b)^2 \ln( (1+b)/b )}{4}.$$

• thank you very much, but the question is actually not solved completely... I tried csoln = Solve[Det[mat] == 0, c] // Simplify and substituted the special c in the original system but the solution still includes one unknown constant. Please see DSolve[{op[r][op[r][f[r]]] == 0, f[b] == 0, f'[b] == 0, (f''[r] - 1/r*f'[r] - f[r]/(c - 1) /. {r -> (1 + b), csoln[[1, 1]]}) == 0, (f'''[r] - 1/r*f''[r] + 1/r^2*f'[r] /. r -> (1 + b)) == 0}, f[r], r], it also gives a warning _Unable to resolve some of the arbitrary constants _ Jan 20 at 9:20
• Yes, there will be unknown constants in the solution. They should correspond to the overall normalization of the solution; if $f(x)$ is a solution then so is $\alpha f(x)$ for any $\alpha$, because the equation is linear. Jan 20 at 12:13
• Prof. Seifert thanks a lot! Your comment is plausible. But with Det[mat]==0 we should have non-zero solution for C[i], however, when substituting the eigenvalue c back to mat, which represents vanishing quantities for the b.c.s, I got zero solution... Please try csoln = Solve[Det[mat] == 0, c] and LinearSolve[mat/.First[csoln], {0, 0, 0, 0}] Jan 21 at 2:41

A somewhat different way is as follows.

s = DSolve[{op[r][op[r][f[r]]] == 0, f[b] == 0, f'[b] == 0}, f, r]


{{f -> Function[{r}, (1/( 4 b^2))(-b^4 C[1] + 2 b^2 r^2 C[1] - r^4 C[1] + b^4 C[2] - b^2 r^2 C[2] - b^4 C[2] Log[b] - r^4 C[2] Log[b] + 2 b^2 r^2 C[2] Log[r])]}}

Resolve[Exists[{C[1], C[2]},Simplify[f'[1 + b]/(1 + b)^2 - f''[1 + b]/(1 + b) + f'''[1 + b] /.
s[[1]]]==0 && Simplify[-(f[1 + b]/(-1 + c)) - f'[1 + b]/(1 + b) + f''[1 + b] /.
s[[1]]]==0&& C[1]^2 + C[2]^2 != 0], Reals]


b > 0 && c == 1/4 (3 - 2 b - 2 Log[b] - 4 b Log[b] - 2 b^2 Log[b] + 2 Log[1 + b] + 4 b Log[1 + b] + 2 b^2 Log[1 + b])

The main difference from Michael Seifert's answer consists in the use of quantifiers instead of linear algebra. This way is more automatical.

• One could also start from DSolve[{op[r][op[r][f[r]]] == 0, f, r]. Jan 16 at 17:12