11 | | In this ticket, I try to solve this issue by adding a `set_restriction` method (similar to tensor fields) and modifying the `display` method. |

| 11 | How is a scalar field implemented which is split into different expressions in one particular chart? |

| 12 | |

| 13 | Take for instance a scalar field `f` on the real line with standard "top" chart `x`, defined via `f(x)=0 for x<-1`, `f(x)=x+1 for -1<=x<0`, `f(x)=1-x for 0<=x<1` and `f(x)=0 for x>=1`. Currently, this is solved by using |

| 14 | {{{ |

| 15 | f = M.scalar_field( unit_step(x + 1)*unit_step(1 - x)*(1 - abs(x)) ) |

| 16 | }}} |

| 17 | (see https://trac.sagemath.org/ticket/28519#comment:46). |

| 18 | |

| 19 | This solution is quite unhandy and becomes even more so for more complicated scalar fields. |

| 20 | |

| 21 | **This ticket includes:** |

| 22 | |

| 23 | - modification of namings after algebraic operations, such as `f*g` (`f \cdot g` for LaTeX code), `f/g` and `f+g` |

| 24 | - `display` method modified in such a way that all distinct expressions are shown (a small slowdown in computation time) |

| 25 | - `set_restriction` method added smilar to tensor fields |

| 26 | - `_is_zero` attribute copied for a copy |