# docs/notebooks/demo.ipynb

"One issue that I did not mention yet is the issue of order of operations. In addition to the set of available operator symbols being fixed in Python, the order of operations for those symbols is also fixed--hard-coded in the language. For example, in an expression like `a * b + c`, the `*` operation is always evaluated before the `+`. With the syntax I have adopted for multiplication and tensor products, an expression like `A * B|C` *should* be grouped like $ A \\otimes (BC) $ and *not* like $ (A \\otimes B)C $. The good news is that we can infer the intended order of operations by the dimensions of the operands in such expression. If $ B $ and $ C $ are the same dimension then is most likely `A * (B|C)` is intended rather than `(A * B)|C` which would be invalid. Even if Python uses the wrong order of evaluation, PyQC can circumvent this through its underlying expression tree. \n",

- "There is also a minor issue with the LaTeX display of superpositions, in that the normalization factor is always written with a square root symbol, even when the number of states is sqare. For example:"

+ "There is also a minor issue with the LaTeX display of superpositions, in that the normalization factor is always written with a square root symbol, even when the number of states is square. For example:"