PRODUCTS
Products Overview
Mathematica
Mathematica Student Edition
Mathematica Home Edition
Wolfram
CDF Player
(free download)
Computable Document Format (CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
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
Merchandise
SUPPORT
Support Overview
Mathematica
Documentation
Knowledge Base
Learning Center
Technical Services
Community & Forums
Training
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
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
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