misc: |*>
|*>:
description:
|*>
see label descent.
this special ket is used if we want to define an operator that is defined with respect to all kets
instead of being defined with respect to a single specific ket
so, in some sense it is a function, but be aware it is applied ket-wise
so if you apply it to a superposition or sequence, it will be applied to each sub-ket in turn
this makes it essentially linear, but not quite, depending on the details of the operator
it is usually, but not always, defined with respect to stored or memoizing rules
examples:
-- a quick demonstration of its "linearity":
-- just define an operator that adds the "op" category to a given ket:
op |*> #=> |op> :_ |_self>
-- now invoke it:
-- first to a superposition:
op split |abcde>
|op: a> + |op: b> + |op: c> + |op: d> + |op: e>
-- now to a sequence:
op ssplit |abcde>
|op: a> . |op: b> . |op: c> . |op: d> . |op: e>
-- NB: there is an unsolved bug, where the coefficient of the input ket is squared!
-- so for example:
op rank split |abcde>
|op: a> + 4|op: b> + 9|op: c> + 16|op: d> + 25|op: e>
see also:
label descent, |category: *>, |_self>, #=> , !=>
Home