1) <x||y> == 0 if x != y. 2) <x||y> == 1 if x == y. 3) <!x||y> == 1 if x != y. (NB: the ! acts as a not. cf, the -v switch for grep) 4) <!x||y> == 0 if x == y. 5) <x: *||y: z> == 0 if x != y. 6) <x: *||y: z> == 1 if x == y, for any z. 7) applying bra's is linear. <x|(|a> + |b> + |c>) == <x||a> + <x||b> + <x||c> 8) if a coeff is not given, then it is 1. eg, <x| == <x|1 and 1|x> == |x> 9) bra's and ket's commute with the coefficients. eg, <x|7 == 7 <x| and 13|x> == |x>13 10) in contrast to QM, in BKO operators are right associative only. <a|(op|b>) is valid and is identical to <a|op|b> (<a|op)|b> is invalid, and undefined. 11) again, in contrast to QM, <a|op|b> != <b|op|a>^* (a consequence of (10) really) 12) applying projections is linear. |x><x|(|a> + |b> + |c>) == |x><x||a> + |x><x||b> + |x><x||c> 13) kets in superpositions commute. |a> + |b> == |b> + |a> 14) kets in sequences do not commute. |a> . |b> != |b> . |a> Though maybe in the sequence version of simm, this would be useful: |a> . |b> = c |b> . c |a>, where usually c is < 1. (yeah, it "bugs out" if you swap it back again, but in practice should be fine) another example: |c> . |a> . |b> = c |a> . c |c> . |b> = c |a> . c |b> . c^2 |c> 15) operators (in general) do not commute. <b|op2 op1|a> != <b|op1 op2|a> 16) if a coeff in a superposition is zero, we can drop it from the superposition without changing the meaning of that superposition. 17) we can arbitrarily add kets to a superposition if they have coeff zero without changing the meaning of that superposition. 18) |> is the identity element for superpositions. sp + |> == |> + sp == sp. 19) the + sign in superpositions is literal. ie, kets add. |a> + |a> + |a> = 3|a> |a> + |b> + |c> + 6|b> = |a> + 7|b> + |c> 20) <x|op-sequence|y> is always a scalar/float 21) |x><x|op-sequence|y> is always a ket or a superposition

Home

previous: some bigger sw examples

next: the first bko claim

updated: 19/12/2016

by Garry Morrison

email: garry -at- semantic-db.org