This is a java program to LU Decomposition of a given matrix. LU decomposition is the process of reducing single matrix into 2 matrices such that, upon multiplication we get the original matrix, having property that one of them is lower trinagular matrix and other one is upper trinagular matrix.
Here is the source code of the Java Program to Perform LU Decomposition of any Matrix. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a sample program to calulate the LU decomposition of the given matrix import java.util.Scanner; public class LUDecomposition { public static void main(String args[]) { System.out.println("Enter the dimension of the matrix:"); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); double [][]mat = new double[n][n]; for(int i=0; i<n; i++) for(int j=0; j<n; j++) mat[i][j] = sc.nextDouble(); if(n==2) { double [][]l = new double[n][n]; l[0][0] = l[1][1] = 1; l[0][1] = 0; double [][]u = new double[n][n]; u[1][0] = 0; u[0][0] = mat[0][0]; u[0][1] = mat[0][1]; l[1][0] = mat[1][0]/mat[0][0]; u[1][1] = mat[1][1] - (l[1][0]*u[0][1]); //mat[2][2]-(mat[2][1]*mat[1][2]/mat[1][1]); System.out.println("The L Component is:"); for(int i=0; i<n; i++) { for(int j=0; j<n; j++) System.out.print(" "+l[i][j]); System.out.println(); } System.out.println("The U Component is:"); for(int i=0; i<n; i++) { for(int j=0; j<n; j++) System.out.print(" "+u[i][j]); System.out.println(); } } if(n==3) { double [][]l = new double[n][n]; l[0][0] = l[1][1] = l[2][2] = 1; l[0][1] = l[0][2] = l[1][2] = 0; double [][]u = new double[n][n]; u[1][0] = u[2][0] = u[2][1] = 0; u[0][0] = mat[0][0]; u[0][1] = mat[0][1]; u[0][2] = mat[0][2]; l[1][0] = mat[1][0]/mat[0][0]; u[1][1] = mat[1][1] - (l[1][0]*u[0][1]); //mat[2][2]-(mat[2][1]*mat[1][2]/mat[1][1]); u[1][2] = mat[1][2] - (l[1][0]*u[0][2]); l[2][0] = mat[2][0]/u[0][0]; l[2][1] = (mat[2][1] - l[2][1]*u[0][1])/u[1][1]; u[2][2] = mat[2][2] - (l[2][0]*u[0][2]) - (l[2][1]*u[1][2]); System.out.println("The L Component is:"); for(int i=0; i<n; i++) { for(int j=0; j<n; j++) System.out.print(" "+l[i][j]); System.out.println(); } System.out.println("The U Component is:"); for(int i=0; i<n; i++) { for(int j=0; j<n; j++) System.out.print(" "+u[i][j]); System.out.println(); } } sc.close(); } }
Output:
$ javac LUDecomposition.java $ java LUDecomposition.java Enter the dimension of the matrix: 3 2 3 1 4 5 1 1 1 1 The L Component is: 1.0 0.0 0.0 2.0 1.0 0.0 0.5 -1.0 1.0 The U Component is: 2.0 3.0 1.0 0.0 -1.0 -1.0 0.0 0.0 -0.5
Related posts:
Guide to Selenium with JUnit / TestNG
Java Program to Create a Balanced Binary Tree of the Incoming Data
Java Program to Show the Duality Transformation of Line and Point
Handle EML file with JavaMail
Converting Strings to Enums in Java
XML-Based Injection in Spring
Java Program for Topological Sorting in Graphs
Java Program to Implement Tarjan Algorithm
Finding the Differences Between Two Lists in Java
Java Program to Represent Graph Using Adjacency List
Check if a String is a Palindrome in Java
Truyền giá trị và tham chiếu trong java
Java Program to Implement Shunting Yard Algorithm
Java InputStream to String
Mapping a Dynamic JSON Object with Jackson
Java Program to Perform integer Partition for a Specific Case
Registration – Password Strength and Rules
Spring Security – Reset Your Password
Java Program to Implement Network Flow Problem
Một số nguyên tắc, định luật trong lập trình
HttpClient Basic Authentication
Từ khóa throw và throws trong Java
Java Program to Implement Iterative Deepening
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
4 tính chất của lập trình hướng đối tượng trong Java
How to Convert List to Map in Java
Java Program to find the maximum subarray sum O(n^2) time(naive method)
The Registration API becomes RESTful
Registration with Spring Security – Password Encoding
List Interface trong Java
Wrapper Classes in Java
Flattening Nested Collections in Java