# What is the meaning of gradient type?

hi,all
Simpeg is a very powerful tools for geophysics inversion
and I learnd some examples.
I had a question on the gradient type when I use the regularization in the inversion problem.

the default value of gradienttype is “components” and in some case is “total” like:

what is the difference of the two options ? and why the default value is " components"

Thank you!

Hi @zhongmin ,

Very sorry for the late reply.
So the component type refers to how the model gradients are calculated during the IRLS.
The mode “component” applies weights on the usual Cartesian components independently such that the model norm can be written as:

\phi_x = \sum_i (D_x m)_i^2 / (  (D_x m)_i^2 + \epsilon)^(1-p/2)


and so on for the gradients along y and z. (Sorry for the ugly math here, doesn’t look like it gets latex)
As p->0, the inversion will try to recover “blocky” models with sharp edges lined up with the grid. Unfortunately, nature really never looks that way. So we added the option to apply gradients weights based on the “total” gradient.

\phi_x = \sum_i (D_x m)_i^2 / (  (D_x m)_i^2 + (D_y m)_i^2 + (D_z m)_i^2 + \epsilon)^(1-p/2)


such that the IRLS weights take into account the gradients in all directions.
This will yield sphere-like compact bodies. Having rounded edges is more practical to approximate folded geology, so usually more desirable to work with.

It’s all clear,Thank you !
by the way,I am doing some work on self potential data (SP)
I found the self potential package [ SimPEG.EM.Static.Problem_CC_Jstore] under Simpeg could not work on Tree mesh,
does this small flaw will fix in the new version ?
I am expacting that !

I have not tried, hopefully …