Comments (5)
Tell me if I can be of any help or if I can improve the current implementation in any way
from linearsolve.jl.
LU factorization needs two workspaces:
- lu: a n x n matrix containing L and U triangular matrices
- ipvt: a pivot vector with n elements
If you want to keep the original matrix, you need the lu workspace, otherwise you only need ipvt
Does LinearSolve.solve() keep the A matrix intact or is the replaced by the factorization?
Note also, that in the case of LU factorization, Lapack doesn't need a first pass to compute the size of the workspace as it is self evident here.
from linearsolve.jl.
By default it does a deepcopy
unless you pass alias_A=true
to init
in common.jl. Then it does lu!
, which (I believe) is destructive to that copy held in the LinearCache
.
from linearsolve.jl.
Yeah for safety it defaults to copying, but the keyword argument alias_A = true
turns that off. When that argument is true, we are free to modify the original A how we please.
from linearsolve.jl.
I. In factorization.jl:41
- A is the object in which we store the factorization
- we need an additional vector to store the pivots
- then we call xgetrf_ to compute the factorization (small improvement with respect to Base.lu!(), the pivot vector is allocated once for all problems with the same size)
II. If the factorization is stored in A by xgetrf_, we need to call xgetrs_ to actually solve the linear problem instead of Base.ldiv!() that expects a Base.LU object
from linearsolve.jl.
Related Issues (20)
- AOCL wrappers for faster sparse and dense operations on AMD CPUs
- ERROR: Failed to precompile LinearSolve HOT 4
- Handle StaticArrays.jl HOT 2
- Cache initialization of default algorithms HOT 4
- LinearSolve Load Error HOT 5
- test failure static arrays on windows
- Precompilation fails everytime julia v1.10 is restarted. HOT 10
- Using preconditioners in the adjoints of a linear solve HOT 1
- Fix Enzyme integration following minimal example HOT 2
- Allow Metal 1.0? HOT 5
- Krylov not converting to vector HOT 1
- LinearSolve with SciMLSensitivity Solution Handling Requires sol.u HOT 1
- Ginkgo wrapper
- Direct and Iterative eigensolvers
- Don't select an algorithm for SVDFactorization HOT 3
- `QRFactorization` throws when given singular matrices HOT 1
- Which solver was actuallly used? HOT 1
- add choleskyqr factorization methods HOT 2
- LinearSolve with PardisoJL() doesn't return the expected result HOT 2
- Custom linear solve documentation HOT 1
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 linearsolve.jl.