Why Does eig() Not Throw an Error for Non-Square, Symbolic Input?

2 views (last 30 days)
Paul
Paul on 19 May 2021
Commented: Paul on 25 May 2022
Example:
M = [sym(zeros(2));sym('m',[2 2])];
M(1,1) = 1
M = 
eig(M)
ans = 
But filling in the top partition of M does yield the expected result:
M(1:2,1:2) = sym('n',[2 2])
M = 
eig(M)
Error using sym/eig (line 51)
Matrix must be square.
Bug?

Accepted Answer

Arthi Sathyamurthi
Arthi Sathyamurthi on 28 May 2021
This bug has been fixed and the updates will be available in the future release.
  2 Comments
Paul
Paul on 25 May 2022
Fixed in 2022a
M = [sym(zeros(2));sym('m',[2 2])];
M(1,1) = 1
M = 
eig(M)
Error using sym/eig
Matrix must be square.

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by