<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>AbstractRealMatrix (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractRealMatrix (Apache Commons Math 3.3 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractRealMatrix.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/linear/AbstractFieldMatrix.html" title="class in org.apache.commons.math3.linear"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html" title="interface in org.apache.commons.math3.linear"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/linear/AbstractRealMatrix.html" target="_top">Frames</a></li>
<li><a href="AbstractRealMatrix.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.linear</div>
<h2 title="Class AbstractRealMatrix" class="title">Class AbstractRealMatrix</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html" title="class in org.apache.commons.math3.linear">org.apache.commons.math3.linear.RealLinearOperator</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.linear.AbstractRealMatrix</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html" title="interface in org.apache.commons.math3.linear">AnyMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/commons/math3/linear/Array2DRowRealMatrix.html" title="class in org.apache.commons.math3.linear">Array2DRowRealMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/DiagonalMatrix.html" title="class in org.apache.commons.math3.linear">DiagonalMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/OpenMapRealMatrix.html" title="class in org.apache.commons.math3.linear">OpenMapRealMatrix</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractRealMatrix</span>
extends <a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html" title="class in org.apache.commons.math3.linear">RealLinearOperator</a>
implements <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></pre>
<div class="block">Basic implementation of RealMatrix methods regardless of the underlying storage.
 <p>All the methods implemented here use <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getEntry(int, int)"><code>getEntry(int, int)</code></a> to access
 matrix elements. Derived class can provide faster implementations.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: AbstractRealMatrix.java 1459534 2013-03-21 21:24:45Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#AbstractRealMatrix()">AbstractRealMatrix</a></strong>()</code>
<div class="block">Creates a matrix with no data</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#AbstractRealMatrix(int, int)">AbstractRealMatrix</a></strong>(int&nbsp;rowDimension,
                  int&nbsp;columnDimension)</code>
<div class="block">Create a new RealMatrix with the supplied row and column dimensions.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#add(org.apache.commons.math3.linear.RealMatrix)">add</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)</code>
<div class="block">Returns the sum of <code>this</code> and <code>m</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#addToEntry(int, int, double)">addToEntry</a></strong>(int&nbsp;row,
          int&nbsp;column,
          double&nbsp;increment)</code>
<div class="block">Adds (in place) the specified value to the specified entry of
 <code>this</code> matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#copy()">copy</a></strong>()</code>
<div class="block">Returns a (deep) copy of this.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#copySubMatrix(int[], int[], double[][])">copySubMatrix</a></strong>(int[]&nbsp;selectedRows,
             int[]&nbsp;selectedColumns,
             double[][]&nbsp;destination)</code>
<div class="block">Copy a submatrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#copySubMatrix(int, int, int, int, double[][])">copySubMatrix</a></strong>(int&nbsp;startRow,
             int&nbsp;endRow,
             int&nbsp;startColumn,
             int&nbsp;endColumn,
             double[][]&nbsp;destination)</code>
<div class="block">Copy a submatrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#createMatrix(int, int)">createMatrix</a></strong>(int&nbsp;rowDimension,
            int&nbsp;columnDimension)</code>
<div class="block">Create a new RealMatrix of the same type as the instance with the
 supplied
 row and column dimensions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#equals(java.lang.Object)">equals</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</code>
<div class="block">Returns true iff <code>object</code> is a
 <code>RealMatrix</code> instance with the same dimensions as this
 and all corresponding matrix entries are equal.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumn(int)">getColumn</a></strong>(int&nbsp;column)</code>
<div class="block">Get the entries at the given column index as an array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumnDimension()">getColumnDimension</a></strong>()</code>
<div class="block">Returns the number of columns of this matrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumnMatrix(int)">getColumnMatrix</a></strong>(int&nbsp;column)</code>
<div class="block">Get the entries at the given column index as a column matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumnVector(int)">getColumnVector</a></strong>(int&nbsp;column)</code>
<div class="block">Get the entries at the given column index as a vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double[][]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getData()">getData</a></strong>()</code>
<div class="block">Returns matrix entries as a two-dimensional array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getEntry(int, int)">getEntry</a></strong>(int&nbsp;row,
        int&nbsp;column)</code>
<div class="block">Get the entry in the specified row and column.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getFrobeniusNorm()">getFrobeniusNorm</a></strong>()</code>
<div class="block">Returns the <a href="http://mathworld.wolfram.com/FrobeniusNorm.html">
 Frobenius norm</a> of the matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getNorm()">getNorm</a></strong>()</code>
<div class="block">Returns the <a href="http://mathworld.wolfram.com/MaximumAbsoluteRowSumNorm.html">
 maximum absolute row sum norm</a> of the matrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRow(int)">getRow</a></strong>(int&nbsp;row)</code>
<div class="block">Get the entries at the given row index.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRowDimension()">getRowDimension</a></strong>()</code>
<div class="block">Returns the number of rows of this matrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRowMatrix(int)">getRowMatrix</a></strong>(int&nbsp;row)</code>
<div class="block">Get the entries at the given row index as a row matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRowVector(int)">getRowVector</a></strong>(int&nbsp;row)</code>
<div class="block">Returns the entries in row number <code>row</code> as a vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getSubMatrix(int[], int[])">getSubMatrix</a></strong>(int[]&nbsp;selectedRows,
            int[]&nbsp;selectedColumns)</code>
<div class="block">Gets a submatrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getSubMatrix(int, int, int, int)">getSubMatrix</a></strong>(int&nbsp;startRow,
            int&nbsp;endRow,
            int&nbsp;startColumn,
            int&nbsp;endColumn)</code>
<div class="block">Gets a submatrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getTrace()">getTrace</a></strong>()</code>
<div class="block">Returns the <a href="http://mathworld.wolfram.com/MatrixTrace.html">
 trace</a> of the matrix (the sum of the elements on the main diagonal).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#hashCode()">hashCode</a></strong>()</code>
<div class="block">Computes a hashcode for the matrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#isSquare()">isSquare</a></strong>()</code>
<div class="block">Is this a square matrix?</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#multiply(org.apache.commons.math3.linear.RealMatrix)">multiply</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)</code>
<div class="block">Returns the result of postmultiplying <code>this</code> by <code>m</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#multiplyEntry(int, int, double)">multiplyEntry</a></strong>(int&nbsp;row,
             int&nbsp;column,
             double&nbsp;factor)</code>
<div class="block">Multiplies (in place) the specified entry of <code>this</code> matrix by the
 specified value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#operate(double[])">operate</a></strong>(double[]&nbsp;v)</code>
<div class="block">Returns the result of multiplying this by the vector <code>v</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#operate(org.apache.commons.math3.linear.RealVector)">operate</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;v)</code>
<div class="block">Returns the result of multiplying <code>this</code> by the vector <code>x</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#power(int)">power</a></strong>(int&nbsp;p)</code>
<div class="block">Returns the result of multiplying <code>this</code> with itself <code>p</code>
 times.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#preMultiply(double[])">preMultiply</a></strong>(double[]&nbsp;v)</code>
<div class="block">Returns the (row) vector result of premultiplying this by the vector <code>v</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#preMultiply(org.apache.commons.math3.linear.RealMatrix)">preMultiply</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)</code>
<div class="block">Returns the result of premultiplying <code>this</code> by <code>m</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#preMultiply(org.apache.commons.math3.linear.RealVector)">preMultiply</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;v)</code>
<div class="block">Returns the (row) vector result of premultiplying this by the vector <code>v</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#scalarAdd(double)">scalarAdd</a></strong>(double&nbsp;d)</code>
<div class="block">Returns the result of adding <code>d</code> to each entry of <code>this</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#scalarMultiply(double)">scalarMultiply</a></strong>(double&nbsp;d)</code>
<div class="block">Returns the result of multiplying each entry of <code>this</code> by
 <code>d</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setColumn(int, double[])">setColumn</a></strong>(int&nbsp;column,
         double[]&nbsp;array)</code>
<div class="block">Sets the specified <code>column</code> of <code>this</code> matrix to the entries
 of the specified <code>array</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setColumnMatrix(int, org.apache.commons.math3.linear.RealMatrix)">setColumnMatrix</a></strong>(int&nbsp;column,
               <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)</code>
<div class="block">Sets the specified <code>column</code> of <code>this</code> matrix to the entries
 of the specified column <code>matrix</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setColumnVector(int, org.apache.commons.math3.linear.RealVector)">setColumnVector</a></strong>(int&nbsp;column,
               <a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;vector)</code>
<div class="block">Sets the specified <code>column</code> of <code>this</code> matrix to the entries
 of the specified <code>vector</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setEntry(int, int, double)">setEntry</a></strong>(int&nbsp;row,
        int&nbsp;column,
        double&nbsp;value)</code>
<div class="block">Set the entry in the specified row and column.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setRow(int, double[])">setRow</a></strong>(int&nbsp;row,
      double[]&nbsp;array)</code>
<div class="block">Sets the specified <code>row</code> of <code>this</code> matrix to the entries
 of the specified <code>array</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setRowMatrix(int, org.apache.commons.math3.linear.RealMatrix)">setRowMatrix</a></strong>(int&nbsp;row,
            <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)</code>
<div class="block">Sets the specified <code>row</code> of <code>this</code> matrix to the entries of
 the specified row <code>matrix</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setRowVector(int, org.apache.commons.math3.linear.RealVector)">setRowVector</a></strong>(int&nbsp;row,
            <a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;vector)</code>
<div class="block">Sets the specified <code>row</code> of <code>this</code> matrix to the entries of
 the specified <code>vector</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setSubMatrix(double[][], int, int)">setSubMatrix</a></strong>(double[][]&nbsp;subMatrix,
            int&nbsp;row,
            int&nbsp;column)</code>
<div class="block">Replace the submatrix starting at <code>row, column</code> using data in the
 input <code>subMatrix</code> array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#subtract(org.apache.commons.math3.linear.RealMatrix)">subtract</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)</code>
<div class="block">Returns <code>this</code> minus <code>m</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#toString()">toString</a></strong>()</code>
<div class="block">Get a string representation for this matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#transpose()">transpose</a></strong>()</code>
<div class="block">Returns the transpose of this matrix.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInColumnOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor)</code>
<div class="block">Visit (and possibly change) all matrix entries in column order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInColumnOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor,
                 int&nbsp;startRow,
                 int&nbsp;endRow,
                 int&nbsp;startColumn,
                 int&nbsp;endColumn)</code>
<div class="block">Visit (and possibly change) some matrix entries in column order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInColumnOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor)</code>
<div class="block">Visit (but don't change) all matrix entries in column order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInColumnOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor,
                 int&nbsp;startRow,
                 int&nbsp;endRow,
                 int&nbsp;startColumn,
                 int&nbsp;endColumn)</code>
<div class="block">Visit (but don't change) some matrix entries in column order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInOptimizedOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor)</code>
<div class="block">Visit (and possibly change) all matrix entries using the fastest possible order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInOptimizedOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor,
                    int&nbsp;startRow,
                    int&nbsp;endRow,
                    int&nbsp;startColumn,
                    int&nbsp;endColumn)</code>
<div class="block">Visit (and possibly change) some matrix entries using the fastest possible order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInOptimizedOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor)</code>
<div class="block">Visit (but don't change) all matrix entries using the fastest possible order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInOptimizedOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor,
                    int&nbsp;startRow,
                    int&nbsp;endRow,
                    int&nbsp;startColumn,
                    int&nbsp;endColumn)</code>
<div class="block">Visit (but don't change) some matrix entries using the fastest possible order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInRowOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor)</code>
<div class="block">Visit (and possibly change) all matrix entries in row order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInRowOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor,
              int&nbsp;startRow,
              int&nbsp;endRow,
              int&nbsp;startColumn,
              int&nbsp;endColumn)</code>
<div class="block">Visit (and possibly change) some matrix entries in row order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInRowOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor)</code>
<div class="block">Visit (but don't change) all matrix entries in row order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInRowOrder</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor,
              int&nbsp;startRow,
              int&nbsp;endRow,
              int&nbsp;startColumn,
              int&nbsp;endColumn)</code>
<div class="block">Visit (but don't change) some matrix entries in row order.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.linear.RealLinearOperator">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.linear.<a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html" title="class in org.apache.commons.math3.linear">RealLinearOperator</a></h3>
<code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html#isTransposable()">isTransposable</a>, <a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html#operateTranspose(org.apache.commons.math3.linear.RealVector)">operateTranspose</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractRealMatrix()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractRealMatrix</h4>
<pre>protected&nbsp;AbstractRealMatrix()</pre>
<div class="block">Creates a matrix with no data</div>
</li>
</ul>
<a name="AbstractRealMatrix(int, int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractRealMatrix</h4>
<pre>protected&nbsp;AbstractRealMatrix(int&nbsp;rowDimension,
                  int&nbsp;columnDimension)
                      throws <a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></pre>
<div class="block">Create a new RealMatrix with the supplied row and column dimensions.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rowDimension</code> - the number of rows in the new matrix</dd><dd><code>columnDimension</code> - the number of columns in the new matrix</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if row or column dimension is not positive</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="add(org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;add(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)
               throws <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Returns the sum of <code>this</code> and <code>m</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#add(org.apache.commons.math3.linear.RealMatrix)">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>m</code> - matrix to be added</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this + m</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if <code>m</code> is not the same
 size as <code>this</code>.</dd></dl>
</li>
</ul>
<a name="subtract(org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>subtract</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;subtract(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)
                    throws <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Returns <code>this</code> minus <code>m</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#subtract(org.apache.commons.math3.linear.RealMatrix)">subtract</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>m</code> - matrix to be subtracted</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this - m</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if <code>m</code> is not the same
 size as <code>this</code>.</dd></dl>
</li>
</ul>
<a name="scalarAdd(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarAdd</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;scalarAdd(double&nbsp;d)</pre>
<div class="block">Returns the result of adding <code>d</code> to each entry of <code>this</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#scalarAdd(double)">scalarAdd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>d</code> - value to be added to each entry</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>d + this</code></dd></dl>
</li>
</ul>
<a name="scalarMultiply(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarMultiply</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;scalarMultiply(double&nbsp;d)</pre>
<div class="block">Returns the result of multiplying each entry of <code>this</code> by
 <code>d</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#scalarMultiply(double)">scalarMultiply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>d</code> - value to multiply all entries by</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>d * this</code></dd></dl>
</li>
</ul>
<a name="multiply(org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiply</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;multiply(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)
                    throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Returns the result of postmultiplying <code>this</code> by <code>m</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#multiply(org.apache.commons.math3.linear.RealMatrix)">multiply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>m</code> - matrix to postmultiply by</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this * m</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if
 <code>columnDimension(this) != rowDimension(m)</code></dd></dl>
</li>
</ul>
<a name="preMultiply(org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preMultiply</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;preMultiply(<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;m)
                       throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Returns the result of premultiplying <code>this</code> by <code>m</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#preMultiply(org.apache.commons.math3.linear.RealMatrix)">preMultiply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>m</code> - matrix to premultiply by</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>m * this</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if
 <code>rowDimension(this) != columnDimension(m)</code></dd></dl>
</li>
</ul>
<a name="power(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>power</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;power(int&nbsp;p)
                 throws <a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>,
                        <a href="../../../../../org/apache/commons/math3/linear/NonSquareMatrixException.html" title="class in org.apache.commons.math3.linear">NonSquareMatrixException</a></pre>
<div class="block">Returns the result of multiplying <code>this</code> with itself <code>p</code>
 times. Depending on the underlying storage, instability for high powers
 might occur.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#power(int)">power</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - raise <code>this</code> to power <code>p</code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this^p</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if <code>p &lt; 0</code></dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/NonSquareMatrixException.html" title="class in org.apache.commons.math3.linear">NonSquareMatrixException</a></code> - if the matrix is not square</dd></dl>
</li>
</ul>
<a name="getData()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getData</h4>
<pre>public&nbsp;double[][]&nbsp;getData()</pre>
<div class="block">Returns matrix entries as a two-dimensional array.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getData()">getData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>2-dimensional array of entries</dd></dl>
</li>
</ul>
<a name="getNorm()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNorm</h4>
<pre>public&nbsp;double&nbsp;getNorm()</pre>
<div class="block">Returns the <a href="http://mathworld.wolfram.com/MaximumAbsoluteRowSumNorm.html">
 maximum absolute row sum norm</a> of the matrix.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getNorm()">getNorm</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>norm</dd></dl>
</li>
</ul>
<a name="getFrobeniusNorm()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFrobeniusNorm</h4>
<pre>public&nbsp;double&nbsp;getFrobeniusNorm()</pre>
<div class="block">Returns the <a href="http://mathworld.wolfram.com/FrobeniusNorm.html">
 Frobenius norm</a> of the matrix.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getFrobeniusNorm()">getFrobeniusNorm</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>norm</dd></dl>
</li>
</ul>
<a name="getSubMatrix(int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSubMatrix</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;getSubMatrix(int&nbsp;startRow,
                      int&nbsp;endRow,
                      int&nbsp;startColumn,
                      int&nbsp;endColumn)
                        throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                               <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Gets a submatrix. Rows and columns are indicated
 counting from 0 to n-1.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getSubMatrix(int, int, int, int)">getSubMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index (inclusive)</dd>
<dt><span class="strong">Returns:</span></dt><dd>The subMatrix containing the data of the
 specified rows and columns.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd></dl>
</li>
</ul>
<a name="getSubMatrix(int[], int[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSubMatrix</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;getSubMatrix(int[]&nbsp;selectedRows,
                      int[]&nbsp;selectedColumns)
                        throws <a href="../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a>,
                               <a href="../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a>,
                               <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Gets a submatrix. Rows and columns are indicated counting from 0 to n-1.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getSubMatrix(int[], int[])">getSubMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>selectedRows</code> - Array of row indices.</dd><dd><code>selectedColumns</code> - Array of column indices.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The subMatrix containing the data in the specified rows and
 columns</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if the row or column selections are
 <code>null</code></dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></code> - if the row or column selections are empty (zero
 length).</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd></dl>
</li>
</ul>
<a name="copySubMatrix(int, int, int, int, double[][])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copySubMatrix</h4>
<pre>public&nbsp;void&nbsp;copySubMatrix(int&nbsp;startRow,
                 int&nbsp;endRow,
                 int&nbsp;startColumn,
                 int&nbsp;endColumn,
                 double[][]&nbsp;destination)
                   throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                          <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a>,
                          <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Copy a submatrix. Rows and columns are indicated counting from 0 to n-1.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#copySubMatrix(int, int, int, int, double[][])">copySubMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index (inclusive)</dd><dd><code>destination</code> - The arrays where the submatrix data should be copied
 (if larger than rows/columns counts, only the upper-left part will be
 used)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the destination array is too
 small.</dd></dl>
</li>
</ul>
<a name="copySubMatrix(int[], int[], double[][])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copySubMatrix</h4>
<pre>public&nbsp;void&nbsp;copySubMatrix(int[]&nbsp;selectedRows,
                 int[]&nbsp;selectedColumns,
                 double[][]&nbsp;destination)
                   throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                          <a href="../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a>,
                          <a href="../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a>,
                          <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Copy a submatrix. Rows and columns are indicated counting from 0 to n-1.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#copySubMatrix(int[], int[], double[][])">copySubMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>selectedRows</code> - Array of row indices.</dd><dd><code>selectedColumns</code> - Array of column indices.</dd><dd><code>destination</code> - The arrays where the submatrix data should be copied
 (if larger than rows/columns counts, only the upper-left part will be
 used)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if the row or column selections are
 <code>null</code></dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></code> - if the row or column selections are empty (zero
 length).</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the destination array is too
 small.</dd></dl>
</li>
</ul>
<a name="setSubMatrix(double[][], int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSubMatrix</h4>
<pre>public&nbsp;void&nbsp;setSubMatrix(double[][]&nbsp;subMatrix,
                int&nbsp;row,
                int&nbsp;column)
                  throws <a href="../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a>,
                         <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                         <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
                         <a href="../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></pre>
<div class="block">Replace the submatrix starting at <code>row, column</code> using data in the
 input <code>subMatrix</code> array. Indexes are 0-based.
 <p>
 Example:<br>
 Starting with <pre>
 1  2  3  4
 5  6  7  8
 9  0  1  2
 </pre>
 and <code>subMatrix = {{3, 4} {5,6}}</code>, invoking
 <code>setSubMatrix(subMatrix,1,1))</code> will result in <pre>
 1  2  3  4
 5  3  4  8
 9  5  6  2
 </pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setSubMatrix(double[][], int, int)">setSubMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>subMatrix</code> - array containing the submatrix replacement data</dd><dd><code>row</code> - row coordinate of the top, left element to be replaced</dd><dd><code>column</code> - column coordinate of the top, left element to be replaced</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NoDataException.html" title="class in org.apache.commons.math3.exception">NoDataException</a></code> - if <code>subMatrix</code> is empty.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if <code>subMatrix</code> does not fit into
 this matrix from element in <code>(row, column)</code>.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if <code>subMatrix</code> is not rectangular
 (not all rows have the same length) or empty.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if <code>subMatrix</code> is <code>null</code>.</dd></dl>
</li>
</ul>
<a name="getRowMatrix(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowMatrix</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;getRowMatrix(int&nbsp;row)
                        throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Get the entries at the given row index as a row matrix.  Row indices start
 at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getRowMatrix(int)">getRowMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>row Matrix.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified row index is invalid.</dd></dl>
</li>
</ul>
<a name="setRowMatrix(int, org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRowMatrix</h4>
<pre>public&nbsp;void&nbsp;setRowMatrix(int&nbsp;row,
                <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)
                  throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                         <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Sets the specified <code>row</code> of <code>this</code> matrix to the entries of
 the specified row <code>matrix</code>. Row indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setRowMatrix(int, org.apache.commons.math3.linear.RealMatrix)">setRowMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to be set.</dd><dd><code>matrix</code> - Row matrix to be copied (must have one row and the same
 number of columns as the instance).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified row index is invalid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the row dimension of the
 <code>matrix</code> is not <code>1</code>, or the column dimensions of <code>this</code>
 and <code>matrix</code> do not match.</dd></dl>
</li>
</ul>
<a name="getColumnMatrix(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnMatrix</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;getColumnMatrix(int&nbsp;column)
                           throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Get the entries at the given column index as a column matrix. Column
 indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getColumnMatrix(int)">getColumnMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>column Matrix.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified column index is invalid.</dd></dl>
</li>
</ul>
<a name="setColumnMatrix(int, org.apache.commons.math3.linear.RealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setColumnMatrix</h4>
<pre>public&nbsp;void&nbsp;setColumnMatrix(int&nbsp;column,
                   <a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;matrix)
                     throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                            <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Sets the specified <code>column</code> of <code>this</code> matrix to the entries
 of the specified column <code>matrix</code>. Column indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setColumnMatrix(int, org.apache.commons.math3.linear.RealMatrix)">setColumnMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column to be set.</dd><dd><code>matrix</code> - Column matrix to be copied (must have one column and the
 same number of rows as the instance).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified column index is invalid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the column dimension of the
 <code>matrix</code> is not <code>1</code>, or the row dimensions of <code>this</code>
 and <code>matrix</code> do not match.</dd></dl>
</li>
</ul>
<a name="getRowVector(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowVector</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;getRowVector(int&nbsp;row)
                        throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Returns the entries in row number <code>row</code> as a vector. Row indices
 start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getRowVector(int)">getRowVector</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a row vector.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified row index is invalid.</dd></dl>
</li>
</ul>
<a name="setRowVector(int, org.apache.commons.math3.linear.RealVector)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRowVector</h4>
<pre>public&nbsp;void&nbsp;setRowVector(int&nbsp;row,
                <a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;vector)
                  throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                         <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Sets the specified <code>row</code> of <code>this</code> matrix to the entries of
 the specified <code>vector</code>. Row indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setRowVector(int, org.apache.commons.math3.linear.RealVector)">setRowVector</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to be set.</dd><dd><code>vector</code> - row vector to be copied (must have the same number of
 column as the instance).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified row index is invalid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the <code>vector</code> dimension
 does not match the column dimension of <code>this</code> matrix.</dd></dl>
</li>
</ul>
<a name="getColumnVector(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnVector</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;getColumnVector(int&nbsp;column)
                           throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Get the entries at the given column index as a vector. Column indices
 start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getColumnVector(int)">getColumnVector</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a column vector.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified column index is invalid</dd></dl>
</li>
</ul>
<a name="setColumnVector(int, org.apache.commons.math3.linear.RealVector)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setColumnVector</h4>
<pre>public&nbsp;void&nbsp;setColumnVector(int&nbsp;column,
                   <a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;vector)
                     throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                            <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Sets the specified <code>column</code> of <code>this</code> matrix to the entries
 of the specified <code>vector</code>. Column indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setColumnVector(int, org.apache.commons.math3.linear.RealVector)">setColumnVector</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column to be set.</dd><dd><code>vector</code> - column vector to be copied (must have the same number of
 rows as the instance).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified column index is invalid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the <code>vector</code> dimension
 does not match the row dimension of <code>this</code> matrix.</dd></dl>
</li>
</ul>
<a name="getRow(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRow</h4>
<pre>public&nbsp;double[]&nbsp;getRow(int&nbsp;row)
                throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Get the entries at the given row index. Row indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getRow(int)">getRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the array of entries in the row.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified row index is not valid.</dd></dl>
</li>
</ul>
<a name="setRow(int, double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRow</h4>
<pre>public&nbsp;void&nbsp;setRow(int&nbsp;row,
          double[]&nbsp;array)
            throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                   <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Sets the specified <code>row</code> of <code>this</code> matrix to the entries
 of the specified <code>array</code>. Row indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setRow(int, double[])">setRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row to be set.</dd><dd><code>array</code> - Row matrix to be copied (must have the same number of
 columns as the instance)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified row index is invalid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the <code>array</code> length does
 not match the column dimension of <code>this</code> matrix.</dd></dl>
</li>
</ul>
<a name="getColumn(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumn</h4>
<pre>public&nbsp;double[]&nbsp;getColumn(int&nbsp;column)
                   throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Get the entries at the given column index as an array. Column indices
 start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getColumn(int)">getColumn</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the array of entries in the column.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified column index is not valid.</dd></dl>
</li>
</ul>
<a name="setColumn(int, double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setColumn</h4>
<pre>public&nbsp;void&nbsp;setColumn(int&nbsp;column,
             double[]&nbsp;array)
               throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                      <a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></pre>
<div class="block">Sets the specified <code>column</code> of <code>this</code> matrix to the entries
 of the specified <code>array</code>. Column indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setColumn(int, double[])">setColumn</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column to be set.</dd><dd><code>array</code> - Column array to be copied (must have the same number of
 rows as the instance).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the specified column index is invalid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/MatrixDimensionMismatchException.html" title="class in org.apache.commons.math3.linear">MatrixDimensionMismatchException</a></code> - if the <code>array</code> length does
 not match the row dimension of <code>this</code> matrix.</dd></dl>
</li>
</ul>
<a name="addToEntry(int, int, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addToEntry</h4>
<pre>public&nbsp;void&nbsp;addToEntry(int&nbsp;row,
              int&nbsp;column,
              double&nbsp;increment)
                throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Adds (in place) the specified value to the specified entry of
 <code>this</code> matrix. Row and column indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#addToEntry(int, int, double)">addToEntry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row index of the entry to be modified.</dd><dd><code>column</code> - Column index of the entry to be modified.</dd><dd><code>increment</code> - value to add to the matrix entry.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the row or column index is not valid.</dd></dl>
</li>
</ul>
<a name="multiplyEntry(int, int, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiplyEntry</h4>
<pre>public&nbsp;void&nbsp;multiplyEntry(int&nbsp;row,
                 int&nbsp;column,
                 double&nbsp;factor)
                   throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Multiplies (in place) the specified entry of <code>this</code> matrix by the
 specified value. Row and column indices start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#multiplyEntry(int, int, double)">multiplyEntry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row index of the entry to be modified.</dd><dd><code>column</code> - Column index of the entry to be modified.</dd><dd><code>factor</code> - Multiplication factor for the matrix entry.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the row or column index is not valid.</dd></dl>
</li>
</ul>
<a name="transpose()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transpose</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;transpose()</pre>
<div class="block">Returns the transpose of this matrix.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#transpose()">transpose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>transpose matrix</dd></dl>
</li>
</ul>
<a name="isSquare()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSquare</h4>
<pre>public&nbsp;boolean&nbsp;isSquare()</pre>
<div class="block">Is this a square matrix?</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html#isSquare()">isSquare</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html" title="interface in org.apache.commons.math3.linear">AnyMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the matrix is square (rowDimension = columnDimension)</dd></dl>
</li>
</ul>
<a name="getRowDimension()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowDimension</h4>
<pre>public abstract&nbsp;int&nbsp;getRowDimension()</pre>
<div class="block">Returns the number of rows of this matrix.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html#getRowDimension()">getRowDimension</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html" title="interface in org.apache.commons.math3.linear">AnyMatrix</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html#getRowDimension()">getRowDimension</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html" title="class in org.apache.commons.math3.linear">RealLinearOperator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of rows.</dd></dl>
</li>
</ul>
<a name="getColumnDimension()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnDimension</h4>
<pre>public abstract&nbsp;int&nbsp;getColumnDimension()</pre>
<div class="block">Returns the number of columns of this matrix.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html#getColumnDimension()">getColumnDimension</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html" title="interface in org.apache.commons.math3.linear">AnyMatrix</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html#getColumnDimension()">getColumnDimension</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html" title="class in org.apache.commons.math3.linear">RealLinearOperator</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of columns.</dd></dl>
</li>
</ul>
<a name="getTrace()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrace</h4>
<pre>public&nbsp;double&nbsp;getTrace()
                throws <a href="../../../../../org/apache/commons/math3/linear/NonSquareMatrixException.html" title="class in org.apache.commons.math3.linear">NonSquareMatrixException</a></pre>
<div class="block">Returns the <a href="http://mathworld.wolfram.com/MatrixTrace.html">
 trace</a> of the matrix (the sum of the elements on the main diagonal).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getTrace()">getTrace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the trace.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/NonSquareMatrixException.html" title="class in org.apache.commons.math3.linear">NonSquareMatrixException</a></code> - if the matrix is not square.</dd></dl>
</li>
</ul>
<a name="operate(double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operate</h4>
<pre>public&nbsp;double[]&nbsp;operate(double[]&nbsp;v)
                 throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Returns the result of multiplying this by the vector <code>v</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#operate(double[])">operate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the vector to operate on</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this * v</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the length of <code>v</code> does not
 match the column dimension of <code>this</code>.</dd></dl>
</li>
</ul>
<a name="operate(org.apache.commons.math3.linear.RealVector)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operate</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;operate(<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;v)
                   throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Returns the result of multiplying <code>this</code> by the vector <code>x</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#operate(org.apache.commons.math3.linear.RealVector)">operate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html#operate(org.apache.commons.math3.linear.RealVector)">operate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealLinearOperator.html" title="class in org.apache.commons.math3.linear">RealLinearOperator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the vector to operate on</dd>
<dt><span class="strong">Returns:</span></dt><dd>the product of <code>this</code> instance with <code>x</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the column dimension does not match
 the size of <code>x</code></dd></dl>
</li>
</ul>
<a name="preMultiply(double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preMultiply</h4>
<pre>public&nbsp;double[]&nbsp;preMultiply(double[]&nbsp;v)
                     throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Returns the (row) vector result of premultiplying this by the vector <code>v</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#preMultiply(double[])">preMultiply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the row vector to premultiply by</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>v * this</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the length of <code>v</code> does not
 match the row dimension of <code>this</code>.</dd></dl>
</li>
</ul>
<a name="preMultiply(org.apache.commons.math3.linear.RealVector)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preMultiply</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;preMultiply(<a href="../../../../../org/apache/commons/math3/linear/RealVector.html" title="class in org.apache.commons.math3.linear">RealVector</a>&nbsp;v)
                       throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Returns the (row) vector result of premultiplying this by the vector <code>v</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#preMultiply(org.apache.commons.math3.linear.RealVector)">preMultiply</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the row vector to premultiply by</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>v * this</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the dimension of <code>v</code> does not
 match the row dimension of <code>this</code>.</dd></dl>
</li>
</ul>
<a name="walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInRowOrder</h4>
<pre>public&nbsp;double&nbsp;walkInRowOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor)</pre>
<div class="block">Visit (and possibly change) all matrix entries in row order.
 <p>Row order starts at upper left and iterating through all elements
 of a row from left to right before going to the leftmost element
 of the next row.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInRowOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html#end()"><code>RealMatrixChangingVisitor.end()</code></a> at the end
 of the walk</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInRowOrder</h4>
<pre>public&nbsp;double&nbsp;walkInRowOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor)</pre>
<div class="block">Visit (but don't change) all matrix entries in row order.
 <p>Row order starts at upper left and iterating through all elements
 of a row from left to right before going to the leftmost element
 of the next row.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInRowOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html#end()"><code>RealMatrixPreservingVisitor.end()</code></a> at the end
 of the walk</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInRowOrder</h4>
<pre>public&nbsp;double&nbsp;walkInRowOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor,
                    int&nbsp;startRow,
                    int&nbsp;endRow,
                    int&nbsp;startColumn,
                    int&nbsp;endColumn)
                      throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                             <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Visit (and possibly change) some matrix entries in row order.
 <p>Row order starts at upper left and iterating through all elements
 of a row from left to right before going to the leftmost element
 of the next row.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInRowOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html#end()"><code>RealMatrixChangingVisitor.end()</code></a> at the end
 of the walk</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInRowOrder</h4>
<pre>public&nbsp;double&nbsp;walkInRowOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor,
                    int&nbsp;startRow,
                    int&nbsp;endRow,
                    int&nbsp;startColumn,
                    int&nbsp;endColumn)
                      throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                             <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Visit (but don't change) some matrix entries in row order.
 <p>Row order starts at upper left and iterating through all elements
 of a row from left to right before going to the leftmost element
 of the next row.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInRowOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html#end()"><code>RealMatrixPreservingVisitor.end()</code></a> at the end
 of the walk</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInColumnOrder</h4>
<pre>public&nbsp;double&nbsp;walkInColumnOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor)</pre>
<div class="block">Visit (and possibly change) all matrix entries in column order.
 <p>Column order starts at upper left and iterating through all elements
 of a column from top to bottom before going to the topmost element
 of the next column.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInColumnOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html#end()"><code>RealMatrixChangingVisitor.end()</code></a> at the end
 of the walk</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInColumnOrder</h4>
<pre>public&nbsp;double&nbsp;walkInColumnOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor)</pre>
<div class="block">Visit (but don't change) all matrix entries in column order.
 <p>Column order starts at upper left and iterating through all elements
 of a column from top to bottom before going to the topmost element
 of the next column.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInColumnOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html#end()"><code>RealMatrixPreservingVisitor.end()</code></a> at the end
 of the walk</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInColumnOrder</h4>
<pre>public&nbsp;double&nbsp;walkInColumnOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor,
                       int&nbsp;startRow,
                       int&nbsp;endRow,
                       int&nbsp;startColumn,
                       int&nbsp;endColumn)
                         throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                                <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Visit (and possibly change) some matrix entries in column order.
 <p>Column order starts at upper left and iterating through all elements
 of a column from top to bottom before going to the topmost element
 of the next column.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInColumnOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html#end()"><code>RealMatrixChangingVisitor.end()</code></a> at the end
 of the walk</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInColumnOrder</h4>
<pre>public&nbsp;double&nbsp;walkInColumnOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor,
                       int&nbsp;startRow,
                       int&nbsp;endRow,
                       int&nbsp;startColumn,
                       int&nbsp;endColumn)
                         throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                                <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Visit (but don't change) some matrix entries in column order.
 <p>Column order starts at upper left and iterating through all elements
 of a column from top to bottom before going to the topmost element
 of the next column.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInColumnOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html#end()"><code>RealMatrixPreservingVisitor.end()</code></a> at the end
 of the walk</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInOptimizedOrder</h4>
<pre>public&nbsp;double&nbsp;walkInOptimizedOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor)</pre>
<div class="block">Visit (and possibly change) all matrix entries using the fastest possible order.
 <p>The fastest walking order depends on the exact matrix class. It may be
 different from traditional row or column orders.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInOptimizedOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html#end()"><code>RealMatrixChangingVisitor.end()</code></a> at the end
 of the walk</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInOptimizedOrder</h4>
<pre>public&nbsp;double&nbsp;walkInOptimizedOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor)</pre>
<div class="block">Visit (but don't change) all matrix entries using the fastest possible order.
 <p>The fastest walking order depends on the exact matrix class. It may be
 different from traditional row or column orders.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInOptimizedOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html#end()"><code>RealMatrixPreservingVisitor.end()</code></a> at the end
 of the walk</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInOptimizedOrder</h4>
<pre>public&nbsp;double&nbsp;walkInOptimizedOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixChangingVisitor</a>&nbsp;visitor,
                          int&nbsp;startRow,
                          int&nbsp;endRow,
                          int&nbsp;startColumn,
                          int&nbsp;endColumn)
                            throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                                   <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Visit (and possibly change) some matrix entries using the fastest possible order.
 <p>The fastest walking order depends on the exact matrix class. It may be
 different from traditional row or column orders.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInOptimizedOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index (inclusive)</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixChangingVisitor.html#end()"><code>RealMatrixChangingVisitor.end()</code></a> at the end
 of the walk</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>walkInOptimizedOrder</h4>
<pre>public&nbsp;double&nbsp;walkInOptimizedOrder(<a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html" title="interface in org.apache.commons.math3.linear">RealMatrixPreservingVisitor</a>&nbsp;visitor,
                          int&nbsp;startRow,
                          int&nbsp;endRow,
                          int&nbsp;startColumn,
                          int&nbsp;endColumn)
                            throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a>,
                                   <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></pre>
<div class="block">Visit (but don't change) some matrix entries using the fastest possible order.
 <p>The fastest walking order depends on the exact matrix class. It may be
 different from traditional row or column orders.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInOptimizedOrder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>visitor</code> - visitor used to process all matrix entries</dd><dd><code>startRow</code> - Initial row index</dd><dd><code>endRow</code> - Final row index (inclusive)</dd><dd><code>startColumn</code> - Initial column index</dd><dd><code>endColumn</code> - Final column index (inclusive)</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value returned by <a href="../../../../../org/apache/commons/math3/linear/RealMatrixPreservingVisitor.html#end()"><code>RealMatrixPreservingVisitor.end()</code></a> at the end
 of the walk</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the indices are not valid.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooSmallException.html" title="class in org.apache.commons.math3.exception">NumberIsTooSmallException</a></code> - if <code>endRow &lt; startRow</code> or
 <code>endColumn &lt; startColumn</code>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)"><code>RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)"><code>RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)</code></a></dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">Get a string representation for this matrix.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a string representation for this matrix</dd></dl>
</li>
</ul>
<a name="equals(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
<div class="block">Returns true iff <code>object</code> is a
 <code>RealMatrix</code> instance with the same dimensions as this
 and all corresponding matrix entries are equal.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to test equality against.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if object equals this</dd></dl>
</li>
</ul>
<a name="hashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Computes a hashcode for the matrix.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>hashcode for matrix</dd></dl>
</li>
</ul>
<a name="createMatrix(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMatrix</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;createMatrix(int&nbsp;rowDimension,
                      int&nbsp;columnDimension)
                                 throws <a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></pre>
<div class="block">Create a new RealMatrix of the same type as the instance with the
 supplied
 row and column dimensions.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#createMatrix(int, int)">createMatrix</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>rowDimension</code> - the number of rows in the new matrix</dd><dd><code>columnDimension</code> - the number of columns in the new matrix</dd>
<dt><span class="strong">Returns:</span></dt><dd>a new matrix of the same type as the instance</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if row or column dimension is not
 positive.</dd></dl>
</li>
</ul>
<a name="copy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>&nbsp;copy()</pre>
<div class="block">Returns a (deep) copy of this.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#copy()">copy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>matrix copy</dd></dl>
</li>
</ul>
<a name="getEntry(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntry</h4>
<pre>public abstract&nbsp;double&nbsp;getEntry(int&nbsp;row,
              int&nbsp;column)
                         throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Get the entry in the specified row and column. Row and column indices
 start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#getEntry(int, int)">getEntry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row index of entry to be fetched.</dd><dd><code>column</code> - Column index of entry to be fetched.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the matrix entry at <code>(row, column)</code>.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the row or column index is not valid.</dd></dl>
</li>
</ul>
<a name="setEntry(int, int, double)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setEntry</h4>
<pre>public abstract&nbsp;void&nbsp;setEntry(int&nbsp;row,
            int&nbsp;column,
            double&nbsp;value)
                       throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Set the entry in the specified row and column. Row and column indices
 start at 0.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html#setEntry(int, int, double)">setEntry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Row index of entry to be set.</dd><dd><code>column</code> - Column index of entry to be set.</dd><dd><code>value</code> - the new value of the entry.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if the row or column index is not valid</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractRealMatrix.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/linear/AbstractFieldMatrix.html" title="class in org.apache.commons.math3.linear"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/linear/AnyMatrix.html" title="interface in org.apache.commons.math3.linear"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/linear/AbstractRealMatrix.html" target="_top">Frames</a></li>
<li><a href="AbstractRealMatrix.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
