[Excerpted from SMTH] Sprusted Matrix Seeking Reverse Discussion

xiaoxiao2021-03-06  141

Sender: Lingruoxuan (Lingruoxuan), Write Region: Num_Analysis Title: [Excerpted from SMTH] Sproduct Running Reverse Discussion Send Station: Sun Moonlight (April 11, 2004 21:05:20 Wednesday), station letter

Source: http://bbs.smth.edu.cn Numcomp Shuimu Tsinghua Numerical Edition [Collection] Matlab seems to have no special way for the sparse matrix in reverse, is it still Gaussian? That large-scale is not asking for death, help gmresbicgbicgstabcgsqmr ....... >> Gauss is going to count the 10-order small matrix, it is a big problem! >> Inspired is to use solve equation AX = i? >> The complexity of the reverse is always large, and it can be used as little use as a small use of AX = Ei (1 = > This seems to be the same as the complexity of an equation. The matrix is ​​a correct symmetrical sparse matrix, and now the situation is not only required, but also the dimension is very large. Trouble !> The symmetrical positive sparse matrix is ​​very good, you can use the lu decomposition. If the number of dimensions are too large, such as more than 10 ^ 4 levels, it can only be solved with an iterative method such as the conjugate gradient method. >> Do you think ll 'decomposition does not destroy the sparsiness of the matrix - If the matrix is ​​not a strip? And there is a problem with numerical stability. >> will create injection yuan, but generally not a lot, can be given in advance by prediction, and the sparse matrix is ​​retained. >> This seems to be very feasible, can you say carefully? >> This is a good office if the storage method of the two-dimensional chain table is good, and it is troublesome in Fortran 77, but it can be achieved. It is mainly to calculate the position of the injection element by incompletely simulating the LU decomposition process. I spent a long time for a long time to write a sparse matrix class library, which can be said that this method is used for solving linear equations, and it is used, and the module of memory management is made, and the overall effect is very good. However, the size of the sparse matrix in my field is generally not very large, generally will not exceed 10,000 dimensions. There is no more effectiveness in the number of dimensions. >> Well. . For some matrices that are not a lot of injection elements, this should be a good way. However, for some matrices, the entire matrix may be filled with the LU decomposition. ~ This is a relatively depressed thing. . >> Inspire is generally inevitable, there is no need to say more. However, the direct solution of the sparse matrix is ​​still a lot. Basically, reorder the matrix in order to reduce fill or computational quantity. In matlab, there are many algorithms that can be used: Colamd, colmmd, colperm, spPARMS, SYMAMD, SYMMMD, SYMRCM. According to whether it is symmetrical, LU decomposition or chol decomposition is used. These algorithms have a search on the Internet, there are many corresponding C or Fortran versions. The most common storage of the sparse matrix is ​​the compressed column (row) storage, recently detected that a Hash table is stored, and its access complexity is O (1), very good. Fortunately, you can see the following webpage, the author provides the source program. Http://www.informatik.hs-bremen.de/~brey/ >> For the strip-shaped sparse matrix some very clever data structures. At the same time, it is recommended that the website is still very rich. I don't know if someone is recommended in front. . http://math.nist.gov/matrixmarket/ >> In fact, the efficiency of the Hash table storage is also related to the Hash algorithm, if it is not good, it is not necessarily to travel directly or column

>> I don't know this. The program on that web page utilizes STL's HashTable and the two methods to implement, efficient or can be attached to programs. In addition, from the original intention of the Hash table, the greater the scale, the higher the efficiency. The access efficiency of the compressed column (line) is reduced as the scale increases. Hash table storage is directly used to calculate it is not too good. After all, the existing program is mostly stored with a compressed column. But it is convenient to use it, just like a sparse matrix in Matlab. And the mutual conversion of the Hash table and the compressed column is easy, and the existing sparse matrix package can be easily invoked. >> Dimension ratio or use incomplete lu decomprocessing CG OR GMRES I have been a matrix of 200W order >> A variety of preprocessing GMRES is now solving the main method of massive sparse matrices. . - >> The sky is still haze, >> >> There is still a pigeon in flying. >> ※ Source: · Sun Moonlight Bbs.fudan.edu.cn · [from: 10.85.12.89]

转载请注明原文地址:https://www.9cbs.com/read-127790.html

New Post(0)