1 Introduction

The Mandelbrot and Julia sets represent some of the most beautiful examples of fractal structures generated by non-linear dynamic systems. They were introduced by Benoit Mandelbrot in the late 1970s [28], but Julia sets were studied much earlier, namely in the early 20th century by French mathematicians Pierre Fatou and Gaston Julia. Working at IBM, Mandelbrot studied their work and plotted the Julia sets for \(z^2 + c\), where \(c \in {\mathbb {C}}\) is the parameter. During the generation, he used the following feedback iteration process:

$$\begin{aligned} z_{n+1} = z_n^2 + c, \end{aligned}$$
(1)

where \(z_0 \in {\mathbb {C}}\) is a starting point. He was surprised by the result that he obtained.

Since then, many different generalisations of the sets presented by Mandelbrot were proposed. The most obvious was the use of \(z^p + c\) instead of the quadratic function [10, 27]. Then, other functions were used: rational [5], trigonometric [11, 22, 30], exponential [9, 30] etc. Over time, generalisations based on switching processes have been proposed [3, 26]. In recent years, some researchers focused on a different type of generalisation. They used the results that can be found in fixed point theory.

Introducing \(Q_c(z) = z^2 + c\), we can express (1) in the following form:

$$\begin{aligned} z_{n+1} = Q_c(z_n). \end{aligned}$$
(2)

In fixed point theory this form of the feedback iteration is called the Picard iteration and it is used to find fixed points in a given mapping. In order to obtain faster convergence (weak, strong, etc.), some other iteration processes were introduced in the fixed point theory. For example, the Mann iteration [29] is defined in the following way:

$$\begin{aligned} z_{n+1} = (1 - \alpha _n) z_n + \alpha _n T(z_n), \end{aligned}$$
(3)

where \(\alpha _n \in (0, 1]\) and T is the mapping for which we want to find the fixed points. The first works regarding the use of other iteration processes in the generation of complex fractals appeared in 2004. Rani and Kumar used the Mann iteration in the generation of Mandelbrot and Julia sets [35, 36]. Then, other iterations were used to generalise those sets. The iterations can be divided into two groups, namely explicit and implicit. The Mann iteration belongs to the explicit group of iterations. Other iterations from this group that were used in the study of Mandelbrot and Julia sets are the following: the Ishikawa iteration [6], the Noor iteration [2], the S-iteration [20, 21] and the Abbas iteration [24]. The implicit iterations are the following: Jungck–Mann [39] and Jungck–Ishikawa [17]. Moreover, in both groups, several researchers proposed the use of s-convexity. The Ishikawa iteration with s-convexity [31], the Noor iteration with s-convexity [7], the SP iteration with s-convexity [25] and the S-iteration with s-convexity [15] were proposed in the explicit group of iterations, whereas the Jungck–Noor iteration with s-convexity [19], and the Jungck–Mann and Jungck–Ishikawa iterations with s-convexity [32] in the implicit group. The study of such a variety of iteration processes is twofold. Firstly, these various iteration processes obtain a faster convergence than the standard Picard iteration used in the classical Mandelbrot and Julia sets [1]. Secondly, each iteration presents a different behaviour and dynamics [1], which are fascinating not only from the graphical point of view but also from the applications point of view.

It is worth mentioning that the various iteration processes have also found application in the generation of other types of fractals, e.g. iterated function system fractals [34, 38], biomorphs [14], polynomiography [13, 16, 18], inversion fractals [12] and superfractals [37].

In this paper, we study the use of the Picard–Mann iteration with s-convexity in the generation of Mandelbrot and Julia sets. We also prove the escape criterion for the \((k+1)\)st degree complex polynomial. Moreover, we present some graphical and numerical examples regarding the Mandelbrot and Julia sets generated using the proposed iteration.

The rest of the paper is organised as follows. In Sect. 2, we briefly introduce the notions used in the paper. Next, in Sect. 3, we generalise the Picard–Mann iteration with the use of the s-convex combination. Moreover, we prove the escape criterion for the function of the form \(Q_c(z) = z^{k+1} + c\) using the Picard–Mann iteration with s-convexity. In Sect. 4, we present some graphical examples of the Mandelbrot and Julia sets obtained with the derived criterion. Then, in Sect. 5, numerical experiments regarding the generation times and the average number of iterations of the generated Mandelbrot and Julia sets are presented. Finally, in Sect. 6, we give some concluding remarks.

2 Preliminaries

Definition 1

(Julia set [4]) Let \(f: {\mathbb {C}} \rightarrow {\mathbb {C}}\) be a polynomial of degree \(\ge 2\). Let \(F_{f}\) be the set of points in \({\mathbb {C}}\) whose orbits do not converge to the point at infinity, i.e.

$$\begin{aligned} F_{f} = \{z \in {\mathbb {C}}: \{\left| f^{n}(z)\right| \}_{n=0}^{\infty } \text { is bounded} \}. \end{aligned}$$
(4)

\(F_{f}\) is called a filled Julia set of polynomial f. The boundary points of \(F_{f}\) comprise the Julia set of polynomial f or simply the Julia set.

Definition 2

(Mandelbrot set [8]) The Mandelbrot set M consists of all parameters c to which the filled Julia set of \(Q_{c}(z)=z^{2}+c\) is connected, i.e.

$$\begin{aligned} M=\{c\in {\mathbb {C}}: F_{Q_{c}} \text { is connected} \}. \end{aligned}$$
(5)

In fact, M contains an enormous amount of information about the structure of Julia sets.

The Mandelbrot set M for the quadratic function \(Q_{c}(z)=z^{2}+c\) can be also defined in the following way [41]:

$$\begin{aligned} M = \{c \in {\mathbb {C}}: \{ Q_{c}^{n}(0) \} \text { does not tend to } \infty \text { as } n \rightarrow \infty \}. \end{aligned}$$
(6)

We choose the initial point 0, because 0 is the only critical point of \(Q_{c}\), i.e., \(Q_{c}'(0) = 0\).

Definition 3

Let \(C \subset {\mathbb {C}}\) be a non-empty set and \(f:C\rightarrow C\). For any point \(z_{0} \in C\), the Picard orbit is defined as the set of iterates of point \(z_{0}\), i.e.

$$\begin{aligned} O(f,z_{0}) = \{f^{n}(z_{0})\}_{n = 0}^{\infty }. \end{aligned}$$
(7)

Theorem 1

Let \(Q_c(z) = z^{k + 1} + c\), where \(k = 1, 2, \ldots \) and \(c \in {\mathbb {C}}\).

  1. 1.

    (escape criterion for the Picard iteration [40]) Suppose that

    $$\begin{aligned} |z_0| > \max \left\{ |c|, 2^{\frac{1}{k}} \right\} . \end{aligned}$$
    (8)

    Then, for \(z_n\) given by the Picard iteration, i.e., \(z_n = Q_c(z_{n-1})\), we have \(|z_n| \rightarrow \infty \) as \(n \rightarrow \infty \).

  2. 2.

    (escape criterion for the Mann iteration [35]) Suppose that

    $$\begin{aligned} |z_0| > \max \left\{ |c|, \left( \frac{2}{\alpha } \right) ^{\frac{1}{k}} \right\} , \end{aligned}$$
    (9)

    where \(\alpha \in (0, 1]\). Then, for \(z_n\) given by the Mann iteration, i.e., \(z_n = (1 - \alpha ) z_{n-1} + \alpha Q_c(z_{n-1})\), we have \(|z_n| \rightarrow \infty \) as \(n \rightarrow \infty \).

Definition 4

(Picard–Mann orbit [23]) Let \(C \subset {\mathbb {C}}\) and \(f: C \rightarrow C\). Consider a sequence \(z_n\) of iterates for the initial point \(z_{0} \in C\) such that

$$\begin{aligned} {\left\{ \begin{array}{ll} z_{n+1} = f(w_n), \\ w_{n} = (1 - \alpha _n) z_n + \alpha _n f(z_n), \quad n=0, 1, 2, \ldots , \end{array}\right. } \end{aligned}$$
(10)

where \(\alpha _n \in (0, 1]\). This sequence of iterates is called the Picard–Mann orbit, which is a function of three arguments \((f , z_0, \alpha _n)\) and will be denoted by \(PMO(f, z_0, \alpha _n)\).

The Picard–Mann iteration belongs to the group of explicit iteration processes. In this group, some of the iteration processes are reduced for particular values of the parameters used in those iterations. A review of the various iteration processes and their dependencies can be found in [13].

3 Main results

In the first step of the Picard–Mann iteration, we use a convex combination of \(z_n\) and \(f(z_n)\). In the literature, we can find some generalisations of the convex combination. One such generalisation is the s-convex combination.

Definition 5

(s-convex combination [33]) Let \(z_1, z_2, \ldots , z_n \in {\mathbb {C}}\) and \(s \in (0, 1]\). The s-convex combination is defined in the following way:

$$\begin{aligned} \lambda _{1}^{s} z_1 + \lambda _{2}^{s} z_2 + \ldots + \lambda _{n}^{s} z_n, \end{aligned}$$
(11)

where \(\lambda _k \ge 0\) for \(k \in \{ 1, 2, \ldots , n \}\) and \(\sum _{k = 1}^{n} \lambda _k = 1\).

Let us note that the s-convex combination for \(s = 1\) reduces to the standard convex combination. Now, we will replace the convex combination in the Picard–Mann iteration with the s-convex one.

Let Q be a polynomial and \(z_0 \in {\mathbb {C}}\). We define the Picard–Mann iteration with s-convexity as follows:

$$\begin{aligned} {\left\{ \begin{array}{ll} z_{n+1} = Q(w_n), \\ w_{n} = (1 - \alpha )^s z_n + \alpha ^s Q(z_n), \quad n=0, 1, 2, \ldots , \end{array}\right. } \end{aligned}$$
(12)

where \(\alpha , s \in (0, 1]\). We will denote the Picard–Mann iteration with s-convexity by \(PMO_s(Q, z_0, \alpha , s)\).

If we take \(\alpha = 1\), then let us note that

$$\begin{aligned} w_{n} = (1 - \alpha )^s z_n + \alpha ^s Q(z_n) = (1 - 1)^s z_n + 1^s Q(z_n) = Q(z_n) \end{aligned}$$
(13)

and in consequence \(z_{n+1} = Q(w_n) = Q(Q(z_n))\). Thus, in a single Picard–Mann iteration for \(\alpha = 1\) we perform two iterations of Picard’s type.

Next, we will study the escape criterion for the generation of Mandelbrot and Julia sets using the Picard–Mann iteration with s-convexity. Let us note that by using the Picard–Mann with s-convexity we will create—during the generation process—completely new orbits and, by extension, we will obtain new fractal forms.

Theorem 2

Let \(Q_c(z) = z^{k + 1} + c\), where \(c \in {\mathbb {C}}\) and \(k = 1, 2, \ldots \). Assume that \(z_0 \in {\mathbb {C}}\) and \(|z_0| \ge |c|> \left( \frac{2}{s \alpha }\right) ^{\frac{1}{k}}\), where \(\alpha , s \in (0, 1]\). Define \(z_n\) as follows:

$$\begin{aligned} {\left\{ \begin{array}{ll} z_{n+1} = Q_c(w_n), \\ w_{n} = (1 - \alpha )^s z_n + \alpha ^s Q_c(z_n), \quad n = 0, 1, 2, \ldots . \end{array}\right. } \end{aligned}$$
(14)

Then, \(|z_n| \rightarrow \infty \) as \(n \rightarrow \infty \).

Proof

Consider:

$$\begin{aligned} |w_0| = |(1 - \alpha )^s z_0 + \alpha ^s Q_c(z_0)|. \end{aligned}$$
(15)

For \(Q_{c}(z) = z^{k+1} + c\) we have:

$$\begin{aligned} |w_0| = |(1 - \alpha )^{s} z_0 + \alpha ^{s} (z_{0}^{k + 1} + c)|. \end{aligned}$$

Since \(\alpha , s \in (0, 1]\), so \(\alpha ^s \ge s \alpha \), we get:

$$\begin{aligned} |w_0|\ge & {} |(1 - \alpha )^s z_0 + s\alpha (z_{0}^{k + 1} + c)| \nonumber \\\ge & {} |s \alpha z_{0}^{k + 1} + (1 - \alpha )^s z_0| - |s \alpha c| \nonumber \\\ge & {} |s \alpha z_{0}^{k+1} + (1 - \alpha )^s z_0| - |s \alpha z_0| \text {, because } |z_0|\ge |c| \nonumber \\\ge & {} |s \alpha z_{0}^{k + 1}| - |(1 - \alpha )^s z_0| - |s \alpha z_0|. \end{aligned}$$
(16)

By the binomial expansion of \((1 - \alpha )^s\) up to the linear terms of \(\alpha \) we obtain:

$$\begin{aligned} |w_0|\ge & {} |s \alpha z_{0}^{k + 1}| - |(1 - s \alpha ) z_0| - |s \alpha z_0| \nonumber \\= & {} |s \alpha z_{0}^{k + 1}| - |z_0| + |s \alpha z_0| - |s \alpha z_0| \nonumber \\= & {} |z_0| (s \alpha |z_0|^{k} - 1). \end{aligned}$$
(17)

In the second step of the Picard–Mann iteration with s-convexity, we have:

$$\begin{aligned} |z_{1}|= & {} |Q_{c}(w_0)| = |(w_{0}^{k + 1} + c)| \nonumber \\\ge & {} |(|z_0| (s \alpha |z_0|^{k} - 1))^{k + 1} + c| \nonumber \\\ge & {} |(|z_0| (s \alpha |z_0|^{k} - 1))^{k + 1}| - |c| \nonumber \\\ge & {} |(|z_0| (s \alpha |z_0|^{k} - 1))^{k + 1}| - |z_0| \text {, because } |z_0|\ge |c|. \end{aligned}$$
(18)

Since \(|z_0| > (2/(s \alpha ))^{\frac{1}{k}}\), it is implied that \(s \alpha |z_0|^{k} > 2\). Thus,

$$\begin{aligned} (s\alpha |z_0|^{k}-1)^{k+1}> & {} 1 \nonumber \\ |z_0|^{k+1}(s\alpha |z_0|^{k}-1)^{k+1}> & {} |z_0|^{k+1}. \end{aligned}$$
(19)

Using (19) in (18) we have:

$$\begin{aligned} |z_{1}| \ge |z_0|^{k + 1} - |z_0| = |z_0| (|z_0|^{k} - 1). \end{aligned}$$

Because \(|z_0|> (2/(s \alpha ))^{\frac{1}{k}} > 2^{\frac{1}{k}}\), so \(|z_0|^{k} - 1 > 1\). Therefore, there exists \(\lambda > 0\) such that \(|z_0|^k - 1> 1 + \lambda > 1\). Consequently,

$$\begin{aligned} |z_{1}| > (1 + \lambda ) |z_0|. \end{aligned}$$
(20)

We may apply the same argument repeatedly to obtain:

$$\begin{aligned} |z_{2}|> & {} (1 + \lambda )^{2} |z_0|, \\&\vdots&\\ |z_{n}|> & {} (1 + \lambda )^{n} |z_0|. \end{aligned}$$

Hence, \(|z_n| \rightarrow \infty \) as \(n \rightarrow \infty \). This completes the proof. \(\square \)

Corollary 1

Suppose that:

$$\begin{aligned} |c| > \left( \frac{2}{s \alpha } \right) ^{\frac{1}{k}}, \end{aligned}$$
(21)

then the orbit \(PMO_s(Q_c, 0, \alpha , s)\) escapes to infinity.

Corollary 2

(Escape Criterion) Let \(\alpha , s \in (0, 1]\), \(c \in {\mathbb {C}}\) and \(Q_c(z) = z^{k + 1} + c\), where \(k = 1, 2, \ldots \). Suppose that:

$$\begin{aligned} |z_0| > \max \left\{ |c|, \left( \frac{2}{s \alpha } \right) ^{\frac{1}{k}} \right\} . \end{aligned}$$
(22)

Then, for \(z_n\) defined by (12) there exists \(\lambda > 0\) such that \(|z_n| > (1 + \lambda )^n |z_0|\) and we have \(|z_n| \rightarrow \infty \) as \(n \rightarrow \infty \).

Corollary 3

Let \(\alpha , s \in (0, 1]\), \(c \in {\mathbb {C}}\) and \(Q_c(z) = z^{k+1} + c\), where \(k = 1, 2, \ldots \). Suppose that:

$$\begin{aligned} |z_m| > \max \left\{ |c|, \left( \frac{2}{s \alpha } \right) ^{\frac{1}{k}} \right\} , \end{aligned}$$
(23)

for some \(m \ge 0\). Then, there exists \(\lambda > 0\) such that \(|z_{m+n}| > (1 + \lambda )^n |z_m|\) and we have \(|z_n| \rightarrow \infty \) as \(n \rightarrow \infty \).

4 Graphical examples

In this section, we present some graphical examples of the fractal patterns (Mandelbrot and Julia sets) obtained using the Picard–Mann iteration with s-convexity. For the generation of these fractals, we used the escape time algorithms. The algorithm for the Mandelbrot set generation is presented in Algorithm 1, whereas the algorithm for the Julia sets in Algorithm 2. In all examples, we used the same colour map that is presented in Fig. 1.

figure a
figure b
Fig. 1
figure 1

Colour map used in the graphical examples

We start with an example presenting the use of the Picard–Mann iteration with s-convexity in the classical Mandelbrot set (\(k = 1\)). For comparison purposes, the Mandelbrot set generated using the Picard iteration is presented in Fig. 2. In the example, we used the following parameters: \(k = 1\), \(A = [-3, 1] \times [-2, 2]\), \(K = 50\).

Fig. 2
figure 2

Mandelbrot set for \(k = 1\) generated using Picard’s iteration

Figure 3 presents Mandelbrot sets generated using the Picard–Mann iteration with s-convexity, where the s parameter is fixed (\(s = 0.1\)) and the \(\alpha \) parameter is variable. From the presented images, we see that for \(\alpha = 1\) the obtained set is very similar to the Mandelbrot set generated using Picard’s iteration (Fig. 2). The differences are a consequence of the fact that for \(\alpha = 1\) we perform two iterations of Picard’s type in a single Picard–Mann iteration. Thus, for \(K = 50\) we can perform at most 100 iterations of Picard type. In consequence, some of the points that were classified as not escaping for the standard Picard iteration can be classified as escaping for the Picard–Mann using the same maximal number of iterations. If we had performed an infinite number of iterations, the sets in both cases would be identical. From Fig. 3 we can also observe that the lower the value of \(\alpha \) the bigger the set shape change. For \(\alpha = 0.01\), the difference in shape is significant.

Fig. 3
figure 3

Mandelbrot set for \(k = 1\) generated using Picard–Mann iteration with s-convexity with \(s = 0.1\) and varying \(\alpha \)

An example of a fixed value of \(\alpha \) (\(\alpha = 0.4\)) and varying s for the same Mandelbrot set is presented in Fig. 4. In this case, we can observe the opposite situation in the change of the shape, i.e. for low values of s the shape of the obtained set is more similar to the Mandelbrot set generated using Picard’s iteration (Fig. 2), and the higher the value of s is, the bigger the change of the shape. Moreover, we can observe that the value of s has a bigger impact on the shape of the obtained set.

Fig. 4
figure 4

Mandelbrot set for \(k = 1\) generated using the Picard–Mann iteration with s-convexity with \(\alpha = 0.4\) and varying s

Next, we present examples of Mandelbrot sets for \(k = 4\) generated using the Picard–Mann iteration with s-convexity. The Mandelbrot set generated using Picard’s iteration is presented in Fig. 5. The parameters used to generate this and the other sets in this example were the following: \(k = 4\), \(A = [-2, 2] \times [-2, 2]\), \(K = 50\).

Fig. 5
figure 5

Mandelbrot set for \(k = 4\) generated using Picard’s iteration

Figure 6 presents examples of Mandelbrot sets generated using the Picard–Mann iteration with s-convexity for various values of \(\alpha \) and s. The values of the parameters were the following: (a) \(\alpha = 0.01\), \(s = 0.18\), (b) \(\alpha = 0.15\), \(s = 0.45\), (c) \(\alpha = 0.25\), \(s = 0.6\), (d) \(\alpha = 0.53\), \(s = 1.0\), (e) \(\alpha = 0.8\), \(s = 0.9\), (f) \(\alpha = 1.0\), \(s = 0.01\). From the images, we can observe that by using the Picard–Mann iteration with s-convexity, we are able to generate Mandelbrot sets containing many different details that were not present in the Mandelbrot set generated with the use of the Picard iteration. We also see that the parameters have a high impact on the shape of the obtained sets. Moreover, the set obtained for \(\alpha = 1\) is very similar to the one generated with the Picard iteration. The small differences are a consequence, like in the example for \(k = 1\), of the fact that for \(\alpha = 1\) the Picard–Mann reduces to two iterations of Picard’s type.

Fig. 6
figure 6

Mandelbrot set for \(k = 4\) generated using the Picard–Mann iteration with s-convexity for various values of \(\alpha \) and s

Let us turn now to similar examples for the Julia sets. We start with an example of a quadratic Julia set, i.e. \(k = 1\) with \(c = 0.285 + 0.01{\mathbf {i}}\). The set obtained with Picard’s iteration is presented in Fig. 7. The parameters used to generate all images in this example were the following: \(k = 1\), \(c = 0.285 + 0.01{\mathbf {i}}\), \(A = [-2, 2] \times [-2, 2]\), \(K = 50\).

Fig. 7
figure 7

Julia set for \(k = 1\) and \(c = 0.285 + 0.01{\mathbf {i}}\) generated using Picard’s iteration

Figure 8 presents Julia sets generated using the Picard–Mann iteration with s-convexity, where the s parameter is fixed (\(s = 1.0\)) and the \(\alpha \) parameter is variable. We can observe that the variation in shape is huge—we obtain sets with different shapes and details. Moreover, we see that—for the same reasons as in the case of the Mandelbrot set—the shape of the obtained sets is similar to the classical Julia set for \(\alpha = 1\), whereas for other values of \(\alpha \) the shape varies from the original.

Fig. 8
figure 8

Julia set for \(k = 1\) and \(c = 0.285 + 0.01{\mathbf {i}}\) generated using the Picard–Mann iteration with s-convexity with \(s = 1.0\) and varying \(\alpha \)

The case of a fixed value of \(\alpha \) (\(\alpha = 0.6\)) and varying s in the generation of a Julia set is presented in Fig. 9. From the obtained images, we see that the value of s has a great impact on the resulting shape. The change of the shape is different in comparison to the example with the varying value of \(\alpha \). Moreover, we can observe that for all values of s the sets are completely different from the original Julia set generated with the Picard iteration (Fig. 7).

Fig. 9
figure 9

Julia set for \(k = 1\) and \(c = 0.285 + 0.01{\mathbf {i}}\) generated using the Picard–Mann iteration with s-convexity with \(\alpha = 0.6\) and varying s

In the last graphical example, we generated Julia sets for \(k = 4\) and various values of \(\alpha \) and s in the Picard–Mann iteration with s-convexity. The parameters used in this example were the following: \(k = 4\), \(c = -0.7269 + 0.1889{\mathbf {i}}\), \(A = [-1.2, 1.2] \times [-1.2, 1.2]\), \(K = 50\). The generated Julia set for the Picard iteration is presented in Fig. 10, whereas the sets for the Picard–Mann iteration with s-convexity in Fig. 11. The values of the \(\alpha \) and s parameters used to generate images in Fig. 11 were the following: (a) \(\alpha = 0.01, s = 0.76\), (b) \(\alpha = 0.20, s = 0.40\), (c) \(\alpha = 0.38, s = 0.80\), (d) \(\alpha = 0.60, s = 0.90\), (e) \(\alpha = 0.80, s = 0.10\), (f) \(\alpha = 1.00, s = 0.25\). From the images, we can observe that by using the Picard–Mann iteration with s-convexity, we are able to generate Julia sets containing many different details that were not present in the Julia set generated with the use of the Picard iteration. Moreover, we see that the parameters have a high impact on the shape of the obtained sets.

Fig. 10
figure 10

Julia set for \(k = 4\) and \(c = -0.7269 + 0.1889{\mathbf {i}}\) generated using Picard’s iteration

Fig. 11
figure 11

Julia set for \(k = 4\) and \(c = -0.7269 + 0.1889{\mathbf {i}}\) generated using the Picard–Mann iteration with s-convexity for various values of \(\alpha \) and s

5 Numerical examples

From the examples presented in Sect. 4, we see a high variation in the shapes and sizes of the sets generated with the Picard–Mann iteration. The investigation of the dependency on the shape and size of Mandelbrot and Julia sets and the parameters in the Picard–Mann iteration with s-convexity is not an easy task, because this dependency is a non-trivial one. To get an idea on this non-trivial dependency in this section we present numerical examples showing the dependence of two measures—time and the average number of iterations (ANI)—on the parameters in the Picard–Mann iteration with s-convexity (\(\alpha \), s).

Both measures give us relative information about the set size and the speed of computations. The non-escaping points (points for which we perform K iterations in the escape time algorithms) have a significant impact on the measures, because the more non-escaping points are present in the considered area, the higher value of the measures. Therefore, if the difference between the measures, especially for the ANI, for two sets of parameters is high, then we know that the sizes of the corresponding sets (Mandelbrot or Julia sets) differ in a significant way.

In each of the examples, we generated a complex fractal in the given area for varying \(\alpha \) and s parameters, and measured the time needed to generate this fractal. We then calculated the average number of iterations in the considered area. The intervals to which the parameters belong are divided into 100 equally spaced values, so the total number of generated fractals in each example is equal to 10,000. The resolution of the images was set to \(600 \times 600\) pixels, generated using the algorithms presented in Sect. 4—Algorithms 1 and 2. The algorithms were implemented in Mathematica 10, and the experiments were performed on a computer with the following specifications: Intel i5-4570 (@3.2 GHz) processor, 16 GB DDR3 RAM and Microsoft Windows 10 (64-bit).

In the first example, we generated Mandelbrot sets using Picard–Mann with s-convexity for the following parameters: \(k = 1\), \(A = [-3, 1] \times [-2, 2]\), \(K = 50\). For the standard Picard iteration, the generation time was equal to 0.3558s and the ANI was equal to 7.4453. The obtained results for the Picard–Mann iteration with s-convexity are presented in Fig. 12. From the plot, we see that both measures (time, ANI) are non-trivial and that the function of the parameters is non-monotonic. Both plots have a similar shape, but the plot for the time is noisier, whereas the plot for the ANI is smooth. Minimal time, equal to 0.391s, is attained at \(\alpha = 0.02\) and \(s = 0.01\), whereas the maximal value (0.875s) at \(\alpha = 0.28\) and at \(s = 0.96\). Thus, the generation time in the case of the Picard–Mann iteration with s-convexity is higher than in the case of Picard’s iteration. For the ANI measure, the minimal value of 6.44 is attained at \(\alpha = 1.0\) and at \(s = 1.0\), whereas the maximal value of 33.161 at \(\alpha = 0.25\) and \(s = 1.0\). Thus, the dispersion of the values is wide. Comparing these results with the results for Picard’s iteration, we see that the generated Mandelbrot sets in the given area can be generated using a lower number of iterations. Moreover, from both plots, we can observe that the highest values of the measures are obtained when the \(\alpha \) values are low and the value of s is high.

Fig. 12
figure 12

The times and average number of iterations in the parameters’ space for the Mandelbrot set with \(k = 1\)

In the next example, Mandelbrot sets for \(k = 4\) were generated using the Picard–Mann iteration with s-convexity. The parameters used to generate the images of the sets were the following: \(k = 4\), \(A = [-2, 2] \times [-2, 2]\), \(K = 50\). The time and ANI measures obtained for the Picard iteration were equal to 0.3718s and 8.3730 respectively. The results for the Picard–Mann iteration with s-convexity are presented in Fig. 13. From the obtained results, we see that the overall shape of the dependency functions is similar and that, as is the case with the quadratic Mandelbrot set, the plot for the times is noisy, whereas the plot for the ANI is smooth. High values of time and ANI are obtained when the values of \(\alpha \) are low and the values of s are high. The maximal value of time (0.578 s) is attained at \(\alpha = 0.1\) and \(s = 1.0\), whereas the maximal value of ANI (13.697) is attained at \(\alpha = 0.07\) and \(s = 1.0\). Low values for both measures are obtained for very low values of s, attaining the minimal value at \(\alpha = 0.01\) and \(s = 0.01\) for the time (minimum—0.328s), and \(\alpha = 0.6\) and \(s = 0.01\) for the ANI (minimum—3.349). Moreover, we can observe that the dispersion of the values is lower than in the case of the quadratic Mandelbrot set.

Fig. 13
figure 13

The times and average number of iterations in the parameters’ space for the Mandelbrot set with \(k = 4\)

The following presents numerical examples for two different Julia sets generated using the Picard–Mann iteration with s-convexity. In the first example, we generated quadratic Julia sets for \(c = 0.285 + 0.01{\mathbf {i}}\) in the area \(A = [-2, 2] \times [-2, 2]\), using the maximal number of iterations equal to 50. The generation time of the Julia set using the standard Picard iteration was equal to 0.3403s and the ANI was equal to 6.3327. The obtained results for the Picard–Mann iteration with s-convexity are presented in Fig. 14. From the plots, we can observe that the function is not as complex as in the case of the Mandelbrot set. Nevertheless, we can observe one similarity, namely that the high values of the measures are obtained for high values of s. The maximal value of time equal to 0.706s is attained at \(\alpha = 0.35\) and \(s = 1.0\), whereas the maximal value of ANI equal to 23.524 is attained at \(\alpha = 0.36\) and \(s = 1.0\). Thus, both measures obtain the maximal value for similar parameter values. The minimal values of the measures are obtained for low values of s attaining the minimal value at \(\alpha = 0.58\), \(s = 0.23\) for the time (minimum—0.279 s) and \(\alpha = 0.92\), \(s = 0.37\) for the ANI (minimum—2.295).

Fig. 14
figure 14

The times and average number of iterations in the parameters’ space for the Julia set with \(k = 1\) and \(c = 0.285 + 0.01{\mathbf {i}}\)

In the final example, we generated Julia sets for \(k = 4\). The parameters used in this example were the following: \(k = 4\), \(c = -0.7269 + 0.1889{\mathbf {i}}\), \(A = [-1.2, 1.2] \times [-1.2, 1.2]\), \(K = 50\). For the standard Picard iteration, the generation time was equal to 0.3102s and the ANI was equal to 5.0711. The obtained results for the Picard–Mann iteration with s-convexity are presented in Fig. 15. From the plots, we see that for both measures the dependency function is non-trivial and non-monotonic. As in the previous examples, the shape of the plots (time, ANI) is similar, and the plot for time is noisy, whereas the plot for ANI is smooth. Minimal time, equal to 0.266s, is attained at \(\alpha = 0.02\) and \(s = 0.01\), whereas the maximal value (0.875s) at \(\alpha = 0.26\) and \(s = 1.0\). Thus, for the Picard–Mann iteration with s-convexity, the obtained shortest times are faster in comparison to the Picard iteration. For the ANI measure, the minimal value of 1.524 is attained at \(\alpha = 0.75\) and \(s = 0.07\), whereas the maximal value of 39.576 at \(\alpha = 0.18\) and \(s = 1.0\). From both plots, we can observe that the highest values of the measures are obtained for high values of s. Moreover, we can observe that the s parameter has a great impact on generation time and the ANI.

Fig. 15
figure 15

The times and average number of iterations in the parameters’ space for the Julia set with \(k = 4\) and \(c = -0.7269 + 0.1889{\mathbf {i}}\)

6 Conclusions

In this paper, we presented the use of an alternative iteration to Picard’s for the generation of Mandelbrot and Julia sets. For the purpose of this study, the Picard–Mann iteration was extended with the use of the s-convex combination. We proved escape criterion for the proposed iteration process. Additionally, we presented a number of graphical and numerical examples. The graphical examples showed that the proposed iteration scheme has the capacity to generate new fractal forms. The numerical examples showed that the dependence of the considered measures (time, ANI) on the iteration’s parameters is a non-trivial and non-monotonic function. The results also showed that the s parameter has greater impact on the measures than the \(\alpha \) parameter.

In future work, we will attempt to derive the escape criteria in the Picard–Mann iteration with s-convexity for functions of classes other than the polynomial, e.g. trigonometric. Moreover, in the fixed point literature we can find many different iteration methods that can be used in the study of Julia and Mandelbrot sets. A review of explicit iterations and their dependencies can be found in a paper by Gdawiec and Kotarski [13].