Class Transducer<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TThis>
A base class for weighted finite state transducers that are defined on sequences of different types.
Inheritance
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Distributions.Automata
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
public abstract class Transducer<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TThis> : TransducerBase<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, ImmutablePairDistribution<TSrcElement, TSrcElementDistribution, TDestElement, TDestElementDistribution>, TThis> where TSrcSequence : class, IEnumerable<TSrcElement> where TSrcElementDistribution : IImmutableDistribution<TSrcElement, TSrcElementDistribution>, CanGetLogAverageOf<TSrcElementDistribution>, CanComputeProduct<TSrcElementDistribution>, CanCreatePartialUniform<TSrcElementDistribution>, SummableExactly<TSrcElementDistribution>, Sampleable<TSrcElement>, new()
where TSrcSequenceManipulator : ISequenceManipulator<TSrcSequence, TSrcElement>, new()
where TSrcAutomaton : Automaton<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton>, new()
where TDestSequence : class, IEnumerable<TDestElement> where TDestElementDistribution : IImmutableDistribution<TDestElement, TDestElementDistribution>, CanGetLogAverageOf<TDestElementDistribution>, CanComputeProduct<TDestElementDistribution>, CanCreatePartialUniform<TDestElementDistribution>, SummableExactly<TDestElementDistribution>, Sampleable<TDestElement>, new()
where TDestSequenceManipulator : ISequenceManipulator<TDestSequence, TDestElement>, new()
where TDestAutomaton : Automaton<TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton>, new()
where TThis : Transducer<TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TThis>, new()
Type Parameters
Name | Description |
---|---|
TSrcSequence | The type of the first sequence in a pair. |
TSrcElement | The type of an element of |
TSrcElementDistribution | The type of a distribution over |
TSrcSequenceManipulator | The type providing ways to manipulate sequences of type |
TSrcAutomaton | The type of an automaton defined on |
TDestSequence | The type of the second sequence in a pair. |
TDestElement | The type of an element of |
TDestElementDistribution | The type of a distribution over |
TDestSequenceManipulator | The type providing ways to manipulate sequences of type |
TDestAutomaton | The type of an automaton defined on |
TThis | The type of a concrete transducer class. |
Methods
Transpose<TThat>(TThis)
Creates a transducer T'(b, a) = T(a, b)
, where T(a, b)
is a given transducer.
Declaration
public static TThat Transpose<TThat>(TThis transducer)
where TThat : Transducer<TDestSequence, TDestElement, TDestElementDistribution, TDestSequenceManipulator, TDestAutomaton, TSrcSequence, TSrcElement, TSrcElementDistribution, TSrcSequenceManipulator, TSrcAutomaton, TThat>, new()
Parameters
Type | Name | Description |
---|---|---|
TThis | transducer | The transducer to transpose. |
Returns
Type | Description |
---|---|
TThat | The created transducer. |
Type Parameters
Name | Description |
---|---|
TThat | The type of the resulting transducer. |