Documentation : Introduction to Sparse Matrices in Scilab

Documentation : Introduction to Sparse Matrices in Scilab Commit Details

Date:2011-10-25 12:57:50 (6 years 10 months ago)
Author:Michael Baudin
Commit:19
Parents: 18
Message:
Changes:
M/en_US/scilab.sparse.bib
M/en_US/scisparse.tex

File differences

en_US/scisparse.tex
1212
1313
1414
15
16
17
18
19
20
21
22
23
24
2515
26
27
16
17
2818
2919
3020
3121
32
33
34
35
36
3722
3823
3924
......
8570
8671
8772
88
73
8974
9075
9176
......
12131198
12141199
12151200
1216
1201
12171202
12181203
12191204
......
15341519
15351520
15361521
1537
1522
15381523
15391524
15401525
15411526
1542
1543
15441527
15451528
15461529
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
5454
5555
5656
57
57
5858
5959
6060
6161
6262
6363
64
64
6565
6666
6767
......
6969
7070
7171
72
72
7373
7474
7575
7676
7777
7878
79
79
8080
8181
8282
8383
8484
8585
86
86
8787
8888
@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/}}
}

Archive Download the corresponding diff file

Revision: 19