# How to manipulate equations with non-commuting symbols

Hi, I'm very new to sage so I'm not really sure if this is possible to do. For simplicity let's say I want to define an equation
$$
D_1D_2\eta = \kappa\eta,\quad\kappa\in\mathbb{C}.
$$
Then for the symbols $D_i$ all I want to do is define new symbols like $D_1 = D_x + iD_y$ and $D_2 = D_x - iD_y$, and insert this into the expression above and get sage to simplify it. If I had $D_i\in\mathbb{C}$, then this could I understand be done with the `substitute`

command. However, the $D_i$ are such that $D_1D_2 \neq D_2D_1$.

Can I define `D1 = var('D1', latex_name=r'D_1')`

in such a way that it will not commute when put into an expression for example by writing `eq1 = D1*D2*eta == k*eta`

?

### Additional background

More specifically, $D_i$ are linear operators that act on functions $\eta : \mathbb{R}^3\mapsto\mathbb{C}$.

I understand `FreeAlgebra`

somehow lets you define expressions based on non-commutative symbols, however I'm not very fluent in rings and abstract algebra so the language is a bit foreign to me. I tried to define

```
F.<eta,D1,D2> = FreeAlgebra(SR,3)
k = var('k', latex_name=r'\kappa')
eq1 = D1*D2*eta == I*eta*k
```

However, this just results in `False`

. Not really what I wanted.