How to check the following inequality for any complex analytic function ?

I want a MATLAB programme to check if my analytic function f satisfies the inequality
Real{1+z*f ''(z)/f'(z)}>=0 for all z belonging to unit disk. Also with f(0)=0 and f'(0)=1

3 Comments

I think both problems you posted here are meant to be solved theoretically, not with MATLAB help.
Torsten
Torsten on 13 Feb 2026 at 17:49
Edited: Torsten on 13 Feb 2026 at 17:50
If you have statements like "for all z", it will strongly depend on the function f if MATLAB can help. For arbitrary f, it's a statement that has to be proven theoretically - MATLAB is not a suitable tool in this case.
@simran comments to @Torsten
I am a researcher and I wanted to test some functions for eligibility for solving a bigger problem and since I am not so familiar with MATLAB, i thought if there's an easier way to check this condition as eligibility, this is not some homework fyi.

Sign in to comment.

 Accepted Answer

Hi simran
I'm not sure if you are bringing up f(z) = 0 & f'(z) = 1 as a necessity or as just a special case but I'll assume necessity. You are looking for
u(z) = 1 + z*f''(z)/f'(z)
Re(u(z)) >= 0 % required condition
The following code is numerical and finds the minimum value of Re(u(z)) throughout the disc. It's not a hard proof of the required condition but there is not much doubt about the results.
With
f(z) = (1/b)*sin(bz) % f(z)=0 & f'(z)=1
there are three examples below for b = 0.6, 1, 3. For b = 0.6 all values of Re(u(z)) are positive on the boundary and throughout the disc, so the condition is met. For b = 1 some values are negative on part of the boundary and on part of the disc so the condition is not met. This is the same as Walter's result except Walter treated the boundary of the disc (the unit circle), which was enough to show that that the required condition was not met. The code below shows the entire disc. (Also I used sin instead of sinh which has the result of rotating the plots by 90 degrees).
A lot depends on whether u(z) is analytic on the disc. If u(z) were to have poles, for example (often caused by zeros in f '(z) as in this case) then u(z) can't be a candidate.
For b = 3, u(z) has two poles inside the unit circle as can be seen on the plot.
r1 = 0:.01:1;
th1 = (0:.01:2)*pi;
[r th] = meshgrid(r1,th1);
x = r.*cos(th);
y = r.*sin(th);
z = x + i*y;
bvals = [.6 1 3];
for k = 1:3
b = bvals(k);
f = (1/b)*sin(b*z);
df1 = cos(b*z);
df2 = -b*sin(b*z);
u = 1 + z.*df2./df1;
ru = real(u);
figure(1)
subplot(2,2,k)
surf(x,y,ru,'edgecolor','none')
view([0 0 1])
colorbar
title(['b = ' num2str(b)])
minD = min(min(ru)) % minimum over the disc
minC = min(ru(:,end)) % minimum on the unit circle
end

1 Comment

Torsten
Torsten on 16 Feb 2026 at 14:55
Edited: Torsten on 16 Feb 2026 at 14:55
I think @simran wants to play with the theorem that a function holomorphic in the unit disk is convex if and only if real{1+z*f ''(z)/f'(z)}>=0 for all |z| < 1.
In geometric function theory, a holomorphic function is called convex if it is injective and if it maps the unit disk {z: |z| < 1} onto a convex region. This means that for any two points in the image region, the line segment connecting them also lies entirely within the image region.
But I doubt that is something where MATLAB can help.

Sign in to comment.

More Answers (1)

Let us test:
syms z
f1(z) = sin(z) + cos(z);
f2(z) = sinh(z);
df1 = diff(f1);
d2f1 = diff(df1);
df2 = diff(f2);
d2f2 = diff(df2);
t1(z) = real(1 + z*d2f1(z) / df1(z))
t1(z) = 
t2(z) = real(1 + z*d2f2(z) / df2(z))
t2(z) = 
syms theta real
Z = cos(theta) + 1i*sin(theta)
Z = 
t1s = simplify(t1(Z))
t1s = 
t2s = simplify(t2(Z))
t2s = 
fplot(t1s, [0 2*pi])
fplot(t2s, [0 2*pi])
The first plot is fine. The second plot definitely goes negative. The hypothesis is therefore false unless the second plot is prohibitted by the boundary conditions.
f2(0)
ans = 
0
df2(0)
ans = 
1
Nope, the boundary conditions are met.

Categories

Find more on Programming in Help Center and File Exchange

Products

Release

R2024a

Asked:

on 13 Feb 2026 at 11:15

Edited:

on 18 Feb 2026 at 6:47

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!