NxN 행렬 C 행렬의 행렬을 어떻게 계산합니까?C#에서 NxN 행렬 결정자 계산
2
A
답변
3
7
OP는이 질문의 정확한 복제본으로 닫힌 4x4 행렬에 대해 특별히 묻는 another question을 게시했습니다. 당신이 당신의 벡터 데이터를 저장
public double GetDeterminant() {
var m = _values;
return
m[12] * m[9] * m[6] * m[3] - m[8] * m[13] * m[6] * m[3] -
m[12] * m[5] * m[10] * m[3] + m[4] * m[13] * m[10] * m[3] +
m[8] * m[5] * m[14] * m[3] - m[4] * m[9] * m[14] * m[3] -
m[12] * m[9] * m[2] * m[7] + m[8] * m[13] * m[2] * m[7] +
m[12] * m[1] * m[10] * m[7] - m[0] * m[13] * m[10] * m[7] -
m[8] * m[1] * m[14] * m[7] + m[0] * m[9] * m[14] * m[7] +
m[12] * m[5] * m[2] * m[11] - m[4] * m[13] * m[2] * m[11] -
m[12] * m[1] * m[6] * m[11] + m[0] * m[13] * m[6] * m[11] +
m[4] * m[1] * m[14] * m[11] - m[0] * m[5] * m[14] * m[11] -
m[8] * m[5] * m[2] * m[15] + m[4] * m[9] * m[2] * m[15] +
m[8] * m[1] * m[6] * m[15] - m[0] * m[9] * m[6] * m[15] -
m[4] * m[1] * m[10] * m[15] + m[0] * m[5] * m[10] * m[15];
}
그것은 가정 : 당신은 혼자 4 × 4 행렬로 제한하는 대신 일반 솔루션을 찾고 있지만하지 않는 경우 글쎄, 당신이 진정한 노력 앤 찾고 추한하지만 코드를 사용할 수 있습니다 16- 요소 배열의 순서로, (이 경우의 double
하지만 float
너무 일 것이다)라고 _values
:
0, 1, 2, 3,
4, 5, 6, 7,
8, 9, 10, 11,
12, 13, 14, 15
0
표준 방법 LU decomposition이다. 라이브러리를 직접 코딩하는 대신 사용할 수도 있습니다. 나는 C#에 대해 모른다. 그러나 40 년 표준은 LAPACK이다.
이 숙제가 있습니까? –
정의가 충분하지 않습니까? http://en.wikipedia.org/wiki/Determinant? C#에서 구현하려고 시도했을 때 특정 문제가 발생 했습니까? –
지금까지 작성한 코드를 제공해 주시면 도와 드리겠습니다. 그러나 우리는 그것을 당신을 위해 코드화하지 않을 것입니다. –