`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.

See also:

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.