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...

Project 7 Soy Vitou (ITE G8_A2) in Royal University of Phnom Penh (RUPP)

7-segment Display An LED or Light Emitting Diode, is a solid state optical pn-junction diode which emits light energy in the form of photons. The emission of these photons occurs when the diode junction is forward biased by an external voltage allowing current to flow across its junction, and in Electronics we call this process electroluminescence. The actual colour of the visible light emitted by an LED, ranging from blue to red to orange, is decided by the spectral wavelength of the emitted light which itself is dependent upon the mixture of the various impurities added to the semiconductor materials used to produce it. 7-segment Display Light emitting diodes have many advantages over traditional bulbs and lamps, with the main ones being their small size, long life, various colours, cheapness and are readily available, as well as being easy to interface with various other electronic components and digital circuits. But the main advantage of light emitting diodes is that because of th...