Skip to content

Commit

Permalink
Trac #16061: New method intersection (for automata and transducers) a…
Browse files Browse the repository at this point in the history
…nd new behavior of cartesian_product for transducers

Intersection now constructs the automaton (or transducer) which accepts
(computes) the intersection
of the languages of the given automata (transducers). This was earlier
done by cartesian_product. A given input is accepted if it was accepted
by both given finite state machines. Furthermore, for transducers, the
output has to be same in both given transducer. Furthermore, transitions
with empty input (or output, for transducers) are not allowed.

For an automaton, cartesian_product does the same as intersection. But
for transducers, it
returns a transducer which computes the pairs of output labels of the
given transducer with a given input.
Thus, the output sequences of both given transducers for a given input
are combined into a sequence of pairs of outputlabels.

A deprecation warning is given when Transducer.cartesian_product is
called as the output has changed substantially.

URL: http://trac.sagemath.org/16061
Reported by: skropf
Ticket author(s): Sara Kropf
Reviewer(s): Daniel Krenn
  • Loading branch information
Release Manager authored and vbraun committed Apr 10, 2014
2 parents 75f9cfb + 7633cac commit 5a5ec36
Showing 1 changed file with 362 additions and 60 deletions.
Loading

0 comments on commit 5a5ec36

Please sign in to comment.