mathajax

Matrix Elementary Row Operation

The matrix in algebra has three row operations are called Matrix Elementary Row Operation. They are

  1. Swapping any two rows
  2. Multiply a row by constant
  3. Adding any two rows
The row operation is carried out on a matrix to turn it a lower triangular matrix or a upper triangular matrix to find out solution vector for system of linear equations.

Swap two rows

 
          The matrix A has 3 rows and 3 columns.          
          Row R1 and R2 swapped -  Both rows interchanged their elements. 
              i.e R1 becomes  R2  and vice versa.
     
swap two rows r1 and r2

Add two rows

 
          The matrix A has 3 rows and 3 columns.          
          Add two rows R1 and R2  - 
             R1's each elements is added to R2's corresponding elements.  
             resultant row replace row R2

              i.e R2  -> R1 +  R2 .
     
replace row r2 by  r1 + r2

Multiply a row by constant

 
       The matrix A has 3 rows and 3 columns.          
       Multiply a row R1 by constant value, 2  - R1's each elements is multiplied 
              by constant 2 and resultant row replace row R1

              i.e R1  -> 2 x R1 .
     
multiply row r1  by a constant times

Replace row R2 by adding a constant times R1 to R2

replace r2 by adding c times r1  and r2

Java program Elementary Row Operation

 

public class RowOperation  {   
   public static void swap(Matrix mat,int r1,int r2) {
         
    for (int n=0;n<mat.getNcol();n++) {
      double tmp=  mat.getElement(r1, n);
       mat.setElement(r1, n,  mat.getElement(r2, n));
       mat.setElement(r2, n,  tmp);
    }     
 }
 
   public static void multiply(Matrix mat,int r1,double val) {  
    for (int n=0;n<mat.getNcol();n++) {   
        mat.setElement(r1, n,  val*mat.getElement(r1, n));   
     }
 }
   
   public static void add(Matrix mat,int r1,int r2) {  
        for (int n=0;n<mat.getNcol();n++)
           {     
             mat.setElement(r2, n,  mat.getElement(r1, n) 
                                       + mat.getElement(r2, n));     
         }
  }
  
   public static void subtract(Matrix mat,int r1,int r2) {  
      for (int n=0;n<mat.getNcol();n++)
          {     
             mat.setElement(r2, n,  mat.getElement(r1, n) 
                                       - mat.getElement(r2, n));     
         }
    }
   
   public static void add(Matrix mat,int r2,int r1,double val) {  
    for (int n=0;n<mat.getNcol();n++) {
        double tmp=  val*mat.getElement(r1, n);
        mat.setElement(r2, n,  mat.getElement(r2, n)+tmp);     
     }
 }
  
   public static void subtract(Matrix mat,int r2,int r1,double val) {  
    for (int n=0;n<mat.getNcol();n++) {
        double tmp=  val*mat.getElement(r1, n);
        mat.setElement(r2, n,  mat.getElement(r2, n)- tmp);     
     }
 }
 
 
 public static void main(String[] args) {
  
     double vals[][]={{3,1,2},{2,-1,1},{1,3,-1}};     
     Matrix A =new Matrix(vals);
     
     System.out.println("Elementary Row Operation");
     System.out.println("Matrix A");
     System.out.println(A.toString());
               
     System.out.println("Swapping  two rows ");
     System.out.println("R0 <-> R1 ");
     RowOperation.swap(A, 0, 1);
     System.out.println(A.toString());

     System.out.println("Multiply a value with a rows ");
     System.out.println("R2 <- 2*R2 ");          
     RowOperation.multiply(A, 2, 2.0);
     System.out.println(A.toString());
     
     System.out.println("Adding  two rows ");
     System.out.println("R1 <- R0 + R1 ");     
     RowOperation.add(A, 0, 1);
     System.out.println(A.toString());
     
     System.out.println("add rows R1 and 2 times R0   ");
     System.out.println("R1 <- R1 + 2R0 ");          
     RowOperation.add(A, 0,1, 2.0);
     System.out.println(A.toString());
               
 }
}

Java program Elementary Row Operation Output


Elementary Row Operation

Matrix A
3.0  1.0  2.0  
2.0  -1.0  1.0  
1.0  3.0  -1.0  

Swapping two rows R0,R1 
R0 <-> R1 

2.0  -1.0  1.0  
3.0  1.0  2.0  
1.0  3.0  -1.0  

Multiply a value with a row R2
R2 <- 2*R2 

2.0  -1.0  1.0  
3.0  1.0  2.0  
2.0  6.0  -2.0  

Adding two rows R0,R1
R1 <- R0 + R1 

2.0  -1.0  1.0  
5.0  0.0  3.0  
2.0  6.0  -2.0  

add row R1 and 2 times R0   
R1 <- R1 + 2R0 

2.0  -1.0  1.0  
9.0  -2.0  5.0  
2.0  6.0  -2.0  

Comments

Popular posts from this blog

Solving System of Linear Equations by Gauss Jordan Elimination

Matrix Forward and Back Substitution

Solve System of Linear Equations by LU Decompose

Distance Metric - Euclidean Distance

Matrix Determinant by Upper Triangular Matrix