PRODUCTS
Products Overview
Mathematica
Mathematica for Students
Mathematica Home Edition
Wolfram
CDF Player
(free download)
Computable Document Format (CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Mathematica
Add-Ons
Wolfram|Alpha Products
SOLUTIONS
Solutions Overview
Engineering
Aerospace Engineering & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Materials Science
Mechanical Engineering
Operations Research
Optics
Petroleum Engineering
Biotechnology & Medicine
Bioinformatics
Medical Imaging
Finance, Statistics & Business Analysis
Actuarial Sciences
Data Analysis & Mining
Econometrics
Economics
Financial Engineering & Mathematics
Financial Risk Management
Statistics
Software Engineering & Content Delivery
Authoring & Publishing
Interface Development
Software Engineering
Web Development
Science
Astronomy
Biological Sciences
Chemistry
Environmental Sciences
Geosciences
Social & Behavioral Sciences
Design, Arts & Entertainment
Game Design, Special Effects & Generative Art
Education
STEM Education Initiative
Higher Education
Community & Technical College Education
Primary & Secondary Education
Students
Technology
Computable Document Format (CDF)
High-Performance & Parallel Computing (HPC)
See Also: Technology Guide
PURCHASE
Online Store
Other Ways to Buy
Volume & Site Licensing
Contact Sales
Software
Service
Upgrades
Training
Books
SUPPORT
Support Overview
Knowledge Base
Learning Center
Community & Forums
Training & Free Seminars
Does My Site Have a License?
Wolfram User Portal
COMPANY
About Wolfram Research
News & Events
Wolfram Blog
Partnerships
Employment Opportunities
History of
Mathematica
Stephen Wolfram's Home Page
Contact Us
OUR SITES
All Sites
Wolfram|Alpha
Demonstrations Project
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
Mathematics and Algorithms
>
Matrices and Linear Algebra
>
Sparse Arrays
>
ArrayRules
>
Mathematica
>
Mathematics and Algorithms
>
Graphs & Networks
>
Constructing Graphs
>
Graphs and Matrices
>
Sparse Arrays
>
ArrayRules
>
Mathematica
>
Mathematics and Algorithms
>
Graphs & Networks
>
Graph Programming
>
Matrices and Linear Algebra
>
Sparse Arrays
>
ArrayRules
>
BUILT-IN MATHEMATICA SYMBOL
Getting and Setting Pieces of Matrices
Sparse Arrays: Manipulating Lists
Sparse Arrays: Linear Algebra
Tutorials »
|
SparseArray
Position
Normal
See Also »
|
Elements of Lists
Matrices and Linear Algebra
Parts of Matrices
Sparse Arrays
More About »
ArrayRules
ArrayRules
[
SparseArray
[
...
]]
gives the rules
specifying elements in a sparse array.
ArrayRules
[
list
]
gives rules for
SparseArray
[
list
]
.
MORE INFORMATION
The last element of
ArrayRules
[
s
]
is always
, where
def
is the default value for unspecified elements in the sparse array.
»
ArrayRules
takes the default value to be
val
.
»
ArrayRules
[
list
]
assumes a default value of 0.
»
EXAMPLES
CLOSE ALL
Basic Examples
(1)
Get the explicit elements in a
SparseArray
:
These rules are sufficient to efficiently construct an identical
SparseArray
:
Get the explicit elements in a
SparseArray
:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
These rules are sufficient to efficiently construct an identical
SparseArray
:
In[3]:=
Out[3]=
In[4]:=
Out[4]=
Scope
(2)
The last element of
ArrayRules
[
s
]
is always
:
A
SparseArray
with a default value of 2:
You can override this by explicitly specifying what default you would like:
These will construct a
SparseArray
identical to
SparseArray
[
m
,
Automatic
, 1]
:
Positions of 1 in an explicit array with the default taken to be 0:
These will construct a
SparseArray
identical to
SparseArray
[
a
]
:
Positions of 0 with 1 taken as default:
These will construct a
SparseArray
identical to
SparseArray
[
a
,
Automatic
, 1]
:
Applications
(4)
Get the number of explicit elements in a
SparseArray
:
Get the explicit elements of a sparse array satisfying a condition:
Note the more complicated pattern is needed since
Cases
has special behavior for
Rule
:
SparseArray
objects with positive and negative values:
Get the upper and lower triangular parts of a sparse matrix:
Lower triangular part with 1s on the diagonal:
This just happens to be the LU decomposition of a tridiagonal matrix:
Make a plot showing the positions of the explicit elements of a
SparseArray
with tooltips:
MatrixPlot
generally makes a visually better plot:
Properties & Relations
(2)
For a
SparseArray
s
,
SparseArray
[ArrayRules[
s
],
Dimensions
[
s
]]
is identical to
s
:
Specifying the dimensions is needed since they would be inferred from explicit elements:
For an explicit array
ArrayRules
can be written in terms of
Position
:
This will not work for
SparseArray
objects because pattern matching works on the
FullForm
:
SEE ALSO
SparseArray
Position
Normal
TUTORIALS
Getting and Setting Pieces of Matrices
Sparse Arrays: Manipulating Lists
Sparse Arrays: Linear Algebra
MORE ABOUT
Elements of Lists
Matrices and Linear Algebra
Parts of Matrices
Sparse Arrays
New in 5