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:
Java Program to Implement PrinterStateReasons API
A Quick Guide to Spring Cloud Consul
Guide to java.util.Formatter
Java Program to Implement Direct Addressing Tables
OAuth2.0 and Dynamic Client Registration
Merging Streams in Java
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
Multipart Upload with HttpClient 4
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Send email with authentication
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint
Java Program to Implement Bloom Filter
Java Program to Implement Horner Algorithm
Java Program to Describe the Representation of Graph using Incidence List
Java Program to Implement Maximum Length Chain of Pairs
Java Program to Implement Efficient O(log n) Fibonacci generator
Spring Boot Application as a Service
How to Manually Authenticate User with Spring Security
Hashing a Password in Java
Java Program to Perform the Sorting Using Counting Sort
Java Program to Implement Best-First Search
Java Program to Implement Heap
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Giới thiệu về Stream API trong Java 8
Java Program to Implement Euler Circuit Problem
XML Serialization and Deserialization with Jackson
Java Program to Find the Vertex Connectivity of a Graph
Spring REST API + OAuth2 + Angular
Spring Boot - Cloud Configuration Server
Java Program to Perform Searching in a 2-Dimension K-D Tree
Exception Handling in Java
LinkedHashSet trong java