I'm currently doing FEM calculations in java on very large square matrices with sizes up to 1M x 1M. These are very sparse though with under 10M entries. I'm using ojAlgo with the SparseStore matrix implementation and I'm really happy with it so far. The problem is, when I'm solving the linear equations system at the end using LU.R064.make().solve(A,b), with SparseStore A and b, the implementation of this solver automatically converts the sparse matrices into dense ones, leading to huge memory costs and runtimes. Is there a more efficient way to use ojAlgo or another library?
Sparse matrix solver in java using ojAlgo library
181 Views Asked by Jakob Rainer At
1
There are 1 best solutions below
Related Questions in MATRIX
- Setting diagonal of a matrix to zero
- CUDA matrix inversion
- Function to create matrix of zeros and ones, with a certain density of ones
- DirectX 9 With No SDK Installed - How To Translate a D3DMATRIX?
- Using the sympy module to compute the matrix multiplication involving symbols
- Rendering a visualisation of matrix using pygame
- I do not receive iOS push notifications from Element Matrix Notify
- Matrix reconstruction by SVD in tensorflow
- Why does the following code detect this matrix as a non-singular matrix?
- Bound for product of matrices
- iterating through raster bands to perform calculation
- How to make a heatmap and the matrix for it?
- MATLAB: Turn every element of complex matrix into another matrix
- Matrix calculated based on the previous value
- Matlab array of structure
Related Questions in LINEAR-ALGEBRA
- Bound for product of matrices
- How to get scaling from transformation matrix
- Mahalanobis distance computation in Python
- Iterative Matrix-Vector Product Eigensolvers in Python
- How to Implement Back Substitution for Solving Linear Systems in Python?
- How to get integer answers while solving a chemical equation using Numpy
- is numpy representation a column vector?
- what is the direct method of finding nth power value of matrix say A is 2x2 matrix with say 2 2 3 4 values...now i want [A] ^n
- Move the points in the graph linearly when a point is moved up/down and edge values should be fixed in Javascript
- chol(x,pivot=TRUE) does not have attribute pivot in R
- How to tell when calculating an Intercept Point between two moving objects, when it will never intercept?
- Why do I get back different eigenvectors that I put in?
- Trying to use scipy to solve system of linear equations but having trouble
- Extrinsic camera matrix if translation performs before rotation
- Ensure trivial solution is found to matrix equation
Related Questions in SPARSE-MATRIX
- cov2corr() for scipy sparse matrices
- Saving a scipy.sparse matrix directly as a regular txt file
- Parallelize nested loop with running sum in Fortran
- How should very large but highly symmetric arrays be handled in Python?
- Sum each column of a sparse matrix multiplied by a vector
- Iterative Matrix-Vector Product Eigensolvers in Python
- Recovering explicit zeros from Scipy MST
- How to compute (row) basis of a sparse matrix in Eigen library?
- Inconsistent results when using Scipy Minimum Spanning tree with sparse and dense inputs
- Bug in large sparse CSR binary matrices multiplication result
- Stitching together overlapping arrays in scipy
- Sampling from a Normal distribution with sparse covariance matrix
- Why EIGS is not able to reproduce the same result as EIG for a generalised eigenvalue problem?
- Create blockwise shifted sparse matrix in matlab directly
- Manipulating sparse matrices in Swift before solving system
Related Questions in FINITE-ELEMENT-ANALYSIS
- Constraint two coaxial rods for FEA using ABAQUS CAE, where the outer and inner can rotate vertically and also the inner one can move axially
- Gmsh example t4.py unable to find t4_image.png, other examples run fine
- Contiguos graph partitioning
- reducing a massive tetrahedron mesh using gmsh or other way
- Generate a mesh from my polygon geometry to iterate FEM for geometry optimization?
- Python based finite element solver for 2D manifold embedded in 3 dimensional space
- Use skfem to solve Laplace eigenvalue problem on triangular mesh on 3D surface
- Meaning of mesh_size
- implementing domain decomposition algos as solvers vs preconditioners
- Is the input shape for the LSTM correct considering the problem under analysis?
- Slab Design Using Python Scripts on Abaqus
- How to embed linear constrain solver in non-linear soft-body dynamics
- SimCenter constraints for a block on a surface and on a shaft
- Problems with assembling global stiffness matrix
- How to Generate a 3D Tetrahedral-Only Mesh in Gmsh?
Related Questions in OJALGO
- Add BigDecimal values to matrix
- Preallocate number of non-zeroes in ojAlgo
- OJAlgo matrix multiplcation - only the upper triangle
- ojAlgo MatrixR032 creation from string, normalization, and cosine similarity calculation
- How to concatenate two ComplexMatrix?
- Clear the model and the solver,
- How to get variables values from Optimisation.Result in ojAlgo?
- ojalgo : How to sort each row of a matrix?
- Sparse matrix solver in java using ojAlgo library
- How to find the index of maximum element in ojalgo?
- Dual and reduced costs using SimplexSolver from ojAlgo
- How to get multiple values by index in an ojAlgo-array?
- What's the most efficient way to create a diagonal matrix with ojalgo?
- How do one solve linear programming problems with ojAlgo?
- How to encourage a balanced solution in ojAlgo ExpressionBasedModel
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There are currently no sparse matrix decompositions in ojAlgo.
There are some iterative equation system solvers that work with sparse "equations". The selection is somewhat limited – Gauss–Seidel and Conjugate gradient. There are preconditions for when these can be used.
Have look at this interface and its implementations:
Maybe that
SparseStorecan be replaced by aList<Equation>?Equation:s can be sparse, and you can feed that list directly to the solver.Also note that in addition to
SparseStorethere are alsoRowsSupplierandColumnsSupplierthat implementMatrixStore. Their rows/columns can be wrapped (no copying) to createEquation:s.