Trac 804: make Matrix inherit from ModuleElement, not AlgebraElement
Trac 804: fix type error
Merge branch 'fsm/process-refuse-nondeterministic' into fsm/composition-explorative-force-deterministic
FiniteStateMachine.composition: Only deterministic machines for explorative algorithm

The explorative algorithm for composition of finite state machines only
handles deterministic machines. We now raise a NotImplementedError instead
of simply taking a more or less random transition.

This is a similar stop-gap measure as #16539.

Once #16538 is implemented, non-deterministic machines shall also be implemented
in the explorative composition, cf. #16548.
FSMState.__copy__: copy final_word_out and color

In contrast to FSMState.__deepcopy__, FSMState.__copy__ omitted copying
the attributes final_word_out and color. This is now fixed.
Merge remote-tracking branch 'aau/fsm/final-word-out-problems' into fsm/copy-state-color-final-word-out

Resolved Conflicts:
	src/sage/combinat/finite_state_machine.py
New common transducer Wait

Introduction of a new transducer Wait which writes False until reading
the threshold-th occurrence of a true input letter and which then
writes True.

This might be useful together with the subblock counting transducer.
New common transducers "all" and "or"

to realize logical "and" and "or" operations
trac #16186: transducers.add for arbitrary length input vectors
Enhance is_Markov_chain to handle symbolic probabilities

When the probabilities of a Markov chain are variables of a polynomial ring,
they may not sum up to one without additional information. Therefore, we now provide a parameter is_zero.
make def logical_and, def logical_or inline (lambda) functions
rewrote def multioperand_add to lambda-function
removed trac reference, since this does not give additional information; operators-->operands
one Type, one ``...```, one PEP8
in doc of input-parameter: is_zero=None (= instead of ==)
Trac #16555: FiniteStateMachine.composition: Only deterministic machines for explorative algorithm

The explorative algorithm for composition of finite state machines only
handles deterministic machines. We now raise a {{{NotImplementedError}}}
instead
of simply taking a more or less random transition.

This is a similar stop-gap measure as #16539.

Once #16538 is implemented, non-deterministic machines shall also be
implemented
in the explorative composition, cf. #16548.

URL: http://trac.sagemath.org/16555
Reported by: cheuberg
Ticket author(s): Clemens Heuberger
Reviewer(s): Daniel Krenn
Trac #16589: FSMState.__copy__: copy color

In contrast to {{{FSMState.__deepcopy__}}}, {{{FSMState.__copy__}}}
omitted copying the attribute {{{color}}}. This is now fixed.

URL: http://trac.sagemath.org/16589
Reported by: cheuberg
Ticket author(s): Clemens Heuberger
Reviewer(s): Daniel Krenn
Trac #804: Matrix should not inherit from AlgebraElement

This ticket makes `Matrix` only inherit from `ModuleElement`.

Warning: it will cause practically all Cython files to be rebuilt.

See also #15215 (duplicate of this ticket).

URL: http://trac.sagemath.org/804
Reported by: roed
Ticket author(s): Peter Bruin
Reviewer(s): Luis Felipe Tabera  Alonso
Trac #16661: New common transducer Wait

Introduction of a new transducer {{{Wait}}} which writes {{{False}}}
until reading the threshold-th occurrence of a true input letter and
which then writes {{{True}}}.

This might be useful together with the subblock counting transducer.

URL: http://trac.sagemath.org/16661
Reported by: cheuberg
Ticket author(s): Clemens Heuberger
Reviewer(s): Daniel Krenn
Trac #16663: New common transducers all and any

Analogously to the {{{add}}} transducer, two common transducers for
logical {{{and}}} and {{{or}}}, falling back to python's {{{all}}} and
{{{any}}} and hence also named in that way.

URL: http://trac.sagemath.org/16663
Reported by: cheuberg
Ticket author(s): Clemens Heuberger, Daniel Krenn
Reviewer(s): Daniel Krenn, Clemens Heuberger