# automaton.rweight(weight, algo="auto")¶

The right scalar product of an automaton by a weight.

For consistency reasons with other operations, the algo parameter can be one of these:

• "auto"
• "general"
• "standard"

However, due to how the scalar product works, this makes no difference.

Postconditions:

• when applied to standard automata, the result is standard.

In [1]:
import vcsn
a = vcsn.context('lal_char, q').expression('<2>a<3>bc', 'none').standard()
a

Out[1]:
In [2]:
a.rweight(a.context().weight('5'))

Out[2]:

Instead of a.rweight(a.context().weight('5')), you may write a * 5.

In [3]:
a * 5

Out[3]:

To force the execution of the general algorithm you can do it this way.

In [4]:
a.rweight(a.context().weight('5'), 'general')

Out[4]:

However, apart from the multiplication by 0, there is no difference with the standard algorithm.