# Documentation : Introduction to Sparse Matrices in Scilab Commit Details

Date: 2011-10-25 12:57:50 (6 years 10 months ago) Michael Baudin 19 18

## File differences

en_US/scisparse.tex
 12 12 13 13 14 14 15 16 17 18 19 20 21 22 23 24 25 15 26 27 16 17 28 18 29 19 30 20 31 21 32 33 34 35 36 37 22 38 23 39 24 ... ... 85 70 86 71 87 72 88 73 89 74 90 75 91 76 ... ... 1213 1198 1214 1199 1215 1200 1216 1201 1217 1202 1218 1203 1219 1204 ... ... 1534 1519 1535 1520 1536 1521 1537 1522 1538 1523 1539 1524 1540 1525 1541 1526 1542 1543 1544 1527 1545 1528 1546 1529
 Huge sparse matrices often appear in science or engineering when solving ␍␊ partial differential equations.␍␊ ␍␊ When storing and manipulating sparse matrices on a computer, it is ␍␊ beneficial and often necessary to use specialized algorithms and data ␍␊ structures that take advantage of the sparse structure of the matrix. ␍␊ Operations using standard dense matrix structures and algorithms are ␍␊ slow and consume large amounts of memory when applied to large sparse ␍␊ matrices. Sparse data is by nature easily compressed, and this ␍␊ compression almost always results in significantly less computer data ␍␊ storage usage. Indeed, some very large sparse matrices are infeasible to ␍␊ manipulate with the standard dense algorithms.␍␊ ␍␊ Scilab provides several features to manage sparse matrices and ␍␊ perform usual linear algebra operations on them. These ␍␊ operations includes all the basic linear algebra including addition, ␍␊ perform usual linear algebra operations on them. ␍␊ These operations includes all the basic linear algebra including addition, ␍␊ dot product, transpose and the matrix vector product. ␍␊ For these basic operations, we do not make any difference in a ␍␊ script managing a dense matrix and a script managing a sparse matrix.␍␊ ␍␊ Higher level operations include solving linear systems of equations, ␍␊ computing some of their eigenvalues or computing some decompositions (e.g. Cholesky).␍␊ The usual functions, such as the \scifun{lu} or \scifun{chol} functions, do not ␍␊ work with sparse matrices and special sparse functions must be used.␍␊ ␍␊ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%␍␊ \subsection{Note on this document}␍␊ ␍␊ using the Implicitly Restarted Arnoldi Method.␍␊ \end{itemize}␍␊ ␍␊ Several file formats allows to manage sparse matrices. ␍␊ Scilab manages several file formats read and write sparse matrices. ␍␊ \begin{itemize}␍␊ \item Scilab is able to read matrices in the Harwell-Boeing format, thanks to the ␍␊ ReadHBSparse function of the Umfpack module.␍␊ conditions and are interested in the numerical solution based on ␍␊ finite differences.␍␊ ␍␊ We consider the 2 dimensional problem Partial Differential Equation:␍␊ We consider the 2 dimensional Partial Differential Equation:␍␊ ␍␊ \begin{array}{rlll}␍␊ - \Delta u &=& f &\textrm{ in the domain,} \\␍␊ This limitation should be removed once the \emph{spilu} module is ready for a release.␍␊ ␍␊ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%␍␊ \subsection{The Imsls toolbox}␍␊ \section{The Imsls toolbox}␍␊ ␍␊ The Imsls toolbox provides iterative methods for sparse linear systems ␍␊ of equations.␍␊ ␍␊ The Imsls module provides iterative methods for sparse linear systems ␍␊ of equations. ␍␊ More precisely, it provides functions to find $x$ such that $Ax=b$, ␍␊ where $A$ is a n-by-n matrix of doubles and $b$ is a n-by-1 matrix of doubles. ␍␊ Although these functions can manage full matrices, it is mainly ␍␊
en_US/scilab.sparse.bib
 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 ... ... 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88
 @UNPUBLISHED{wikiPoissonPDE,␍␊ author = {Michael Baudin, The Scilab Consortium},␍␊ year = {2011}, ␍␊ title = {Solving Poisson PDE with Sparse Matrices},␍␊ title = {Solving Poisson {PDE} with Sparse Matrices},␍␊ note = {\url{http://wiki.scilab.org}}␍␊ }␍␊ ␍␊ @UNPUBLISHED{Sharmar2010,␍␊ author = {Neeraj Sharma and Matthias K. Gobbert},␍␊ year = {2010}, ␍␊ title = {A Comparative Evaluation Of Matlab, Octave, Freemat, And Scilab For Research And Teaching},␍␊ title = {A Comparative Evaluation Of {M}atlab, {O}ctave, {F}reemat, And {S}cilab For Research And Teaching},␍␊ note = {\url{http://userpages.umbc.edu/~gobbert/papers/SharmaGobbertTR2010.pdf}}␍␊ }␍␊ ␍␊ author = {Fran\c{c}ois Delebecque and Carlos Klimann and Serge Steer},␍␊ year = {1989}, ␍␊ publisher = {INRIA}, ␍␊ title = {Basile, un syst? de CAO pour l'automatique, version 3.0 : guide d'utilisation}␍␊ title = {Basile, un syst\`eme de {CAO} pour l'automatique, version 3.0 : guide d'utilisation}␍␊ }␍␊ ␍␊ @UNPUBLISHED{Pincon2004,␍␊ author = {Bruno Pincon and Karim Ramdani},␍␊ year = {2004}, ␍␊ publisher = {IEEE International Symposium on Computer Aided Control Systems Design}, ␍␊ title = {Scilab tools for PDE : Application to time-reversal},␍␊ title = {Scilab tools for {PDE} : Application to time-reversal},␍␊ note = {\url{http://www.iecn.u-nancy.fr/~pincon/scilab/expose_taiwan.pdf}}␍␊ }␍␊ ␍␊ @UNPUBLISHED{BaudinProgSci2011,␍␊ author = {Michael Baudin, Consortium Scilab - DIGITEO},␍␊ year = {2011}, ␍␊ title = {Programming in Scilab},␍␊ title = {Programming in {S}cilab},␍␊ note = {\url{http://forge.scilab.org/index.php/p/docprogscilab/downloads/}}␍␊ }␍␊

Revision: 19