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:
Testing an OAuth Secured API with Spring MVC
Tạo ứng dụng Java RESTful Client với thư viện OkHttp
Logging a Reactive Sequence
MyBatis with Spring
Java Program to Implement Nth Root Algorithm
Java Program to implement Associate Array
Check If Two Lists are Equal in Java
Java Copy Constructor
New in Spring Security OAuth2 – Verify Claims
Java Program to Implement Max-Flow Min-Cut Theorem
The Order of Tests in JUnit
Lớp Arrarys trong Java (Arrays Utility Class)
Function trong Java 8
Constructor Dependency Injection in Spring
Spring Security Remember Me
Reading an HTTP Response Body as a String in Java
Guide to CountDownLatch in Java
Jackson Annotation Examples
Java Timer
Prevent Cross-Site Scripting (XSS) in a Spring Application
Limiting Query Results with JPA and Spring Data JPA
Java Program to Check if a Given Binary Tree is an AVL Tree or Not
Spring REST API with Protocol Buffers
Debug a HttpURLConnection problem
Hướng dẫn Java Design Pattern – Interpreter
A Guide to the Java ExecutorService
Một số ký tự đặc biệt trong Java
Spring MVC and the @ModelAttribute Annotation
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Sử dụng CountDownLatch trong Java
Model, ModelMap, and ModelAndView in Spring MVC
Create a Custom Exception in Java