This is the java program to find whether the vectors entered by users form the basis for the given dimension. The result for the same can be obtained by checking whether the determinant of the matrix formed by vectors is zero or not. If the determinant is non zero its forms the basis for the given dimension, not otherwise.
Here is the source code of the Java Program to Find Basis and Dimension of a 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 find the basis and dimension of a vectors import java.util.Scanner; public class Basis_Dimension_Matrix { public static double determinant(double A[][],int N) { double det=0; if(N == 1) { det = A[0][0]; } else if (N == 2) { det = A[0][0]*A[1][1] - A[1][0]*A[0][1]; } else { det=0; for(int j1=0;j1<N;j1++) { double[][] m = new double[N-1][]; for(int k=0;k<(N-1);k++) { m[k] = new double[N-1]; } for(int i=1;i<N;i++) { int j2=0; for(int j=0;j<N;j++) { if(j == j1) continue; m[i-1][j2] = A[i][j]; j2++; } } det += Math.pow(-1.0,1.0+j1+1.0)* A[0][j1] * determinant(m,N-1); } } return det; } public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter the number of vectors:"); int n = sc.nextInt(); double [][]mat = new double[n][n]; System.out.println("Enter the vectors one by one:"); for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { mat[j][i] = sc.nextDouble(); } } double det = determinant(mat, n); if(det != 0) System.out.println("The vectors froms the basis of R"+n+" as the determinant is non-zero"); else System.out.println("The vectors doesn't form the basis of R"+n+" as the determinant is zero"); sc.close(); } }
Output:
$ javac Basis_Dimension_Matrix.java $ java Basis_Dimension_Matrix Enter the number of vectors: 2 Enter the vectors one by one: 1 1 -1 2 The vectors froms the basis of R2 as the determinant is non-zero
Related posts:
Hướng dẫn Java Design Pattern – Strategy
Spring Boot - Hystrix
Java Program to Implement JobStateReasons API
Java – Generate Random String
Guide to java.util.Formatter
Custom Thread Pools In Java 8 Parallel Streams
Understanding Memory Leaks in Java
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Java Program to Find the Connected Components of an UnDirected Graph
Spring Boot - Zuul Proxy Server and Routing
Java Program to Implement Warshall Algorithm
Giới thiệu luồng vào ra (I/O) trong Java
Phân biệt JVM, JRE, JDK
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Spring Data JPA Delete and Relationships
Java Program to Implement Affine Cipher
Jackson Exceptions – Problems and Solutions
Spring 5 Functional Bean Registration
Java TreeMap vs HashMap
Guide to Java 8’s Collectors
Java Program to Implement Hash Tables with Quadratic Probing
REST Web service: Upload và Download file với Jersey 2.x
Serialization và Deserialization trong java
A Guide to the finalize Method in Java
Java Program to Implement the One Time Pad Algorithm
Java Program to Implement Coppersmith Freivald’s Algorithm
Netflix Archaius with Various Database Configurations
Converting Between a List and a Set in Java
Java 8 Collectors toMap
Setting the Java Version in Maven
Java Program to Implement Suffix Tree
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)