![]() I think it is optimized for minimizing data storage, not matrix multiplication. ![]() I will warn you that I find Matlab does not do so well taking products of sparse matrices. To create block arrays and perform a binary operation in a single pass, use bsxfun.In some cases, bsxfun provides a simpler and more memory efficient solution. It is then a question of how-sparse you start with vs. To build block arrays by forming the tensor product of the input with an array of ones, use kron.For example, to stack the row vector A 1:3 four times vertically, you can use B kron(A,ones(4,1)). ![]() Now get (say from a truncated power series) a polynomial that is close enough for your purposes to the actual exponential on the spectrum of your matrix.Įven if you can't figure which matrix elements of the answer you will zero-out, if you can accept a modest error and so deal with a polynomial of relatively small degree, then you are just needing to compute several powers of a sparse matrix. To arrange A and B as two rows of a matrix, use the semicolon. For example, concatenate two row vectors to make an even longer row vector. ![]() Van Loan, Nineteen Dubious Ways to Compute the Exponential of a Matrix, SIAM Review 20, 1978, pp. This way of creating a matrix is called concatenation. This norm estimate, rounded up a bit for good measure, tells you where the spectrum of your matrix sits. This MATLAB function computes the matrix exponential of X. The code there simplifies in the case $p=2$, which is the case you want. In other languages see: "Estimating the matrix p-norm" by Nicholas J. To decide what polynomial to use, I would suggest you get an approximation of the operator norm. If your graph is related to a surface, you have an idea of how far apart on the graph two vertices need to be before they can be neglected. If you have some way of determining a priori which matrix elements will be small, you can compute a polynomial of the matrix quickly. Much of the paper covers continuous functions applied to sparse hermitian matrices. The paper has applications that go beyond what the title indicates. Here we discuss the 3 exponent functions offered by MATLAB: exp, expint and expm, along with the examples.Have a look at a recent paper discussing how matrix sparseness and locality go together: "Decay Properties of Spectral Projectors with Applications to Electronic Structure" by Benzi et al.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |