دترمینان ماتریس مربعی - که به صورت $ \vert A \vert $ یا $ det( A ) $ نمایش داده می‌شود - یکی از مفاهیم مشهور جبر خطی است که کاربردهای بسیاری در علوم مختلف دارد. امکان محاسبه سریع دترمینان یک ماتریس با ابعاد بزرگ بحث مهمی است که در ادامه سه روش محاسباتی رایج و پیچیدگی زمانی آنها مرور خواهند شد.

طبق تعریف دترمینان اگر اندازه ابعاد ماتریس مربعی یک باشد ($n = 1$)، دترمینان همان مقدار تک‌عضو آن است. یعنی:

  

\[ det( \begin{bmatrix} a \end{bmatrix} ) = \vert \begin{bmatrix} a \end{bmatrix} \vert = a \]

  

اما اگر مرتبه ماتریس بزرگتر از یک باشد ($n > 1$) دترمینان را به یکی از روش‌های زیر می‌توان محاسبه کرد.

  

محاسبه دترمینان ماتریس

  

بسط لاپلاس دترمینان

  [برگرد بالا]

بسط لاپلاس (یا بسط همسازه‌ای) برای محاسبه دترمینان ماتریس مرتبه $n$، به فرم زیر است:

  

\[ \vert A \vert = \sum_{j=1}^{n} {(-1)}^{i+j} a_{ij} \vert A_{ij} \vert \qquad , \qquad 1 \leq i \leq n \]

  

یا

  

\[ \vert A \vert = \sum_{i=1}^{n} {(-1)}^{i+j} a_{ij} \vert A_{ij} \vert \qquad , \qquad 1 \leq j \leq n \]

  

که در حالت اول بسط بر اساس سطر دلخواه $i$ و در حالت دوم بر اساس ستون دلخواه $j$ صورت گرفته است. منظور از $A_{ij}$ (ماتریس کهاد) ماتریسی است که از حذف سطر $i$ام و ستون $j$ام ماتریس اصلی به دست آمده است.

به عنوان مثال اگر ماتریس مربعی $A$ به صورت زیر تعریف شده باشد:

  

\[ A = \begin{bmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 2 & 1 \end{bmatrix} \]

  

دترمینان آن با بسط روی سطر اول به این ترتیب محاسبه می‌شود:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 2 & 1 \end{vmatrix} = {(-1)}^{1+1} \times 1 \times \begin{vmatrix} 3 & 1 \\ 2 & 1 \end{vmatrix} + {(-1)}^{1+2} \times (-1) \times \begin{vmatrix} 0 & 1 \\ 2 & 1 \end{vmatrix} \] \[ + {(-1)}^{1+3} \times 8 \times \begin{vmatrix} 0 & 3 \\ 2 & 2 \end{vmatrix} = 1 \times \Big({(-1)}^{1+1} \times 3 \times \vert 1 \vert + {(-1)}^{1+2} \times 1 \times \vert 2 \vert \Big) \] \[ + 1 \times \Big({(-1)}^{1+1} \times 0 \times \vert 1 \vert + {(-1)}^{1+2} \times 1 \times \vert 2 \vert \Big) \] \[ + 8 \times \Big({(-1)}^{1+1} \times 0 \times \vert 2 \vert + {(-1)}^{1+2} \times 3 \times \vert 2 \vert \Big) \] \[ = 1 \times( 3 - 2 ) + 1 \times ( 0 - 2 ) + 8 \times ( 0 - 6 ) = 1 - 2 - 48 = -49 \]

  

و با بسط روی ستون دوم:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 2 & 1 \end{vmatrix} = {(-1)}^{1+2} \times (-1) \times \begin{vmatrix} 0 & 1 \\ 2 & 1 \end{vmatrix} + {(-1)}^{2+2} \times 3 \times \begin{vmatrix} 1 & 8 \\ 2 & 1 \end{vmatrix} \] \[ + {(-1)}^{3+2} \times 2 \times \begin{vmatrix} 1 & 8 \\ 0 & 1 \end{vmatrix} = 1 \times \Big( {(-1)}^{1+2} \times 1 \times \vert 2 \vert + {(-1)}^{2+2} \times 1 \times \vert 0 \vert \Big) \] \[ + 3 \times \Big( {(-1)}^{1+2} \times 8 \times \vert 2 \vert + {(-1)}^{2+2} \times 1 \times \vert 1 \vert \Big) \] \[ - 2 \times \Big( {(-1)}^{1+2} \times 8 \times \vert 0 \vert + {(-1)}^{2+2} \times 1 \times \vert 1 \vert \Big) \] \[ = 1 \times( -2 + 0 ) + 3 \times ( -16 + 1 ) - 2 \times ( 0 + 1 ) = -2 - 45 -2 = -49 \]

  

توجه داشته باشید که منظور از $\vert \; \vert $ علامت قدرمطلق نیست.

انتخاب سطر یا ستون مناسب برای محاسبه دترمینان با استفاده از این روش وابسته به مقادیر درایه‌های آن است. به عنوان مثال اگر تعداد درایه‌های صفر یک سطر یا یک ستون زیاد باشد، بهتر است از آن سطر یا ستون برای بسط استفاده کنیم. مثلا در ماتریس زیر، بهتر است از ستون اول برای بسط استفاده کنیم:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 2 & 1 \end{vmatrix} = {(-1)}^{1+1} \times 1  \times \begin{vmatrix} 3 & 1 \\ 2 & 1 \end{vmatrix} + {(-1)}^{2+1} \times 0  \times \begin{vmatrix} -1 & 8 \\ 2 & 1 \end{vmatrix} \] \[ + {(-1)}^{3+1} \times 0 \times \begin{vmatrix} -1 & 8 \\ 3 & 1 \end{vmatrix} = 1 \times \Big( {(-1)}^{1+1} \times 3 \times \vert 1 \vert + {(-1)}^{2 + 1} \times 2 \times \vert 1 \vert \Big) + 0 + 0 = 1 \]

  

پیچیدگی زمانی بسط لاپلاس

  [برگرد بالا]

همانطور که از تعریف مشخص است، در روش بسط لاپلاس، محاسبه دترمینان یک ماتریس مرتبه $n$، به محاسبه دترمینان $n$ ماتریس کهاد از مرتبه $n - 1$ شکسته می‌شود. اگر عمل اصلی محاسبات را اعمال ضرب و جمع در نظر گرفته و $T_1(n)$ تعداد این اعمال را برای محاسبه دترمینان ماتریس مرتبه $n$ به روش بسط لاپلاس نشان دهد، می‌توان نوشت:

  

\[ T_1( n ) = n T_1( n - 1 ) + n + n + n - 1 = n T_1( n - 1 ) + 3n - 1 \qquad, \qquad T_1( 1 ) = 0 \]

  

$ n T_1( n - 1) $: تعداد اعمال لازم برای محاسبه زیرمسائل

$n$: تعداد ضرب‌های بین $ a_{ij} $ و توان‌های زوج یا فرد منفی یک

$n$: تعداد ضرب‌های بین $ a_{ij} $ و $ det( A_{ij})$

$n - 1$: تعداد جمع‌های لازم برای محاسبه نهایی

  

حل این رابطه بازگشتی نشان می‌دهد $T_1(n)$ از مرتبه $O( n! ) $ است که برای $n$های بزرگ کارایی ندارد.

  

روش گاوس برای محاسبه دترمینان ماتریس

  [برگرد بالا]

برای محاسبه دترمینان یک ماتریس مربعی، خواصی وجود دارد که به اعمال مقدماتی سطری و ستونی مشهور بوده و عموما از روش بسط لاپلاس ثابت می‌شوند. تعدادی از این خواص به شرح زیر هستند:

1- جابجا کردن دو سطر (یا دو ستون) ماتریس، مقدار دترمینان را قرینه می‌کند. در مثال زیر جای سطر اول و دوم عوض شده است:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 3 & 3 & 1 \\ 7 & 2 & 1 \end{vmatrix} = - \begin{vmatrix} 3 & 3 & 1 \\ 1 & -1 & 8 \\ 7 & 2 & 1 \end{vmatrix} \]

  

2- اگر تمام درایه‌های یک سطر (یا یک ستون) ماتریس در عددی مانند k ضرب شود، حاصل دترمینان نیز k برابر می‌شود. در مثال زیر سه برابر بودن درایه‌های متناظر سطر دوم ماتریس سمت چپ، نسبت به سطر دوم ماتریس سمت راست، مقدار دترمینان آن را نیز سه برابر کرده است:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 3 & 3 & 6 \\ 7 & 2 & 1 \end{vmatrix} = 3 \times \begin{vmatrix} 1 & -1 & 8 \\ 1 & 1 & 2 \\ 7 & 2 & 1 \end{vmatrix} \]

  

3- اگر ضریب ثابتی از درایه‌های یک سطر (یا یک ستون) ماتریس به سطر (یا ستون) دیگری اضافه شود، مقدار دترمینان تغییر نمی‌کند. در مثال زیر پنج برابر سطر اول به سطر سوم اضافه شده است:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 3 & 3 & 6 \\ 7 & 2 & 1 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 3 & 3 & 6 \\ 7 + 5 \times 1 & 2 + 5 \times (-1) & 1 + 5 \times 8 \end{vmatrix} \]

  

4- دترمینان یک ماتریس مثلثی (ماتریسی که تمامی درایه‌های بالای قطر اصلی یا پایین قطر اصلی و یا هر دو صفر باشند) برابر حاصلضرب درایه‌های قطر اصلی آن است:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 6 \\ 0 & 0 & 4 \end{vmatrix} = 1 \times 3 \times 4 = 12 \]

  

5- ماتریسی که تمامی درایه‌های یک سطر (یا یک ستون) آن صفر باشد، دترمینان آن نیز صفر خواهد بود:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 9 & 3 & 6 \\ 0 & 0 & 0 \end{vmatrix} = 0 \]

  

در روش گاوس مراحل زیر انجام می‌شود:

مرحله اول: اگر درایه سطر اول و ستون اول صفر است، سطری را که مقدار درایه ستون اول آن صفر نباشد به سطر اول منتقل می‌کنیم. این عمل مقدار دترمینان را تغییر علامت می‌دهد. اگر چنین سطری یافت نشد، یعنی تمامی درایه‌های ستون اول صفر هستند. پس بنا به خاصیت شماره پنج، مقدار دترمینان صفر شده و انجام مراحل بعدی نیاز نیست.

مرحله دوم: ضریب مناسبی از مقدار درایه سطر اول و ستون اول را که درایه ستون اول هر سطر را صفر کند، به هر سطر به صورت مجزا اضافه  می‌کنیم. اگر مقدار درایه ستون اول آن ستون، از قبل صفر باشد، نیاز به انجام عمل خاصی نیست. این عمل مقدار دترمینان را تغییر نمی‌د‌هد.

در مثال زیر، ستون اول سطر دوم مقدار صفر دارد. پس نیاز به انجام عملیات خاصی نیست. اما مقدار درایه ستون اول سطر سوم غیرصفر است. پس با اضافه کردن ضریب مناسبی از درایه‌های سطر اول به این سطر، مقدار آن را نیز صفر می‌کنیم. مقدار این ضریب با توجه به مقدار درایه سطر اول و ستون اول مشخص می‌شود که در این مثال منفی دو است:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 1 & 1 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 + (-2) \times 1 & 1 + (-2) \times (-1) & 1 + (-2) \times 8 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 3 & -15 \end{vmatrix} \]

  

مرحله سوم: در ماتریس به دست آمده، ستون اول آن، به غیر از سطر اول همه صفر هستد. بسط لاپلاس دترمینان ماتریس را بر اساس ستون اول انجام می‌دهیم:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 3 & -15 \end{vmatrix} = {(-1)}^{1+1} \times 1 \times \begin{vmatrix} 3 & 1 \\ 3 & -15 \end{vmatrix} = \begin{vmatrix} 3 & 1 \\ 3 & -15 \end{vmatrix} \]

  

مرحله چهارم: محاسبه دترمینان ماتریس از مرتبه n به محاسبه دترمینان ماتریس مرتبه n - 1 تقلیل یافته است. با ادامه این مراحل برای این ماتریس، تا رسیدن به ماتریسی از مرتبه یک، مقدار دترمینان اصلی محاسبه می‌شود:

  

\[ \begin{vmatrix} 3 & 1 \\ 3 & -15 \end{vmatrix} = \begin{vmatrix} 3 & 1 \\ 3 + (-1) \times 3 & -15 + (-1) \times 1 \end{vmatrix} = \Big( (-1) ^ {1+1} \times 3 \times \vert -16 \vert  \Big) = -48 \]

  

و در نتیجه:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 1 & 1 \end{vmatrix} = -48 \]

  

پیچیدگی زمانی روش گاوس

  [برگرد بالا]

اعمال ضرب و جمع را اعمال اصلی این روش در نظر گرفته و $ T_2( n ) $ را تعداد این اعمال برای محاسبه دترمینان به روش گاوس تعریف می‌کنیم. برای صفر کردن ستون اول هر سطر، ضریب مشخصی را محاسبه می کنیم که به یک عمل تقسیم (هم‌ارز ضرب) نیاز دارد. سپس حاصلضرب این ضریب در درایه‌های سطر اول را به درایه‌های متناظر آن سطر اضافه می‌کنیم. در نتیجه این مرحله برای هر سطر n عمل ضرب و $n$ عمل جمع دارد که برای $n - 1$ سطر باید اعمال شود. در پایان نیز با بسط لاپلاس روی ستون اول و یک عمل ضرب، به محاسبه دترمینان مرتبه $n - 1$ می‌رسیم. پس می‌توان نوشت:

  

\[ T_2(n) = 1 + (n-1)(n+n)  + T_2( n-1) + 1 = T_2 ( n-1) + 2n^2  - 2n + 2 \; \; , \; \; T_2(1) = 0 \]

  

چنین رابطه بازگشتی‌ای از مرتبه $ O( n^ 3 ) $ است که بهبود چشمگیری در مقایسه با روش بسط لاپلاس با مرتبه $ O(n!) $ دارد.

در واقع هدف از این الگوریتم، تبدیل ماتریس به یک ماتریس بالامثلثی (یا پایین‌مثلثی)، با استفاده از عملیات مقدماتی سطری و ستونی است. طبق خاصیت چهارم، مقدار دترمینان چنین ماتریسی برابر حاصلضرب درایه‌های قطر اصلی آن است:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 1 & 1 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 3 & -15 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 0 & -16 \end{vmatrix} = 1 \times 3 \times -16 = -48 \]

  

پیاده‌سازی این الگوریتم به سه حلقه تکرار تو در تو نیاز دارد که با یک حساب سرانگشتی مرتبه‌ $O(n^3)$ را نشان می‌دهد.

توجه: در برخی منابع این روش با عنوان گاوس-جردن معرفی می‌شود.

  

روش تحویل برای محاسبه دترمینان ماتریس

  [برگرد بالا]

در بخش ضمیمه کتاب «حساب دیفرانسیل و انتگرال و هندسه تحلیلی» نوشته «جرج بی. توماس» و «راس ال. فینی»، فرمول تحویل از مقاله میلر به صورت زیر بیان شده است:

  

\[ \vert A \vert = \Big( \frac{1}{a_{11}} \Big)^{n-2} \begin{vmatrix} \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{vmatrix} & \begin{vmatrix} a_{11} & a_{13} \\ a_{21} & a_{23} \end{vmatrix} & \cdots & \begin{vmatrix} a_{11} & a_{1n} \\ a_{21} & a_{2n} \end{vmatrix} \\ \begin{vmatrix} a_{11} & a_{12} \\ a_{31} & a_{32} \end{vmatrix} & \begin{vmatrix} a_{11} & a_{13} \\ a_{31} & a_{33} \end{vmatrix} & \cdots & \begin{vmatrix} a_{11} & a_{1n} \\ a_{31} & a_{3n} \end{vmatrix} \\ \vdots & \vdots & \ddots & \vdots \\ \begin{vmatrix} a_{11} & a_{12} \\ a_{n1} & a_{n2} \end{vmatrix} & \begin{vmatrix} a_{11} & a_{13} \\ a_{n1} & a_{n3} \end{vmatrix} & \cdots & \begin{vmatrix} a_{11} & a_{1n} \\ a_{n1} & a_{nn} \end{vmatrix} \end{vmatrix} \]

  

یا به عبارت دیگر:

  

\[ \vert A \vert = \Big( \frac{1}{a_{11}} \Big)^{n-2} \begin{vmatrix} c_{11} & c_{12} & \cdots & c_{1(n-1)} \\ c_{21} & c_{22} & \cdots & c_{2(n-1)} \\ \vdots & \vdots & \ddots & \vdots \\ c_{(n-1)1} & c_{(n-1)2} & \cdots & c_{(n-1)(n-1)} \end{vmatrix} \; , \; c_{ij} = \begin{vmatrix} a_{11} & a_{i(j+1)} \\ a_{(i+1)1} & a_{(i+1)(j+1)} \end{vmatrix} \]

  

به عنوان مثال:

  

\[ \begin{vmatrix} 2 & 4 & 1 & 1 \\ 0 & 2 & 1 & -1 \\ -2 & 1 & 2 & 0 \\ -1 & 1 & 0 & 3 \end{vmatrix} = \Big( \frac{1}{2} \Big)^{4-2} \begin{vmatrix} \begin{vmatrix} 2 & 4 \\ 0 & 2 \end{vmatrix} & \begin{vmatrix} 2 & 1 \\ 0 & 1 \end{vmatrix} & \begin{vmatrix} 2 & 1 \\ 0 & -1 \end{vmatrix} \\ \begin{vmatrix} 2 & 4 \\ -2 & 1 \end{vmatrix} & \begin{vmatrix} 2 & 1 \\ -2 & 2 \end{vmatrix} & \begin{vmatrix} 2 & 1 \\ -2 & 0 \end{vmatrix} \\ \begin{vmatrix} 2 & 4 \\ -1 & 1 \end{vmatrix} & \begin{vmatrix} 2 & 1 \\ -1 & 0 \end{vmatrix} & \begin{vmatrix} 2 & 1 \\ -1 & 3 \end{vmatrix} \end{vmatrix} \] \[ = \Big( \frac{1}{2} \Big)^{2} \begin{vmatrix} 4 & 2 & -2 \\ 10 & 6 & 2 \\ 6 & 1 & 7 \end{vmatrix} = \Big( \frac{1}{2} \Big)^{2} \Big( \frac{1}{4} \Big)^{3-2} \begin{vmatrix} 4 & 28 \\ -8 & 40 \end{vmatrix} = \frac{1}{4} \times \frac{1}{4} \times (160+224) = 24 \]

  

واضح است که برای چنین محاسبه‌ای باید $a_{11}$ غیر صفر باشد. اگر اینچنین نبود، طبق اعمال مقدماتی سطر و ستون باید با جابجایی سطرها مقدار آن را غیر صفر کرد.

این فرمول، مسئله از مرتبه $n$ را به یک زیرمسئله از مرتبه $n - 1$، و $ {( n - 1 )}^2 $ زیرمسئله از مرتبه 2 تبدیل می‌کند.

  

پیچیدگی زمانی فرمول تحویل

  [برگرد بالا]

اگر $ T_3( n ) $ تعداد اعمال ضرب و جمع برای محاسبه به این روش باشد، می‌توان نوشت:

  

\[ T_3(n)=n-1+ T_3(n-1)+(n-1)^2 T_3(2) = T_3(n-1)+3n^2-5n+2 \;, \; T_3(2) = 3 \]

  

$n - 1$: تعداد تقسیم و ضرب‌های (یک تقسیم و $n - 2$ ضرب) لازم برای محاسبه توان $(n- 2)$ام معکوس $ a_{11} $ و ضرب آن در دترمینان

$T_3( n - 1 ) $: تعداد اعمال لازم برای حل زیرمسئله

${( n - 1 )}^2 T_3( 2 )$: تعداد اعمال لازم برای محاسبه درایه‌های ماتریس زیرمسئله

  

حل این رابطه بازگشتی نیز مرتبه پیچیدگی $ O(n^3) $ را نشان می‌دهد.

  

مقایسه روش‌های سه‌گانه

  [برگرد بالا]

عملکرد سه روش بررسی شده را می‌توان اینگونه خلاصه کرد که:

1- محاسبه پیچیدگی زمانی روش‌های سه‌گانه فوق نشان می‌دهد، کارآیی زمانی دو روش گاوس و فرمول تحویل تقریبا یکسان بوده و بسیار بهتر از روش بسط لاپلاس هستند.

2- فضای مصرفی هر سه روش در صورت پیاده‌سازی بهینه آنها، همان فضای لازم برای ذخیره یک ماتریس مربعی از مرتبه $n$ است.

3- هر سه روش ظاهری بازگشتی - با روش تقسیم و غلبه - دارند که حل مسئله از مرتبه $n$ را به حل زیرمسئله یا زیرمسائلی از مرتبه $n - 1$ تقسیم می‌کنند. اما پیاده‌سازی غیربازگشتی این روش‌ها نیز ممکن است که در روش گاوس توضیح مختصری داده شد.

4- بر اساس روش بسط لاپلاس و با استفاده از استقرای ریاضی، می‌توان ثابت کرد که اگر تمامی درایه‌های یک ماتریس مربعی اعداد صحیح باشند، دترمینان آن نیز عدد صحیح خواهد بود. روش بسط لاپلاس صحیح بودن عدد دترمینان را در این شرایط تضمین می‌کند. چرا که تنها از اعمال جمع و ضرب تشکیل شده است که صحیح بودن عدد را تغییر نمی‌دهند. اما دو روش دیگر - با توجه به این که شامل عمل تقسیم نیز هستند - در زمان پیاده‌سازی ممکن است خطای محاسباتی ایجاد کنند. چرا که اکثر زبان‌های برنامه‌نویسی اعداد را به دو فرم صحیح یا اعشاری - با دقت مشخص - ذخیره می‌کنند. بنابراین اعداد گویای غیرصحیح به صورت تقریبی ذخیره شده و در محاسبات هم به همان صورت تقریبی به کار می‌روند.

دترمینان ماتریس $A$ را که توسط بسط لاپلاس محاسبه کردیم، با استفاده از روش گاوس و با فرض ذخیره اعداد گویا به صورت اعشاری - با دقت شش رقم - مجددا محاسبه می‌کنیم:

  

\[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 & 2 & 1 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 2 + (-2) \times 1 & 2 + (-2) \times (-1) & 1 + (-2) \times 8 \end{vmatrix} = \] \[ \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 4 & -15 \end{vmatrix} = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 4 + (-1.333333) \times 3 & -15 + (-1.333333) \times 1 \end{vmatrix} \] \[ = \begin{vmatrix} 1 & -1 & 8 \\ 0 & 3 & 1 \\ 0 & 0 & -16.333333 \end{vmatrix} = -48.999999 \]

  

این مسئله زمانی اهمیت دارد که محاسبه دقیق مد نظر بوده و امکان انجام عملیات حسابی روی اعداد گویا وجود نداشته باشد.

  

روش ساروس

  [برگرد بالا]

دترمینان ماتریس سه در سه با استفاده از بسط لاپلاس به این ترتیب محاسبه می‌شود:

  

\[ \begin{vmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{vmatrix} \] \[ = (-1)^{1+1}a_{11} \begin{vmatrix} a_{22} & a_{23} \\ a_{32} & a_{33} \end{vmatrix} + (-1)^{1+2}a_{12} \begin{vmatrix} a_{21} & a_{23} \\ a_{31} & a_{33} \end{vmatrix} + (-1)^{1+3}a_{13} \begin{vmatrix} a_{21} & a_{22} \\ a_{31} & a_{32} \end{vmatrix} \] \[ = a_{11} (a_{22} a_{33}-a_{23}a_{32} ) - a_{12} (a_{21} a_{33}-a_{23}a_{31} ) + a_{13} (a_{21} a_{32}-a_{22}a_{31} ) \] \[ = a_{11} a_{22} a_{33} + a_{12} a_{23} a_{31} + a_{13} a_{21} a_{32} - a_{11} a_{23} a_{32} - a_{12} a_{21} a_{33} - a_{13} a_{22} a_{31} \]

  

این عملیات را می‌توان با کمک گرفتن از یک تصویر ذهنی به ترتیب زیر انجام داد:

  

روش ساروس برای محاسبه دترمینان ماتریس سه در سه

  

زمانی که در یک برنامه نیاز به محاسبه دترمینان ماتریس 3 در 3 باشد، پیاده‌سازی کد با این روش به صرفه‌تر از پیاده‌سازی با روش‌های بحث شده قبلی است.

تذکر: روش ساروس صرفا برای محاسبه دترمینان ماتریس‌های سه در سه بوده و در سایر ابعاد قابل استفاده نیست.

مسعود اقدسی فام

مسعود اقدسی فام هستم.

دانش‌آموخته‌ی علوم کامپیوتر و فعال حوزه‌های علم داده و یادگیری ماشین؛ علاقه‌مند به یاد دادن و یاد گرفتن :)

algs.ir/sp4tolh     اشتراک‌گذاری در LinkedIn     اشتراک‌گذاری در Twitter     ارسال با Telegram
آخرین نوشته‌ها
       ✦   الگوریتم آنلاین
نوشته‌های پرمخاطب
  • 1
  • 2
  • 3
  • 4
  • 5

نام: *  

پست الکترونیک (محرمانه):

متن پیام: *  

01 02 06 07 08 09 10 11 12 13 14

• محمد
شنبه، ۱۴ بهمن ماه ۱۳۸۵، ساعت ۱۸:۰۶

سلام

برنامه ها رو از کجا دانلود کنیم.

• hamed
سه‌شنبه، ۱ اسفند ماه ۱۳۸۵، ساعت ۱۳:۱۶

salam

mishe in do ravesh ro ba kode java ham erae bedid

mer30

مسعود اقدسی فام
سه‌شنبه، ۱ اسفند ماه ۱۳۸۵، ساعت ۱۴:۰۸

حامد جان

من با زبان جاوا زیاد آشنایی ندارم.

• elham
یکشنبه، ۱۲ فروردین ماه ۱۳۸۶، ساعت ۰۹:۵۱

salam mishe raveshhaye sarie hale determinan ro ham begin

mamnoon

• elham
یکشنبه، ۱۲ فروردین ماه ۱۳۸۶، ساعت ۰۹:۵۷

ozr baz mozahem shodam ye soale dige ba dast ta determinane chand dar chando mishe hesab kard

مسعود اقدسی فام
دوشنبه، ۱۳ فروردین ماه ۱۳۸۶، ساعت ۰۲:۰۰

الهام خانم

سریعترین روش همون روش گاوس - جردنه که تو دبیرستان هم خوندیم. برنامه مربوط به این روش تو سایت موجوده. بصورت دستی هم بیشتر از مرتبه 4 نمی شه. حداکثر 5. البته ممکنه کسی حوصله زیاد داشته باشه و یا ماتریس طوری درایه هاش چینش شده باشن که بشه مراتب بالاتر رو هم محاسبه کرد. اما به طور متوسط اصلا روش دستی برای مراتب بالا صرف نمی کنه!!

• محمد
چهارشنبه، ۱۹ اردیبهشت ماه ۱۳۸۶، ساعت ۱۲:۲۷

با عرض سلام!

لطفا در صورت امکان شبه کدی از الگوریتم گاوس که در ترتیب زمانی (n^3) قرار دارد برای من بفرستید.

• مصطفي مختاري
پنجشنبه، ۲۷ اردیبهشت ماه ۱۳۸۶، ساعت ۰۵:۵۴

سلام به همگي

بنده برنامه محاسبه معادله 6 مجهولي رو به روش حذفي گوس نوشته ام

فكر كنم با ضرب درايه هاي قطر اصلي بشه كه وقتي ماتريس بالا مثلثي شده

دترمينان رو حساب كرد

ميشه برنامه رو با استفاده از تعريف new براي n تايي هم ارتقا داد

• sahar
جمعه، ۴ خرداد ماه ۱۳۸۶، ساعت ۱۷:۳۱

salam va khaste nabashin

mishe tozihe barnameharo be mailam befrestin?

ba tashkor

• زهرا
دوشنبه، ۱۴ خرداد ماه ۱۳۸۶، ساعت ۱۹:۲۱

با سلام .

ممکنه لطف بفرمایید توضیح بدهید  اینکه " چطوری در  روش گاوس - جردن  می شه با استفاده از حلقه

داریه های زیر قطر اصلی رو صفر کرد . ؟ ؟ ؟ الگوریتم که در برنامه باید نوشت رو برای من بیان کنید .

اگر ممکن هست به ایمیل من ارسال نمایید .

• meisam
یکشنبه، ۷ مرداد ماه ۱۳۸۶، ساعت ۱۰:۲۰

chand sal yek bar be in site sar mizanid masolane site. ha

مسعود اقدسی فام
یکشنبه، ۷ مرداد ماه ۱۳۸۶، ساعت ۱۲:۱۲

من هر روز سر می زنم عزیزم

• متین
پنجشنبه، ۲۴ آبان ماه ۱۳۸۶، ساعت ۱۸:۱۹

برنامه به زبان پاسکال که یک ماتریس 10*10 را از ورودی بخواند و دترمینال آنرا محاسله ودر خروجی چاپ کند.

• toktam
شنبه، ۲۴ آذر ماه ۱۳۸۶، ساعت ۱۴:۴۲

ba salam

mikhastam bedoonam aya algorithmi voojood dare ta beshe ye dastgahe n moadele n majhool ro hal kard?

in projeye akhare termame agar mishe ye kam rahnamayem bokonid.

merci.bye.

• علی
پنجشنبه، ۶ دی ماه ۱۳۸۶، ساعت ۱۷:۳۶

سلام

شما که زحمت کشیدید. کار را کامل انجام می دادید وسورس انو هم می گذلشتید .

میشه سورس اونو اگه دارید برای من بفرستید.

با تشکر

• علی
یکشنبه، ۲۲ اردیبهشت ماه ۱۳۸۷، ساعت ۰۹:۲۹

لطفا لیستی از مسائل حل نشدنی و سخت کامپیوتر یا الگوریتم ها را در سایت بگذارید

• زهرا
جمعه، ۲۴ خرداد ماه ۱۳۸۷، ساعت ۱۵:۴۸

سلام

واقعا خسته نباشید .سایت خیلی جالبیه!!!!!

• رقیه نادری
پنجشنبه، ۱۲ دی ماه ۱۳۸۷، ساعت ۰۹:۳۵

سلام.

ممنونم برای مطالب مفیدتون.

باید بگم سایتتون فوق العاده هستش.

انشاالله که موفق باشین.

مسعود اقدسی فام
جمعه، ۱۳ دی ماه ۱۳۸۷، ساعت ۰۰:۲۰

خیلی ممنون رقیه خانم. لطف دارید.

• لیلا
دوشنبه، ۵ اسفند ماه ۱۳۸۷، ساعت ۱۲:۴۳

سلام

اگه زحمتی نیست روش محاسبه دترینان ماتریس واندرموند رو شرح بدین . فورا .

مرسی

• mansure
دوشنبه، ۱۰ فروردین ماه ۱۳۸۸، ساعت ۲۳:۱۲

man barnameye tabdile ebarat pasvand be mianvand ba parantez ra mikhaham va diger inke aya kasi ba mathe matica ashnaee dare?

• زینا
پنجشنبه، ۱۳ فروردین ماه ۱۳۸۸، ساعت ۱۸:۵۴

سلام من دنبال الگوریتم روش حذفی گاوس (به هر زبانی) هستم سعی کردم اما مطمئن نیستم لطفا کمکم کنید

• mohammad reza
چهارشنبه، ۱۹ فروردین ماه ۱۳۸۸، ساعت ۰۰:۳۸

ba salam va tashakkor az site khubetun.vaghean khasteh nabashid.

man ba yek 8 moadeleh va 8 majhul ke gheyre khatti ham hast movajeh shodam. va shadidan moddati hast keh sar dar gom hastam.

man aslan barnameh nevisi balad nistam va kheili ajaleh daram.maple nemituneh in dastgah ro hal koneh.

momkeneh mano komak knid?.

ba tashakor

• محدثه
چهارشنبه، ۲۶ فروردین ماه ۱۳۸۸، ساعت ۱۱:۲۰

سلام.

اگه میشه کد محاسبه دترمینان در سی شارپ رو واسم بفرستید.

مچکرم.

• علی
شنبه، ۲۹ فروردین ماه ۱۳۸۸، ساعت ۱۴:۱۵

با سلام آیا روشی برای محاسبه دترمینان غیر مربعی وجود دارد

مسعود اقدسی فام
شنبه، ۲۹ فروردین ماه ۱۳۸۸، ساعت ۲۰:۰۲

سلام علی جان

اگه تعریفی برای دترمینان ماتریس غیرمربعی سراغ دارید، اون تعریف حتما شامل روش محاسبه هم خواهد شد.

• علی
یکشنبه، ۳۰ فروردین ماه ۱۳۸۸، ساعت ۱۱:۰۹

مسعود جان متشکرم از جوابت

از کلامت متوجه شدم که تعریفی برا ی دترمینان غیر مربعی نیست در کتاب جبر خطی هم این مطلب را تاکید کرده بود ولی دیروز بر روی سایتی به این آدرس سی دی چنین محاسبه ای را عرضه کرده سوال اینجاست که آیا این یک کلاه برداری است یا واقعی چونکه تا حالا که من جستجو کردم هیچ جا چنین مطلبی نیافتم حتی سایتهای ریاضی

• علی
یکشنبه، ۳۰ فروردین ماه ۱۳۸۸، ساعت ۱۱:۱۴

مسعود جان بر اساس سیستم تعریفی شما آدرس سایت را نمی شود فرستاد می توان در یاهو کلمه دترمینان را جستجو کرد و موضوع در سایت فروشگاه بزرگ ایرانیان است تحت عنوان پرژه دانشجویی محاسبه دترمینان ماتریس

با تشکر

مسعود اقدسی فام
یکشنبه، ۳۰ فروردین ماه ۱۳۸۸، ساعت ۱۹:۲۷

علی جان سلام

بله، من تا به حال تعریفی نشنیدم. اما فقط منظورم این نبود. به هر حال ممکنه کسی تعریفی از دترمینان ماتریس غیر مربعی بده. و همین تعریفش شامل محاسبه اون می شه. حالا بحث اینجاست که چقدر تعریف ایشون با خواص دترمینان ماتریسهای مربعی سازگاره و از قوانین اون تبعیت می کنه؟

یه نفر ممکنه اسم دترمینان حاصلضرب ماتریس غیرمربعی در ترانهاده خودش رو بذاره دترمینان ماتریس غیرمربعی. اما آیا این تعریف همه خواص دترمینانهای مربعی رو داره؟ این مساله جای بحث داره.

اگر خبر دیگه ای در این مورد به دستم رسید حتما در جریان قرار می دم شما رو.

از توجهتون بسیار ممنونم.

• خوشقدم
جمعه، ۴ اردیبهشت ماه ۱۳۸۸، ساعت ۱۲:۴۵

در مورد ضرب وجمع ماتریسهای اسپارس هم به شیوه ی  طراحی الگوریتم هم توضیح دهید

• زهره فاضلی
چهارشنبه، ۹ اردیبهشت ماه ۱۳۸۸، ساعت ۱۱:۱۱

ببخشید دوباره مزاحم شدم یه سوال دیگه ام داشتم:

برنامه ای بنویسید که ترانهاده ی یک ماتریس را حساب کند.

ممنونم

• hedieh
دوشنبه، ۲۳ اسفند ماه ۱۳۸۹، ساعت ۲۱:۳۳

rastesh man terme 2 bargham! khodetoon midoonid bara hale madar bayad determinan balad bashi! khola3 ma ham yademoon rafte bood!

alan besyar azatoon mamnoonam!

050505

• سفدر
سه‌شنبه، ۶ اردیبهشت ماه ۱۳۹۰، ساعت ۲۰:۰۳

خیلی ممنون دوست من. عالی بود . به خصوص روش تحول.

• محسن
چهارشنبه، ۴ خرداد ماه ۱۳۹۰، ساعت ۲۳:۱۶

درود بر شما

سپاس از مطالب مفیدی که در سایت قرار می دهید.

اگر ممکن است الگوریتم حل دستگاه های چند معادله و چند مجهولی را بگذارید.

• هادی
شنبه، ۲۸ آبان ماه ۱۳۹۰، ساعت ۱۵:۲۷

از مطلب خوب شما استفاده کردم ممنون

موفق باشید

• ساسان
دوشنبه، ۲۸ آذر ماه ۱۳۹۰، ساعت ۱۲:۴۰

با سلام وتشكر از مطالب مفيدتان .لطفا كمي هم از برنامه نويسي

بااستفاده از توابع بازگشتي مطلب و مثال بگذاريد.ممنون!

• میترا
دوشنبه، ۱۹ دی ماه ۱۳۹۰، ساعت ۱۶:۳۳

با تشکر,بسیار مفید بود,موفق باشید06

• فرهاد
سه‌شنبه، ۴ بهمن ماه ۱۳۹۰، ساعت ۱۰:۴۳

ممنون بسیار مفید بود

• بهنام
جمعه، ۷ بهمن ماه ۱۳۹۰، ساعت ۰۹:۵۸

سلام

دستت درد نکنه این مطلب خیلی به کارم اومد

موفق باشی 03

• سامان
شنبه، ۱۵ بهمن ماه ۱۳۹۰، ساعت ۰۳:۴۰

ممنون

• مهرداد
یکشنبه، ۱۶ بهمن ماه ۱۳۹۰، ساعت ۰۹:۲۶

سلام

مطالب مفید بودند،ممنون. اگه میتونید نحوه ذخیره سازی و عملیات معکوس گیری از ماتریسهای با درایه های اعداد مختلط رو هم توضیح بدید.

(ترجیحا در "C")

• arash
سه‌شنبه، ۲۹ فروردین ماه ۱۳۹۱، ساعت ۱۹:۲۰

سلام

می خواستم دستوراضافه کردن دو ماتری به هم در مطلب رو بدونم

مثلا 2 فایل txt به صورت ماتریسی بشت سر هم به هم اضافه شوند.جمع نشند ها.

برای مثال

m*n   و    p*n   بشوند p+m*n  

اول ماتریس m*n بعد پشت سرش ماتریسp*n  

mamnoon

• samira
سه‌شنبه، ۲۵ مهر ماه ۱۳۹۱، ساعت ۲۱:۲۰

ali bod kheyli estefade kardam

• سمانه
یکشنبه، ۷ آبان ماه ۱۳۹۱، ساعت ۲۲:۵۱

یک روش ساده تر هم وجود داره که اینجا ذکر نشده.

نمیدونم چرا؟

اما منم جزئیاتشو فراموش کردم و اومدم پیداش کنم که متاسفانه نبود.

یکشنبه، ۷ آبان ماه ۱۳۹۱، ساعت ۲۲:۵۷
• مسعود اقدسی فام

اگه پیدا کردید بگید تا من هم آشتا بشم. 01

البته روش ساروس هم وجود داره که مختص ماتریس‌های سه در سه هستش.

• abd
دوشنبه، ۳۰ بهمن ماه ۱۳۹۱، ساعت ۲۳:۵۳

آیا روشی برای محاسبه ی دترمینان ماتریس چهار در چهار وجود داره؟

با تشکر

• سمانه
سه‌شنبه، ۸ اسفند ماه ۱۳۹۱، ساعت ۱۵:۱۴

سلام لطفا روش ریاضی حل معکوس ماتریس مربعی را هم بگذارید.

از طرف دانشجوی عاجز ترم اول ارشد برق

• مسعود
دوشنبه، ۲۱ اسفند ماه ۱۳۹۱، ساعت ۱۳:۲۰

سلام

خسته نباشید

میشه به این سوال من جواب بدید؟

الگوریتمی بنویسید که شعاع و مرکز دایره را بگیرد ان را در سیستم رستری رم کند

اگر کمکم کنید یه دنیا ممنونتون میشم

باتشکر

• مهناز
یکشنبه، ۵ خرداد ماه ۱۳۹۲، ساعت ۲۱:۰۸

سلام

ممکنه راهنمای کنید که اگر بخواهیم یک ماتریس تبدیل خطی طراحی کنیم که با داشتن مقسوم و مقسوم علیه باقیماندهو خارج قسمت تقسیم به پیمانه 2 را تولید کند ، چه باید کرد؟

ممنونم

• سجاد
شنبه، ۲۳ آذر ماه ۱۳۹۲، ساعت ۲۳:۵۰

با سلام

برنامه ای در محیط سی بنویسید که یک ماترس 2*2 را از ورودی گرفته و مقادیر ویژه آن را محاسبه کند.

فقط خیلی عجله دارم ممنون میشم راهنماییم کنی دوست عزیز

• مصطفی
سه‌شنبه، ۲۹ بهمن ماه ۱۳۹۲، ساعت ۱۱:۵۴

سلام

میخاستم بدونم روش ساروس برای ماتریسn*nوجود داره میشه برام ایمیل کنیی البته اگه وجود داره

ممنون

• رضا آدم پیرا
چهارشنبه، ۶ فروردین ماه ۱۳۹۳، ساعت ۱۹:۴۹

سلام

میخاستم بدونم روش حل ماتریس سه قطری بلوکی به روش توماس رو دارید ؟

اگر مقدوره براتون بهمراه کدc++  برام میل کنید.

ممنون

• سجاد
دوشنبه، ۱ اردیبهشت ماه ۱۳۹۳، ساعت ۱۱:۵۹

12 مرسی خوب بود

• صابر
چهارشنبه، ۱۷ اردیبهشت ماه ۱۳۹۳، ساعت ۱۹:۱۹

آقا دمت گرم شارژ شدیم12

• الهه
چهارشنبه، ۱۶ مهر ماه ۱۳۹۳، ساعت ۱۸:۱۹

مرسی دوست عزیز خیلی مفید بود

• بابابرقی
پنجشنبه، ۱۵ آبان ماه ۱۳۹۳، ساعت ۱۴:۱۲

سلام ممنون خوب بودpdfروهم میذاشتین ازخوب هم بهتر میشد درضمن اکثربچه های برق مشکل دترمینان رودارن قابل توجه بعضیا،بازم ممنون

• saleh
جمعه، ۳۰ آبان ماه ۱۳۹۳، ساعت ۱۶:۰۴

Hey there  . Thank you so much.

• اسماعیل
چهارشنبه، ۱۹ آذر ماه ۱۳۹۳، ساعت ۲۱:۰۹

باسلام وتشکر از زحمات شما

درروش تحویل - درایۀ سطردوم ،ستون اول ازدترمینان واقع دردرایۀ سطر دوم ، ستون دوم دترمینان ماتریس(1-n-1) * (n) (که باc22 نمایش داده شده) بایستی a31 نوشته شود که a21 درج گردیده است .

پنجشنبه، ۲۰ آذر ماه ۱۳۹۳، ساعت ۰۰:۴۹
• مسعود اقدسی فام

سلام

ممنون از تذکرتون. اصلاح شد.

• محمد
پنجشنبه، ۱۱ دی ماه ۱۳۹۳، ساعت ۲۳:۳۷

ها 10

• هومن
چهارشنبه، ۱ بهمن ماه ۱۳۹۳، ساعت ۲۰:۰۳

سلام. روز خوبی داشته باشید.

مطلب شما خیلی خوب بود. به منم کمک کرد.

بسیار ممنون.

موفق باشید.

• حامد
دوشنبه، ۲۱ اردیبهشت ماه ۱۳۹۴، ساعت ۰۱:۰۴

بابت مطالبتون خیلی ممنون. یه مطلبی بود باور کنید چند ساعت درگیرش بودم که خیلی کمکم کردیدو جوابشو پیدا کردم. خیلی ممنون20

• حدیث
دوشنبه، ۱۴ دی ماه ۱۳۹۴، ساعت ۱۰:۵۷

سلام.خیلی مفید بود. ممنون06

• shadi
یکشنبه، ۱۶ اسفند ماه ۱۳۹۴، ساعت ۱۰:۵۹

Salam mamnun az matalebe mofideton man ye soale esbati daram nemidonam koja donbalesh begardam kasi mitone ino esbat kone??!!chera  taranahadeh ye (A.B)mishe  taranahadeh(B.A)???khaheshan age mitonin esbatesh konin be Emailam  befrestin koliii mamnunam💜💜💜

• shadi
یکشنبه، ۱۶ اسفند ماه ۱۳۹۴، ساعت ۱۱:۰۰

Salam mamnun az matalebe mofideton man ye soale esbati daram nemidonam koja donbalesh begardam kasi mitone ino esbat kone??!!chera  taranahadeh ye (A.B)mishe  taranahadeh(B.A)???khaheshan age mitonin esbatesh konin be Emailam  befrestin koliii mamnunam💜💜💜

• احسان
یکشنبه، ۱۷ مرداد ماه ۱۳۹۵، ساعت ۱۸:۳۹

سلام

خسته نباشید

میشه ماتریسی با درایه های غیر اول نوشت ؟

چنین ماتریسی چ ارزشی دارد؟

دوشنبه، ۱۸ مرداد ماه ۱۳۹۵، ساعت ۱۱:۰۰
• مسعود اقدسی فام

سلام

اگه منظورتون از اول همون تعریف نداشتن مقسوم‌علیه غیر از یک باشه، می‌شه چنین ماتریسی رو ساخت. اما از کاربردش اطلاعی ندارم.

• مریم
سه‌شنبه، ۲۶ مرداد ماه ۱۳۹۵، ساعت ۱۵:۲۷

ممنونم,بسیار عالی

• مهدي
دوشنبه، ۳ آبان ماه ۱۳۹۵، ساعت ۱۹:۵۳

سلام و خسته نباشيد ميخواستم بدونم در روش ساروس علت علامت منفي چيست؟ممنون

سه‌شنبه، ۴ آبان ماه ۱۳۹۵، ساعت ۲۲:۴۲
• مسعود اقدسی فام

سلام

روش ساروس حالت خاصی از هر سه الگوریتم قبلی‌ه و چیز جدیدی نداره. اگر هر کدوم از رابطه‌های قبلی رو برای ماتریس سه در سه به دست بیارید به همین رابطه می‌رسید.

• کمال
پنجشنبه، ۲۷ آبان ماه ۱۳۹۵، ساعت ۰۰:۳۳

سلام میخواستم بدون د ترمینال ماتریس  سه در سه به بالاتر را میتوان به روش ساروس حل کرد یا نه؟؟؟؟؟؟؟؟

با تشکر0101

پنجشنبه، ۲۷ آبان ماه ۱۳۹۵، ساعت ۰۹:۳۶
• مسعود اقدسی فام

سلام

خیر. روش ساروس مختص ماتریس‌های سه در سه هست.

• خخخخخخخخخخخخخخخخخخخخخخ
پنجشنبه، ۹ دی ماه ۱۳۹۵، ساعت ۲۱:۵۳

خخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخخ14141414141414141414141414141414141414141414141414

• زهرا
جمعه، ۶ اسفند ماه ۱۳۹۵، ساعت ۱۱:۴۱

ممنون از مطالب مفیدتون

میخواستم بدونم دلیل اینکه نمیشه از روش ساروس برای بقیه ماتریس ها استفاده کرد چیه؟

ممنون میشم پاسخ بدید

جمعه، ۶ اسفند ماه ۱۳۹۵، ساعت ۱۱:۵۸
• مسعود اقدسی فام

سپاسگزارم.

اگر دترمینان ماتریس چهار در چهار رو با استفاده از فرمول‌ها محاسبه کنید متوجه می‌شید که رابطه‌ی بین عناصر در محاسبه‌ی دترمینان این ماتریس مثل ماتریس سه در سه با ارتباط قطرها قابل بیان نیست.

روش ساروس صرفا مثل یک نکته‌ی تستی می‌مونه که محاسبات رو سریع‌تر می‌کنه و هیچ ارتباط مشخصی با تعریف دترمینان نداره که بشه اون رو برای ماتریس‌ها با ابعاد بالاتر هم توسعه داد. حتی برای ماتریس دو در دو هم صادق نیست.

• زهرا
جمعه، ۶ اسفند ماه ۱۳۹۵، ساعت ۱۲:۱۱

ممنون از پاسختون

ولی میخواستم بدونم دلیل قابل اثبات و محکمتری برای این موضوع وجود داره یا نه؟

جمعه، ۶ اسفند ماه ۱۳۹۵، ساعت ۱۳:۱۰
• مسعود اقدسی فام

روش ساروس تعریف دترمینان نیست. مبنای کار ما تعریف لاپلاس هست. بنابراین هر چیزی که با تعریف لاپلاس سازگاری نداشته باشه کنار گذاشته می‌شه.

در مورد روش ساروس فقط در مورد ابعاد سه در سه یکی هستن و در مورد سایر ابعاد می‌شه مثال نقض آورد و البته با استفاده از روش‌های ریاضی هم می‌شه ثابت کرد که رابطه‌ی ابعاد چهار و بالاتر به صورت قطری نیست. ولی در کل نیازی به چنین اثباتی نداریم. آوردن مثال نقض برای رد این نظریه کافی هست.

• ooooo
پنجشنبه، ۲۱ اردیبهشت ماه ۱۳۹۶، ساعت ۱۶:۰۴

141414141414141414

• رضا
جمعه، ۵ خرداد ماه ۱۳۹۶، ساعت ۱۹:۲۴

با تشکر از توضیحات خوبتون، ولی اگر کنار توضیحاتون بجای زبان برنامه نویسی از زبان نوشتاری معمولی استفاده میکردین و با مثال نمایش میدادین بهتر درک میشد

اگر فایل pdf رو هم میزاشتین که دیگه عالی میشد.

لطفاً روش محاسبه دترمینان ماتریس ۵*۵ و بالاتر رو هم آموزش بدین

جمعه، ۵ خرداد ماه ۱۳۹۶، ساعت ۲۱:۰۳
• مسعود اقدسی فام

خیلی ممنون. اما اینجا بحثی از برنامه‌نویسی محاسبه‌ی دترمینان نیست و صرفا ملاحضات برنامه‌نویسی به عنوان توضیح در کنار روش محاسبه اومده.

محاسبه‌ی دترمینان ۴*۴ و ۵*۵ و مراتب بالاتر به یک ترتیب بر اساس همین روابط بالا هست. تنها در مورد دترمینان ماتریس ۳*۳ روش ساروس هم وجود داره که البته اون هم مبتنی بر تعریف اصلی دترمینان هست.

• عباس
پنجشنبه، ۲۵ آبان ماه ۱۳۹۶، ساعت ۲۱:۰۲

با سلام

ممنون از مطالب بسیار خوب شما استفاده کردم

موفق و پیروز باشید

• MR
پنجشنبه، ۱۰ اسفند ماه ۱۳۹۶، ساعت ۱۰:۳۰

سلام خدا قوت از مطلب خوبتون بسیار استفاده کردم. خیلی ممنون

• kelideservat
شنبه، ۱ دی ماه ۱۳۹۷، ساعت ۱۹:۱۲

مطلب مفیدی بود !

سپاس از سایت خوب تان !

• جایینو
سه‌شنبه، ۲۷ فروردین ماه ۱۳۹۸، ساعت ۱۸:۵۲

از سایت خوب تان ممنوم ! جالب بود !

•  اصغر
جمعه، ۳۰ فروردین ماه ۱۳۹۸، ساعت ۱۷:۲۶

خیلی خوب بود یادم رفته بود04

• ترجمه تخصصی انگلیسی به فارسی
پنجشنبه، ۲۴ بهمن ماه ۱۳۹۸، ساعت ۱۲:۴۱

چقدر راحت بود با روشی که گفتین . خیلی خوب بود

• محمدمهدی نصیری
چهارشنبه، ۱۷ آذر ماه ۱۴۰۰، ساعت ۰۱:۴۴

با سلام

مرسی از روش تحویل

البته نا گفته نماند یه اشتباه لپی داره (اونجا که نوشته "یا به عبارت دیگر" جلوی cij

cij=      a11              a1(j+1)      به جای ai(j+1) قرار بدهید a1(j+1))

a(i+1)1   a(i+1)(j+1)    

با این روش تحویل برنامه محاسبه دترمینان به خوبی قابل نوشتن شد(شاید با بقیه هم بشه ولی فک کنم این کدش راحت تره(به نظرم سراغ بسط لاپلاس برا کدزنیش نرید))

برای ماتریس مربعی n*n

ورودی n و درایه ها

برنامه رو قبول نکرد وگرنه میذاشتم

• محمدمهدی نصیری
چهارشنبه، ۱۷ آذر ماه ۱۴۰۰، ساعت ۰۱:۴۷

یعنی ارسال نشد وگرنه برا ماتریس 4*4 هم جواب گرفتم