Determinant of integer matrices
이전 댓글 표시
Is there a version of the det function in R2020a that alway gives determinant 0 for small singular integer matrices?
댓글 수: 4
Jan
2021년 4월 23일
How do you define "small singular integer matrices"?
Rudolf Fruehwirth
2021년 4월 23일
Rudolf Fruehwirth
2021년 4월 23일
Matt J
2021년 4월 23일
And it should work without prior knowledge whether the entries are integer or not. Probably asking too much...
No, one of hte answers below meets that requirement.
답변 (2개)
Since you know A is an integer matrix, can't you just do,
d=round(det(A));
댓글 수: 3
Really? I think you know better than that.
A = randi(10000,[9,10]);
A(end+1,:) = randi(10,[1,9])*A
A is purely integer.
We know that A is singular, since the last row is an integer linear combination of the first 9 rows, A is composed of purely integer entries.
det(A)
Will rounding the determinant prove successful?
round(det(A))
It does not look like 0 to me.
Admittedly, the question was about "small" matrices. But the above seems small to me. Is it? At what point does it become small?
Matt J
2021년 4월 23일
OK. Well, maybe the A(i,j) are supposed to be "small" in mangitude as well...
A = randi(3,29,30);
A(end+1,:) = round(rand(1,29)*2-1)*A
rank(A)
det(A)
round(det(A))
Ok, I guess it works, some of the time. But not this one.
If the matrix is truly tiny, well yes.
A = magic(4)
rank(A)
det(A)
round(det(A))
But you really cannot trust that rounding the determinant will work unless things are truly tiny.
This might work,
A = randi(10000,[9,10]);
A(end+1,:) = randi(10,[1,9])*A;
determinant=double(det(sym(A)))
카테고리
도움말 센터 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!