This is bad idea - rename standard imaginary unit!
Parameters ρ , m and v are not needed, are’nt they?
And some values should be named as parameters.
In[]:=
s=2.10^-5;​​a=0.000102;​​d=0.981;​​minA=0.4444444444;​​stepA=0.03591470258;​​maxA=4.;​​minr=0.5;​​maxr=1.5;​​stepr=0.010101010101;
​
You can use space instead of `*`:
g=TableN(r^2/(IA))*1-2BesselJ1,
3
2
I
rA
3
2
I
rABesselJ0,
3
2
I
rA,50,{A,minA,maxA,stepA},{r,minr,maxr,stepr};​​
We can calculate some values only once:
In[]:=
a1=
a
s
2π
;​​a2=
(a^2)
2s^2
;
Function definition needs some special code:
In[]:=
Clear[func];​​func[r_,A_]:=a1
r^2
IA
1-
2BesselJ1,
3
2
I
r
A

3
2
I
r
A
BesselJ0,
3
2
I
r
A

-a2(r-d)^2

;
No problem with G:
In[]:=
​​G=Table[N[NIntegrate[func[r,A],{r,0,+Infinity}],50],{A,minA,maxA,stepA}];​​
But dot product of g and G is complex!
So we can try this:
In[]:=
​​ComplexListPlot[Inverse[g].G/stepr]
Inverse
:Result for Inverse of badly conditioned matrix {1} may contain significant numerical errors.
Out[]=