Skip to content

Multiplying a MIMO TransferFunction by 1.0 multiplies by a matrix of ones, not identity #1075

Description

@sdahdah

Multiplying a MIMO TransferFunction object by the Python float 1.0 appears to multiply it by a matrix of ones, rather than the identity matrix. The same goes for any scalar. Is this the intended behaviour? I checked in the documentation and didn't see anything.

Example:

import control

G = control.TransferFunction(
    [
        [[87.8], [-86.4]],
        [[108.2], [-109.6]],
    ],
    [
        [[1, 1], [1, 1]],
        [[1, 1], [1, 1]],
    ],
)

I = control.TransferFunction(
    [
        [[1], [1]],
        [[1], [1]],
    ],
    [
        [[1], [1]],
        [[1], [1]],
    ],
)

print(G)
print(1 * G)
print(I * G)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions