Skip to main content

1) Determinant 2) Inverse Matrix 3) Gaussian Elimination 4) Iterative technique and calculate using three method to find x , y, z method: cramer's rule, gaussian elimination and inverse matrix.

#include <iostream>
#include <vector>
# GaussianElimination
std::vector<std::vector<float>> GaussianElimination(std::vector<std::vector<float>> matrix)
{
  int rows = matrix.size();
  int cols = matrix[0].size();
  for (int i = 0; i < rows; i++)
  {
    float coefficient1 = matrix[i][i];
    for (int j = 0; j < cols; j++)
    {
      matrix[i][j] /= coefficient1;
    }
    for (int j = 0; j < rows; j++)
    {
      if (j == i) continue;
      float coefficient2 = matrix[j][i];
      for (int k = 0; k < cols; k++)
      {
        matrix[j][k] -=  coefficient2 * matrix[i][k];
      }
    }
  }
  return matrix;
}
void PrintMatrix(std::vector<std::vector<float>> matrix)
{
  for (int i = 0; i < matrix.size(); i++)
  {
    for (int j = 0; j < matrix[0].size(); j++)
    {
      std::cout.width(5); std::cout << matrix[i][j] << "    ";
    }
    std::cout << std::endl;
  }
}
void PrintSE(std::vector<std::vector<float>> matrix)
{
  std::cout << "X = ";
  for (int i = 0; i < matrix.size()-1; i++)
  {
    std::cout << matrix[i][matrix[0].size()-1] << ", ";
  }
  std::cout << matrix[matrix.size() - 1][matrix[0].size() - 1];
  std::cout << std::endl;
}
# Inverse matrix
void PrintInverse(std::vector<std::vector<float>> matrix)
{
  std::cout << "The inverse matrix is\n";
  int rows = matrix.size();
  int cols = matrix[0].size();
  for (int i = 0; i < rows; i++)
  {
    for (int j = rows; j < cols; j++)
    {
      std::cout.width(5); std::cout << matrix[i][j] << "    ";
    }
    std::cout << std::endl;
  }
  std::cout << std::endl;
}
int main()
{
  std::cout << "Result of simultaneous equations with Gaussian Elimination" << std::endl;
  std::vector<std::vector<float>>(matrixA) = { {1, -4, -2, 21}, {2, 1, 2, 3 }, {3, 2, -1, -2} };
  std::vector<std::vector<float>>(ResultMatrixA) = GaussianElimination(matrixA);
  PrintMatrix(ResultMatrixA);
  PrintSE(ResultMatrixA);
  std::cout << std::endl;
  std::cout << std::endl;
  std::cout << "Result of inverse matrix with Gaussian Elimination" << std::endl;
  std::vector<std::vector<float>>(matrixB) = { {-1, 8, -2, 1, 0, 0}, {-6, 49, -10, 0, 1, 0}, {-4, 34, -5, 0, 0, 1} };
  std::vector<std::vector<float>>(ResultMatrixB) = GaussianElimination(matrixB);
  PrintMatrix(ResultMatrixB);
  PrintInverse(ResultMatrixB);
  std::cin.get();

}






# demterminant matrix

from copy import deepcopy
def smaller_matrix(original_matrix, row, column):
    #the new metrix should not affect the original matrix
    new_matrix = deepcopy(original_matrix)
    #the indices to do the removal depend on the original metrix
    new_matrix.remove(original_matrix[row])
    for i in range(len(new_matrix)):
        new_matrix[i].remove(new_matrix[i][column])
    return new_matrix
def determinant(matrix):
    num_rows = len(matrix)
    for row in matrix:
        if len(row) != num_rows:
            print("Not a square matrix.")
            return None
        if len(matrix) == 2:
            simple_determinant = matrix[0][0] *\
                                 matrix[1][1] -\
                                 matrix[1][0] *\
                                 matrix[0][1]
            return simple_determinant
        else:
            # cofactor expansion
            answer = 0
            num_columns = num_rows
            for j in range(num_columns):
                cofactor = (-1) ** (0+j) * matrix[0][j] \
                            * determinant(smaller_matrix(matrix,0,j))
                answer += cofactor
            return answer
a_matrix = [[2, 1, 7, 9], [7, 1, 9, 7],[8, 6, 1, 4], [0, 1, 4, 2]]
print("The answer of matirx is :",determinant(a_matrix))










 




Comments

Popular posts from this blog

AWSD controller with c#

      using   UnityEngine ;   using   System.Collections ;   using   System.Collections.Generic ;     [ RequireComponent  ( typeof ( Rigidbody ) ) ]   public   class  PlayerController  :  MonoBehaviour  {         public   float  movementSpeed  =  5 . 0f ;         void  Start  ( )   {                 }             void  Update  ( )   {           Rigidbody rigidbody  =  GetComponent < Rigidbody > ( ) ;             if ( Input . GetKey ( KeyCode . W ) )   {              transform . position   +=  Vector3 . forward   *  Time . deltaTime   *  movementSpeed ;           }     ...

Java is a high-level programming language originally developed by Sun Microsystems and released in 1995. Java runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX. This tutorial gives a complete understanding of Java. This reference will take you through simple and practical approaches while learning Java Programming language.

  Java Tutorial Java - Home Java - Overview Java - Environment Setup Java - Basic Syntax Java - Object & Classes Java - Constructors Java - Basic Datatypes Java - Variable Types Java - Modifier Types Java - Basic Operators Java - Loop Control Java - Decision Making Java - Numbers Java - Characters Java - Strings Java - Arrays Java - Date & Time Java - Regular Expressions Java - Methods Java - Files and I/O Java - Exceptions Java - Inner classes Java Object Oriented Java - Inheritance Java - Overriding Java - Polymorphism Java - Abstraction Java - Encapsulation Java - Interfaces Java - Packages Java Advanced Java - Data Structures Java - Collections Java - Generics Java - Serialization Java - Networking Java - Sending Email Java - Multithreading Java - Applet Basics Java - Documentation Java Useful Resources Java - Questions and Answers Java - Quick Guide Java - Useful Resources Java - Discussion Java - Examples Selected Reading UPSC IAS Exams Notes Developer's Best Practice...

Proof Lim x approach 0 of sin(x)/x=0 and lim x approach 0 of (cos(x)-1)/x=0