<!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>BlockRealMatrix (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="BlockRealMatrix (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/BlockRealMatrix.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/BlockFieldMatrix.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/CholeskyDecomposition.html" title="class 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/BlockRealMatrix.html" target="_top">Frames</a></li>
<li><a href="BlockRealMatrix.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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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 BlockRealMatrix" class="title">Class BlockRealMatrix</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><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">org.apache.commons.math3.linear.AbstractRealMatrix</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.linear.BlockRealMatrix</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <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>
<hr>
<br>
<pre>public class <span class="strong">BlockRealMatrix</span>
extends <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</a>
implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">Cache-friendly implementation of RealMatrix using a flat arrays to store
 square blocks of the matrix.
 <p>
 This implementation is specially designed to be cache-friendly. Square blocks are
 stored as small arrays and allow efficient traversal of data both in row major direction
 and columns major direction, one block at a time. This greatly increases performances
 for algorithms that use crossed directions loops like multiplication or transposition.
 </p>
 <p>
 The size of square blocks is a static parameter. It may be tuned according to the cache
 size of the target computer processor. As a rule of thumbs, it should be the largest
 value that allows three blocks to be simultaneously cached (this is necessary for example
 for matrix multiplication). The default value is to use 52x52 blocks which is well suited
 for processors with 64k L1 cache (one block holds 2704 values or 21632 bytes). This value
 could be lowered to 36x36 for processors with 32k L1 cache.
 </p>
 <p>
 The regular blocks represent <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BLOCK_SIZE"><code>BLOCK_SIZE</code></a> x <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BLOCK_SIZE"><code>BLOCK_SIZE</code></a> squares. Blocks
 at right hand side and bottom side which may be smaller to fit matrix dimensions. The square
 blocks are flattened in row major order in single dimension arrays which are therefore
 <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BLOCK_SIZE"><code>BLOCK_SIZE</code></a><sup>2</sup> elements long for regular blocks. The blocks are themselves
 organized in row major order.
 </p>
 <p>
 As an example, for a block size of 52x52, a 100x60 matrix would be stored in 4 blocks.
 Block 0 would be a double[2704] array holding the upper left 52x52 square, block 1 would be
 a double[416] array holding the upper right 52x8 rectangle, block 2 would be a double[2496]
 array holding the lower left 48x52 rectangle and block 3 would be a double[384] array
 holding the lower right 48x8 rectangle.
 </p>
 <p>
 The layout complexity overhead versus simple mapping of matrices to java
 arrays is negligible for small matrices (about 1%). The gain from cache efficiency leads
 to up to 3-fold improvements for matrices of moderate to large size.
 </p></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: BlockRealMatrix.java 1416643 2012-12-03 19:37:14Z tn $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.commons.math3.linear.BlockRealMatrix">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BLOCK_SIZE">BLOCK_SIZE</a></strong></code>
<div class="block">Block size.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== 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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(double[][])">BlockRealMatrix</a></strong>(double[][]&nbsp;rawData)</code>
<div class="block">Create a new dense matrix copying entries from raw layout data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int)">BlockRealMatrix</a></strong>(int&nbsp;rows,
               int&nbsp;columns)</code>
<div class="block">Create a new matrix with the supplied row and column dimensions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int, double[][], boolean)">BlockRealMatrix</a></strong>(int&nbsp;rows,
               int&nbsp;columns,
               double[][]&nbsp;blockData,
               boolean&nbsp;copyArray)</code>
<div class="block">Create a new dense matrix copying entries from block layout data.</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#add(org.apache.commons.math3.linear.BlockRealMatrix)">add</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;m)</code>
<div class="block">Compute the sum of this matrix and <code>m</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#copy()">copy</a></strong>()</code>
<div class="block">Returns a (deep) copy of this.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static double[][]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#createBlocksLayout(int, int)">createBlocksLayout</a></strong>(int&nbsp;rows,
                  int&nbsp;columns)</code>
<div class="block">Create a data array in blocks layout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#getColumnDimension()">getColumnDimension</a></strong>()</code>
<div class="block">Returns the number of columns of this matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="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/BlockRealMatrix.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="altColor">
<td class="colFirst"><code>double[][]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#getData()">getData</a></strong>()</code>
<div class="block">Returns matrix entries as a two-dimensional array.</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/BlockRealMatrix.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="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="altColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#getRowDimension()">getRowDimension</a></strong>()</code>
<div class="block">Returns the number of rows of this matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="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/BlockRealMatrix.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="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#multiply(org.apache.commons.math3.linear.BlockRealMatrix)">multiply</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;m)</code>
<div class="block">Returns the result of postmultiplying this by <code>m</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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>double[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.html#setRowMatrix(int, org.apache.commons.math3.linear.BlockRealMatrix)">setRowMatrix</a></strong>(int&nbsp;row,
            <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;matrix)</code>
<div class="block">Sets the entries in row number <code>row</code>
 as a row matrix.</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/BlockRealMatrix.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="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#subtract(org.apache.commons.math3.linear.BlockRealMatrix)">subtract</a></strong>(<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;m)</code>
<div class="block">Subtract <code>m</code> from this matrix.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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>static double[][]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#toBlocksLayout(double[][])">toBlocksLayout</a></strong>(double[][]&nbsp;rawData)</code>
<div class="block">Convert a data array from raw layout to blocks layout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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/BlockRealMatrix.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.AbstractRealMatrix">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.linear.<a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</a></h3>
<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#copySubMatrix(int[], int[], double[][])">copySubMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#copySubMatrix(int, int, int, int, double[][])">copySubMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#equals(java.lang.Object)">equals</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getSubMatrix(int[], int[])">getSubMatrix</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getTrace()">getTrace</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#hashCode()">hashCode</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#isSquare()">isSquare</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#operate(org.apache.commons.math3.linear.RealVector)">operate</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#power(int)">power</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#preMultiply(org.apache.commons.math3.linear.RealMatrix)">preMultiply</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#preMultiply(org.apache.commons.math3.linear.RealVector)">preMultiply</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#toString()">toString</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInColumnOrder</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInColumnOrder</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInColumnOrder</a>, <a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInColumnOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInColumnOrder</a></code></li>
</ul>
<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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="BLOCK_SIZE">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BLOCK_SIZE</h4>
<pre>public static final&nbsp;int BLOCK_SIZE</pre>
<div class="block">Block size.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.math3.linear.BlockRealMatrix.BLOCK_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="BlockRealMatrix(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BlockRealMatrix</h4>
<pre>public&nbsp;BlockRealMatrix(int&nbsp;rows,
               int&nbsp;columns)
                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 matrix with the supplied row and column dimensions.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rows</code> - the number of rows in the new matrix</dd><dd><code>columns</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>
<a name="BlockRealMatrix(double[][])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BlockRealMatrix</h4>
<pre>public&nbsp;BlockRealMatrix(double[][]&nbsp;rawData)
                throws <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/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></pre>
<div class="block">Create a new dense matrix copying entries from raw layout data.
 <p>The input array <em>must</em> already be in raw layout.</p>
 <p>Calling this constructor is equivalent to call:
 <pre>matrix = new BlockRealMatrix(rawData.length, rawData[0].length,
                                   toBlocksLayout(rawData), false);</pre>
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rawData</code> - data for new matrix, in raw layout</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 shape of <code>blockData</code> is
 inconsistent with block layout.</dd>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int, double[][], boolean)"><code>BlockRealMatrix(int, int, double[][], boolean)</code></a></dd></dl>
</li>
</ul>
<a name="BlockRealMatrix(int, int, double[][], boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BlockRealMatrix</h4>
<pre>public&nbsp;BlockRealMatrix(int&nbsp;rows,
               int&nbsp;columns,
               double[][]&nbsp;blockData,
               boolean&nbsp;copyArray)
                throws <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/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></pre>
<div class="block">Create a new dense matrix copying entries from block layout data.
 <p>The input array <em>must</em> already be in blocks layout.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rows</code> - Number of rows in the new matrix.</dd><dd><code>columns</code> - Number of columns in the new matrix.</dd><dd><code>blockData</code> - data for new matrix</dd><dd><code>copyArray</code> - Whether the input array will be copied or referenced.</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 shape of <code>blockData</code> is
 inconsistent with block layout.</dd>
<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><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#createBlocksLayout(int, int)"><code>createBlocksLayout(int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#toBlocksLayout(double[][])"><code>toBlocksLayout(double[][])</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(double[][])"><code>BlockRealMatrix(double[][])</code></a></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="toBlocksLayout(double[][])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toBlocksLayout</h4>
<pre>public static&nbsp;double[][]&nbsp;toBlocksLayout(double[][]&nbsp;rawData)
                                 throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre>
<div class="block">Convert a data array from raw layout to blocks layout.
 <p>
 Raw layout is the straightforward layout where element at row i and
 column j is in array element <code>rawData[i][j]</code>. Blocks layout
 is the layout used in <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear"><code>BlockRealMatrix</code></a> instances, where the matrix
 is split in square blocks (except at right and bottom side where blocks may
 be rectangular to fit matrix size) and each block is stored in a flattened
 one-dimensional array.
 </p>
 <p>
 This method creates an array in blocks layout from an input array in raw layout.
 It can be used to provide the array argument of the <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int, double[][], boolean)"><code>BlockRealMatrix(int, int, double[][], boolean)</code></a> constructor.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rawData</code> - Data array in raw layout.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a new data array containing the same entries but in blocks layout.</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>rawData</code> is not rectangular.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#createBlocksLayout(int, int)"><code>createBlocksLayout(int, int)</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int, double[][], boolean)"><code>BlockRealMatrix(int, int, double[][], boolean)</code></a></dd></dl>
</li>
</ul>
<a name="createBlocksLayout(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBlocksLayout</h4>
<pre>public static&nbsp;double[][]&nbsp;createBlocksLayout(int&nbsp;rows,
                            int&nbsp;columns)</pre>
<div class="block">Create a data array in blocks layout.
 <p>
 This method can be used to create the array argument of the <a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int, double[][], boolean)"><code>BlockRealMatrix(int, int, double[][], boolean)</code></a> constructor.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rows</code> - Number of rows in the new matrix.</dd><dd><code>columns</code> - Number of columns in the new matrix.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a new data array in blocks layout.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#toBlocksLayout(double[][])"><code>toBlocksLayout(double[][])</code></a>, 
<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html#BlockRealMatrix(int, int, double[][], boolean)"><code>BlockRealMatrix(int, int, double[][], boolean)</code></a></dd></dl>
</li>
</ul>
<a name="createMatrix(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMatrix</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#createMatrix(int, int)">createMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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&nbsp;<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#copy()">copy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>matrix copy</dd></dl>
</li>
</ul>
<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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#add(org.apache.commons.math3.linear.RealMatrix)">add</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="add(org.apache.commons.math3.linear.BlockRealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;add(<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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">Compute the sum of this matrix and <code>m</code>.</div>
<dl><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</code> + m.</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 this matrix.</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#subtract(org.apache.commons.math3.linear.RealMatrix)">subtract</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="subtract(org.apache.commons.math3.linear.BlockRealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>subtract</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;subtract(<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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">Subtract <code>m</code> from this matrix.</div>
<dl><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</code> - m.</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 this matrix.</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#scalarAdd(double)">scalarAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#scalarMultiply(double)">scalarMultiply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#multiply(org.apache.commons.math3.linear.RealMatrix)">multiply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="multiply(org.apache.commons.math3.linear.BlockRealMatrix)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiply</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</a>&nbsp;multiply(<a href="../../../../../org/apache/commons/math3/linear/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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 this by <code>m</code>.</div>
<dl><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</code> * m.</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 matrices are not compatible.</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getData()">getData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getNorm()">getNorm</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getFrobeniusNorm()">getFrobeniusNorm</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getSubMatrix(int, int, int, int)">getSubMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="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/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</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/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a>,
                         <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setSubMatrix(double[][], int, int)">setSubMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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/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/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/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if <code>subMatrix</code> is <code>null</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></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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRowMatrix(int)">getRowMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setRowMatrix(int, org.apache.commons.math3.linear.RealMatrix)">setRowMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="setRowMatrix(int, org.apache.commons.math3.linear.BlockRealMatrix)">
<!--   -->
</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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 entries in row number <code>row</code>
 as a row matrix.  Row indices start at 0.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - the row to be set</dd><dd><code>matrix</code> - row matrix (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 matrix dimensions do
 not match one instance row.</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumnMatrix(int)">getColumnMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setColumnMatrix(int, org.apache.commons.math3.linear.RealMatrix)">setColumnMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRowVector(int)">getRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setRowVector(int, org.apache.commons.math3.linear.RealVector)">setRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumnVector(int)">getColumnVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setColumnVector(int, org.apache.commons.math3.linear.RealVector)">setColumnVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getRow(int)">getRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setRow(int, double[])">setRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getColumn(int)">getColumn</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setColumn(int, double[])">setColumn</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="getEntry(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEntry</h4>
<pre>public&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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#getEntry(int, int)">getEntry</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="blockList">
<li class="blockList">
<h4>setEntry</h4>
<pre>public&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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#setEntry(int, int, double)">setEntry</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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>
<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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#addToEntry(int, int, double)">addToEntry</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#multiplyEntry(int, int, double)">multiplyEntry</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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/BlockRealMatrix.html" title="class in org.apache.commons.math3.linear">BlockRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#transpose()">transpose</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>transpose matrix</dd></dl>
</li>
</ul>
<a name="getRowDimension()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowDimension</h4>
<pre>public&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/AbstractRealMatrix.html#getRowDimension()">getRowDimension</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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&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/AbstractRealMatrix.html#getColumnDimension()">getColumnDimension</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of columns.</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#operate(double[])">operate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#preMultiply(double[])">preMultiply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInRowOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInRowOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInRowOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInRowOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInRowOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor)">walkInOptimizedOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor)">walkInOptimizedOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixChangingVisitor, int, int, int, int)">walkInOptimizedOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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="blockListLast">
<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><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html#walkInOptimizedOrder(org.apache.commons.math3.linear.RealMatrixPreservingVisitor, int, int, int, int)">walkInOptimizedOrder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/linear/AbstractRealMatrix.html" title="class in org.apache.commons.math3.linear">AbstractRealMatrix</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>
</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/BlockRealMatrix.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/BlockFieldMatrix.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/CholeskyDecomposition.html" title="class 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/BlockRealMatrix.html" target="_top">Frames</a></li>
<li><a href="BlockRealMatrix.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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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>
