Comments (3)
Hi, apologies for the late reply.
We have support for the block low-rank format, which is a non-hierarchical format, and which allows to compress only certain (admissible) blocks. For HSS, all off-diagonal blocks are always compressed.
Yes, there is a routine
void shift (scalar_t sigma)
from strumpack.
Hi Pieter,
Thanks for the reply.
-
So not applicable for HSS. I could make a tree that puts the weird parts in a separate block.
-
shift multiplies with a scalar. I need to add a vector to the diagonal.
I.e. I have to solve several of systems of equations where the matrix only differs in the diagonals. So I want to compress it once and only do factorization and solve for each system.
I don't see such function so I will try to write it myself.
Thanks again.
from strumpack.
Indeed, you can do a lot by changing the tree.
Yes, the shift routine adds a scalar times the identity matrix to the HSS matrix, which might be useful for things like shift and invert eigensolvers. We did not anticipate the use case of adding a vector to the diagonal. You can look at the implementation of the shift routine.
Let me know if you need help.
Pieter
from strumpack.
Related Issues (20)
- Fortran Interface for Finite Element nonlinear solver HOT 4
- Windows 10 support HOT 6
- Iterate Cluster Tree HOT 5
- mpi_type for std::pair leads to memory leaks HOT 3
- MSVC: Cannot convert from strumpack::EliminationTreeMPIDist<scalar_t,integer_t> *' to 'const strumpack::EliminationTree<scalar_t,integer_t> *' HOT 1
- Including ButterflyPACK HOT 2
- Segmentation fault during forward solve with CUDA HOT 4
- STRUMPACK with > 1 GPU per node HOT 11
- Crash with updated PETSc interface using version 7.1.3 HOT 2
- Does STRUMPACK support the 'long double' data type? HOT 1
- Symmetric support HOT 1
- Access elements in HODLRMatrix HOT 2
- Inconsistant diagonal entries for dense matrix and corresponding HODLR matrix HOT 7
- namespace "thrust" has no member "stable_sort_by_key" HOT 1
- Input matrix NAN in ComputeRange HOT 8
- HODLR OpenMP support HOT 1
- std::length_error', when total nonzeros is higher than maximum of integer4, Fortran use of STRUMPACK_MPIdist HOT 23
- HSSMatrix HSSMatrix log determinant HOT 2
- construct_partially_matrix_free for MPI HOT 2
- [error] Cmake based build with intel mkl library HOT 35
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from strumpack.