As a simple example, I have the following manifold and chart:

```
M = Manifold(2, 'M', structure='Lorentzian')
X.<t,r> = M.chart(r"t r:(0,+oo)")
```

with these functions:

```
h = function('h')(r)
h0 = function('h0')(r)
```

Now, I define the following tensor A:

```
A = M.tensor_field(0,2)
A[0,0] = h
```

If I print A, I get:

```
[h(r) 0]
[ 0 0]
```

as I expected. However, from now on I want h to be:

```
h = 2*h0
```

After setting h=2*h0, if I print A[:] I get the same tensor I had before, instead of A[0,0] = 2*h0.

How can I redefine a symbolic function inside a tensor? I have tried with A.subs and A.apply_map, but none of them did the job.