I want to make this complex gradient, what tool should i make ?
That's not a simple gradient, there is at least some texture in there too, so I wouldn't bother trying to make that exclusively in Illustrator.
How I'd approach it...
Render some clouds in Photoshop (Filter → Render → Clouds):
Place a gradient on top (I've used a radial light → dark gradient on a fill layer):
Set the gradient's blend mode to Multiply:
I then added a levels adjustment layer and adjusted as needed (I actually added two; one directly on the clouds and one above everything. I also slightly over did it so you can better see the effect). I also added a Paint Daubs filter as your example has a similar effect:
You can then save and place the file directly in Illustrator. If you need it to be vector you could always do a full color image trace in Illustrator.
I think your example is a painted pattern, but something similar can be achieved with a "Gradient Mesh".
Draw a rectangle for the entire background, select it and choose Object>Create Gradient Mesh.
It will ask you for the number of rows and columns. My example used 10 of each. You might try higher numbers to get a more complex gradient.
Your rectangle will now be divided into a grid and each grid crossing is the center of a gradient that blends with its neighbors.
Select them all with the white arrow tool and choose a dark purple. Now, with the white arrow tool select individual nodes and make them a lighter purple.
Experiment with colors and shapes until you get the desired results. Multiple gradient meshes can be placed above each other and transparencies applied to get real organic and random patterns.
Use blur. At first Draw a thick overlapping stroke over the image:
Arrange the stroke behind the foreground objects. Then apply Gaussian Blur with large radius and reduce the opacity:
You can get more complex effect easily: Duplicate the blurred shape, move the copy and reduce the opacities. A color change also can be useful. Both of them are tried here:
I have found that sometimes Illustrator renders multiple overlapping blurred shapes unpredictably. There seems to be some big unwanted rectangular boxes. I still do not understand that phenomena well enough, but they do not appear if there's only one blurred shape or the opacities are low.