| |
| <!DOCTYPE html> |
| |
| <html> |
| <head> |
| <meta charset="utf-8" /> |
| <title>BlockMatrix — PySpark 3.3.3 documentation</title> |
| |
| <link rel="stylesheet" href="../../_static/css/index.73d71520a4ca3b99cfee5594769eaaae.css"> |
| |
| |
| <link rel="stylesheet" |
| href="../../_static/vendor/fontawesome/5.13.0/css/all.min.css"> |
| <link rel="preload" as="font" type="font/woff2" crossorigin |
| href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2"> |
| <link rel="preload" as="font" type="font/woff2" crossorigin |
| href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2"> |
| |
| |
| |
| <link rel="stylesheet" |
| href="../../_static/vendor/open-sans_all/1.44.1/index.css"> |
| <link rel="stylesheet" |
| href="../../_static/vendor/lato_latin-ext/1.44.1/index.css"> |
| |
| |
| <link rel="stylesheet" href="../../_static/basic.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
| <link rel="stylesheet" type="text/css" href="../../_static/css/pyspark.css" /> |
| |
| <link rel="preload" as="script" href="../../_static/js/index.3da636dd464baa7582d2.js"> |
| |
| <script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script> |
| <script src="../../_static/jquery.js"></script> |
| <script src="../../_static/underscore.js"></script> |
| <script src="../../_static/doctools.js"></script> |
| <script src="../../_static/language_data.js"></script> |
| <script src="../../_static/copybutton.js"></script> |
| <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script> |
| <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> |
| <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script> |
| <link rel="search" title="Search" href="../../search.html" /> |
| <link rel="next" title="CoordinateMatrix" href="pyspark.mllib.linalg.distributed.CoordinateMatrix.html" /> |
| <link rel="prev" title="QRDecomposition" href="pyspark.mllib.linalg.QRDecomposition.html" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| <meta name="docsearch:language" content="en" /> |
| </head> |
| <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80"> |
| |
| <nav class="navbar navbar-light navbar-expand-lg bg-light fixed-top bd-navbar" id="navbar-main"> |
| <div class="container-xl"> |
| |
| <a class="navbar-brand" href="../../index.html"> |
| |
| <img src="../../_static/spark-logo-reverse.png" class="logo" alt="logo" /> |
| |
| </a> |
| <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-menu" aria-controls="navbar-menu" aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
| |
| <div id="navbar-menu" class="col-lg-9 collapse navbar-collapse"> |
| <ul id="navbar-main-elements" class="navbar-nav mr-auto"> |
| |
| |
| <li class="nav-item "> |
| <a class="nav-link" href="../../getting_started/index.html">Getting Started</a> |
| </li> |
| |
| <li class="nav-item "> |
| <a class="nav-link" href="../../user_guide/index.html">User Guide</a> |
| </li> |
| |
| <li class="nav-item active"> |
| <a class="nav-link" href="../index.html">API Reference</a> |
| </li> |
| |
| <li class="nav-item "> |
| <a class="nav-link" href="../../development/index.html">Development</a> |
| </li> |
| |
| <li class="nav-item "> |
| <a class="nav-link" href="../../migration_guide/index.html">Migration Guide</a> |
| </li> |
| |
| |
| </ul> |
| |
| |
| |
| |
| <ul class="navbar-nav"> |
| |
| |
| </ul> |
| </div> |
| </div> |
| </nav> |
| |
| |
| <div class="container-xl"> |
| <div class="row"> |
| |
| <div class="col-12 col-md-3 bd-sidebar"><form class="bd-search d-flex align-items-center" action="../../search.html" method="get"> |
| <i class="icon fas fa-search"></i> |
| <input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" > |
| </form> |
| <nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation"> |
| |
| <div class="bd-toc-item active"> |
| |
| |
| <ul class="nav bd-sidenav"> |
| |
| |
| |
| |
| |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.sql/index.html">Spark SQL</a> |
| </li> |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.pandas/index.html">Pandas API on Spark</a> |
| </li> |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.ss/index.html">Structured Streaming</a> |
| </li> |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.ml.html">MLlib (DataFrame-based)</a> |
| </li> |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.streaming.html">Spark Streaming</a> |
| </li> |
| |
| |
| |
| <li class="active"> |
| <a href="../pyspark.mllib.html">MLlib (RDD-based)</a> |
| </li> |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.html">Spark Core</a> |
| </li> |
| |
| |
| |
| <li class=""> |
| <a href="../pyspark.resource.html">Resource Management</a> |
| </li> |
| |
| |
| |
| |
| |
| |
| |
| |
| </ul> |
| |
| </nav> |
| </div> |
| |
| |
| |
| <div class="d-none d-xl-block col-xl-2 bd-toc"> |
| |
| |
| <nav id="bd-toc-nav"> |
| <ul class="nav section-nav flex-column"> |
| |
| </ul> |
| </nav> |
| |
| |
| |
| </div> |
| |
| |
| |
| <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 bd-content" role="main"> |
| |
| <div> |
| |
| <div class="section" id="blockmatrix"> |
| <h1>BlockMatrix<a class="headerlink" href="#blockmatrix" title="Permalink to this headline">¶</a></h1> |
| <dl class="py class"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix"> |
| <em class="property">class </em><code class="sig-prename descclassname">pyspark.mllib.linalg.distributed.</code><code class="sig-name descname">BlockMatrix</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">blocks</span><span class="p">:</span> <span class="n">pyspark.rdd.RDD<span class="p">[</span>Tuple<span class="p">[</span>Tuple<span class="p">[</span>int<span class="p">, </span>int<span class="p">]</span><span class="p">, </span><a class="reference internal" href="pyspark.mllib.linalg.Matrix.html#pyspark.mllib.linalg.Matrix" title="pyspark.mllib.linalg.Matrix">pyspark.mllib.linalg.Matrix</a><span class="p">]</span><span class="p">]</span></span></em>, <em class="sig-param"><span class="n">rowsPerBlock</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">colsPerBlock</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">numRows</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">0</span></em>, <em class="sig-param"><span class="n">numCols</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">0</span></em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Represents a distributed matrix in blocks of local matrices.</p> |
| <dl class="field-list"> |
| <dt class="field-odd">Parameters</dt> |
| <dd class="field-odd"><dl> |
| <dt><strong>blocks</strong><span class="classifier"><a class="reference internal" href="pyspark.RDD.html#pyspark.RDD" title="pyspark.RDD"><code class="xref py py-class docutils literal notranslate"><span class="pre">pyspark.RDD</span></code></a></span></dt><dd><p>An RDD of sub-matrix blocks |
| ((blockRowIndex, blockColIndex), sub-matrix) that |
| form this distributed matrix. If multiple blocks |
| with the same index exist, the results for |
| operations like add and multiply will be |
| unpredictable.</p> |
| </dd> |
| <dt><strong>rowsPerBlock</strong><span class="classifier">int</span></dt><dd><p>Number of rows that make up each block. |
| The blocks forming the final rows are not |
| required to have the given number of rows.</p> |
| </dd> |
| <dt><strong>colsPerBlock</strong><span class="classifier">int</span></dt><dd><p>Number of columns that make up each block. |
| The blocks forming the final columns are not |
| required to have the given number of columns.</p> |
| </dd> |
| <dt><strong>numRows</strong><span class="classifier">int, optional</span></dt><dd><p>Number of rows of this matrix. If the supplied |
| value is less than or equal to zero, the number |
| of rows will be calculated when <cite>numRows</cite> is |
| invoked.</p> |
| </dd> |
| <dt><strong>numCols</strong><span class="classifier">int, optional</span></dt><dd><p>Number of columns of this matrix. If the supplied |
| value is less than or equal to zero, the number |
| of columns will be calculated when <cite>numCols</cite> is |
| invoked.</p> |
| </dd> |
| </dl> |
| </dd> |
| </dl> |
| <p class="rubric">Methods</p> |
| <table class="longtable table autosummary"> |
| <colgroup> |
| <col style="width: 10%" /> |
| <col style="width: 90%" /> |
| </colgroup> |
| <tbody> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.add" title="pyspark.mllib.linalg.distributed.BlockMatrix.add"><code class="xref py py-obj docutils literal notranslate"><span class="pre">add</span></code></a>(other)</p></td> |
| <td><p>Adds two block matrices together.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.cache" title="pyspark.mllib.linalg.distributed.BlockMatrix.cache"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cache</span></code></a>()</p></td> |
| <td><p>Caches the underlying RDD.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.multiply" title="pyspark.mllib.linalg.distributed.BlockMatrix.multiply"><code class="xref py py-obj docutils literal notranslate"><span class="pre">multiply</span></code></a>(other)</p></td> |
| <td><p>Left multiplies this BlockMatrix by <cite>other</cite>, another BlockMatrix.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numCols" title="pyspark.mllib.linalg.distributed.BlockMatrix.numCols"><code class="xref py py-obj docutils literal notranslate"><span class="pre">numCols</span></code></a>()</p></td> |
| <td><p>Get or compute the number of cols.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numRows" title="pyspark.mllib.linalg.distributed.BlockMatrix.numRows"><code class="xref py py-obj docutils literal notranslate"><span class="pre">numRows</span></code></a>()</p></td> |
| <td><p>Get or compute the number of rows.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.persist" title="pyspark.mllib.linalg.distributed.BlockMatrix.persist"><code class="xref py py-obj docutils literal notranslate"><span class="pre">persist</span></code></a>(storageLevel)</p></td> |
| <td><p>Persists the underlying RDD with the specified storage level.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.subtract" title="pyspark.mllib.linalg.distributed.BlockMatrix.subtract"><code class="xref py py-obj docutils literal notranslate"><span class="pre">subtract</span></code></a>(other)</p></td> |
| <td><p>Subtracts the given block matrix <cite>other</cite> from this block matrix: <cite>this - other</cite>.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.toCoordinateMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix.toCoordinateMatrix"><code class="xref py py-obj docutils literal notranslate"><span class="pre">toCoordinateMatrix</span></code></a>()</p></td> |
| <td><p>Convert this matrix to a CoordinateMatrix.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.toIndexedRowMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix.toIndexedRowMatrix"><code class="xref py py-obj docutils literal notranslate"><span class="pre">toIndexedRowMatrix</span></code></a>()</p></td> |
| <td><p>Convert this matrix to an IndexedRowMatrix.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.toLocalMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix.toLocalMatrix"><code class="xref py py-obj docutils literal notranslate"><span class="pre">toLocalMatrix</span></code></a>()</p></td> |
| <td><p>Collect the distributed matrix on the driver as a DenseMatrix.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.transpose" title="pyspark.mllib.linalg.distributed.BlockMatrix.transpose"><code class="xref py py-obj docutils literal notranslate"><span class="pre">transpose</span></code></a>()</p></td> |
| <td><p>Transpose this BlockMatrix.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.validate" title="pyspark.mllib.linalg.distributed.BlockMatrix.validate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">validate</span></code></a>()</p></td> |
| <td><p>Validates the block matrix info against the matrix data (<cite>blocks</cite>) and throws an exception if any error is found.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p class="rubric">Attributes</p> |
| <table class="longtable table autosummary"> |
| <colgroup> |
| <col style="width: 10%" /> |
| <col style="width: 90%" /> |
| </colgroup> |
| <tbody> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.blocks" title="pyspark.mllib.linalg.distributed.BlockMatrix.blocks"><code class="xref py py-obj docutils literal notranslate"><span class="pre">blocks</span></code></a></p></td> |
| <td><p>The RDD of sub-matrix blocks ((blockRowIndex, blockColIndex), sub-matrix) that form this distributed matrix.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.colsPerBlock" title="pyspark.mllib.linalg.distributed.BlockMatrix.colsPerBlock"><code class="xref py py-obj docutils literal notranslate"><span class="pre">colsPerBlock</span></code></a></p></td> |
| <td><p>Number of columns that make up each block.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numColBlocks" title="pyspark.mllib.linalg.distributed.BlockMatrix.numColBlocks"><code class="xref py py-obj docutils literal notranslate"><span class="pre">numColBlocks</span></code></a></p></td> |
| <td><p>Number of columns of blocks in the BlockMatrix.</p></td> |
| </tr> |
| <tr class="row-even"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numRowBlocks" title="pyspark.mllib.linalg.distributed.BlockMatrix.numRowBlocks"><code class="xref py py-obj docutils literal notranslate"><span class="pre">numRowBlocks</span></code></a></p></td> |
| <td><p>Number of rows of blocks in the BlockMatrix.</p></td> |
| </tr> |
| <tr class="row-odd"><td><p><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix.rowsPerBlock" title="pyspark.mllib.linalg.distributed.BlockMatrix.rowsPerBlock"><code class="xref py py-obj docutils literal notranslate"><span class="pre">rowsPerBlock</span></code></a></p></td> |
| <td><p>Number of rows that make up each block.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <p class="rubric">Methods Documentation</p> |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.add"> |
| <code class="sig-name descname">add</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">other</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a></span></em><span class="sig-paren">)</span> → <a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.add" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Adds two block matrices together. The matrices must have the |
| same size and matching <cite>rowsPerBlock</cite> and <cite>colsPerBlock</cite> values. |
| If one of the sub matrix blocks that are being added is a |
| SparseMatrix, the resulting sub matrix block will also be a |
| SparseMatrix, even if it is being added to a DenseMatrix. If |
| two dense sub matrix blocks are added, the output block will |
| also be a DenseMatrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">dm1</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">dm2</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">sm</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">sparse</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">blocks1</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm1</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm2</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">blocks2</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm1</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm2</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">blocks3</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">sm</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm2</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">mat1</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat2</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat3</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks3</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat1</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">mat2</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(6, 2, [2.0, 4.0, 6.0, 14.0, 16.0, 18.0, 8.0, 10.0, 12.0, 20.0, 22.0, 24.0], 0)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat1</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">mat3</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(6, 2, [8.0, 2.0, 3.0, 14.0, 16.0, 18.0, 4.0, 16.0, 18.0, 20.0, 22.0, 24.0], 0)</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.cache"> |
| <code class="sig-name descname">cache</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → <a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.cache"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.cache" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Caches the underlying RDD.</p> |
| <div class="versionadded"> |
| <p><span class="versionmodified added">New in version 2.0.0.</span></p> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.multiply"> |
| <code class="sig-name descname">multiply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">other</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a></span></em><span class="sig-paren">)</span> → <a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.multiply"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.multiply" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Left multiplies this BlockMatrix by <cite>other</cite>, another |
| BlockMatrix. The <cite>colsPerBlock</cite> of this matrix must equal the |
| <cite>rowsPerBlock</cite> of <cite>other</cite>. If <cite>other</cite> contains any SparseMatrix |
| blocks, they will have to be converted to DenseMatrix blocks. |
| The output BlockMatrix will only consist of DenseMatrix blocks. |
| This may cause some performance issues until support for |
| multiplying two sparse matrices is added.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">dm1</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">dm2</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">dm3</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">dm4</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">sm</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">sparse</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">blocks1</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm1</span><span class="p">),</span> <span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="n">dm2</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">blocks2</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm3</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm4</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">blocks3</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">sm</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm4</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">mat1</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat2</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat3</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks3</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat1</span><span class="o">.</span><span class="n">multiply</span><span class="p">(</span><span class="n">mat2</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(2, 2, [242.0, 272.0, 350.0, 398.0], 0)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat1</span><span class="o">.</span><span class="n">multiply</span><span class="p">(</span><span class="n">mat3</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(2, 2, [227.0, 258.0, 394.0, 450.0], 0)</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.numCols"> |
| <code class="sig-name descname">numCols</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → int<a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.numCols"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numCols" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Get or compute the number of cols.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numCols</span><span class="p">())</span> |
| <span class="go">2</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numCols</span><span class="p">())</span> |
| <span class="go">6</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.numRows"> |
| <code class="sig-name descname">numRows</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → int<a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.numRows"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numRows" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Get or compute the number of rows.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numRows</span><span class="p">())</span> |
| <span class="go">6</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numRows</span><span class="p">())</span> |
| <span class="go">7</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.persist"> |
| <code class="sig-name descname">persist</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">storageLevel</span><span class="p">:</span> <span class="n">pyspark.storagelevel.StorageLevel</span></em><span class="sig-paren">)</span> → <a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.persist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.persist" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Persists the underlying RDD with the specified storage level.</p> |
| <div class="versionadded"> |
| <p><span class="versionmodified added">New in version 2.0.0.</span></p> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.subtract"> |
| <code class="sig-name descname">subtract</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">other</span><span class="p">:</span> <span class="n"><a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a></span></em><span class="sig-paren">)</span> → <a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.subtract"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.subtract" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Subtracts the given block matrix <cite>other</cite> from this block matrix: |
| <cite>this - other</cite>. The matrices must have the same size and |
| matching <cite>rowsPerBlock</cite> and <cite>colsPerBlock</cite> values. If one of |
| the sub matrix blocks that are being subtracted is a |
| SparseMatrix, the resulting sub matrix block will also be a |
| SparseMatrix, even if it is being subtracted from a DenseMatrix. |
| If two dense sub matrix blocks are subtracted, the output block |
| will also be a DenseMatrix.</p> |
| <div class="versionadded"> |
| <p><span class="versionmodified added">New in version 2.0.0.</span></p> |
| </div> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">dm1</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">2</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">dm2</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">sm</span> <span class="o">=</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">sparse</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span> |
| <span class="gp">>>> </span><span class="n">blocks1</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm1</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm2</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">blocks2</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm2</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm1</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">blocks3</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">sm</span><span class="p">),</span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dm2</span><span class="p">)])</span> |
| <span class="gp">>>> </span><span class="n">mat1</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat2</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat3</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks3</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat1</span><span class="o">.</span><span class="n">subtract</span><span class="p">(</span><span class="n">mat2</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(6, 2, [-4.0, -7.0, -4.0, 4.0, 7.0, 4.0, -6.0, -5.0, -10.0, 6.0, 5.0, 10.0], 0)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat2</span><span class="o">.</span><span class="n">subtract</span><span class="p">(</span><span class="n">mat3</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(6, 2, [6.0, 8.0, 9.0, -4.0, -7.0, -4.0, 10.0, 9.0, 9.0, -6.0, -5.0, -10.0], 0)</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.toCoordinateMatrix"> |
| <code class="sig-name descname">toCoordinateMatrix</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → <a class="reference internal" href="pyspark.mllib.linalg.distributed.CoordinateMatrix.html#pyspark.mllib.linalg.distributed.CoordinateMatrix" title="pyspark.mllib.linalg.distributed.CoordinateMatrix">pyspark.mllib.linalg.distributed.CoordinateMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.toCoordinateMatrix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.toCoordinateMatrix" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Convert this matrix to a CoordinateMatrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">toCoordinateMatrix</span><span class="p">()</span> |
| <span class="gp">>>> </span><span class="n">mat</span><span class="o">.</span><span class="n">entries</span><span class="o">.</span><span class="n">take</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> |
| <span class="go">[MatrixEntry(0, 0, 1.0), MatrixEntry(0, 1, 2.0), MatrixEntry(1, 0, 7.0)]</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.toIndexedRowMatrix"> |
| <code class="sig-name descname">toIndexedRowMatrix</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → <a class="reference internal" href="pyspark.mllib.linalg.distributed.IndexedRowMatrix.html#pyspark.mllib.linalg.distributed.IndexedRowMatrix" title="pyspark.mllib.linalg.distributed.IndexedRowMatrix">pyspark.mllib.linalg.distributed.IndexedRowMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.toIndexedRowMatrix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.toIndexedRowMatrix" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Convert this matrix to an IndexedRowMatrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">toIndexedRowMatrix</span><span class="p">()</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="c1"># This BlockMatrix will have 6 effective rows, due to</span> |
| <span class="gp">>>> </span><span class="c1"># having two sub-matrix blocks stacked, each with 3 rows.</span> |
| <span class="gp">>>> </span><span class="c1"># The ensuing IndexedRowMatrix will also have 6 rows.</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numRows</span><span class="p">())</span> |
| <span class="go">6</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="c1"># This BlockMatrix will have 2 effective columns, due to</span> |
| <span class="gp">>>> </span><span class="c1"># having two sub-matrix blocks stacked, each with 2 columns.</span> |
| <span class="gp">>>> </span><span class="c1"># The ensuing IndexedRowMatrix will also have 2 columns.</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numCols</span><span class="p">())</span> |
| <span class="go">2</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.toLocalMatrix"> |
| <code class="sig-name descname">toLocalMatrix</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → <a class="reference internal" href="pyspark.mllib.linalg.Matrix.html#pyspark.mllib.linalg.Matrix" title="pyspark.mllib.linalg.Matrix">pyspark.mllib.linalg.Matrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.toLocalMatrix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.toLocalMatrix" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Collect the distributed matrix on the driver as a DenseMatrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="c1"># This BlockMatrix will have 6 effective rows, due to</span> |
| <span class="gp">>>> </span><span class="c1"># having two sub-matrix blocks stacked, each with 3 rows.</span> |
| <span class="gp">>>> </span><span class="c1"># The ensuing DenseMatrix will also have 6 rows.</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numRows</span><span class="p">)</span> |
| <span class="go">6</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="c1"># This BlockMatrix will have 2 effective columns, due to</span> |
| <span class="gp">>>> </span><span class="c1"># having two sub-matrix blocks stacked, each with 2</span> |
| <span class="gp">>>> </span><span class="c1"># columns. The ensuing DenseMatrix will also have 2 columns.</span> |
| <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">mat</span><span class="o">.</span><span class="n">numCols</span><span class="p">)</span> |
| <span class="go">2</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.transpose"> |
| <code class="sig-name descname">transpose</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → <a class="reference internal" href="#pyspark.mllib.linalg.distributed.BlockMatrix" title="pyspark.mllib.linalg.distributed.BlockMatrix">pyspark.mllib.linalg.distributed.BlockMatrix</a><a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.transpose"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.transpose" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Transpose this BlockMatrix. Returns a new BlockMatrix |
| instance sharing the same underlying data. Is a lazy operation.</p> |
| <div class="versionadded"> |
| <p><span class="versionmodified added">New in version 2.0.0.</span></p> |
| </div> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| </pre></div> |
| </div> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat_transposed</span> <span class="o">=</span> <span class="n">mat</span><span class="o">.</span><span class="n">transpose</span><span class="p">()</span> |
| <span class="gp">>>> </span><span class="n">mat_transposed</span><span class="o">.</span><span class="n">toLocalMatrix</span><span class="p">()</span> |
| <span class="go">DenseMatrix(2, 6, [1.0, 4.0, 2.0, 5.0, 3.0, 6.0, 7.0, 10.0, 8.0, 11.0, 9.0, 12.0], 0)</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py method"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.validate"> |
| <code class="sig-name descname">validate</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → None<a class="reference internal" href="../../_modules/pyspark/mllib/linalg/distributed.html#BlockMatrix.validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.validate" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Validates the block matrix info against the matrix data (<cite>blocks</cite>) |
| and throws an exception if any error is found.</p> |
| <div class="versionadded"> |
| <p><span class="versionmodified added">New in version 2.0.0.</span></p> |
| </div> |
| </dd></dl> |
| |
| <p class="rubric">Attributes Documentation</p> |
| <dl class="py attribute"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.blocks"> |
| <code class="sig-name descname">blocks</code><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.blocks" title="Permalink to this definition">¶</a></dt> |
| <dd><p>The RDD of sub-matrix blocks |
| ((blockRowIndex, blockColIndex), sub-matrix) that form this |
| distributed matrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span> |
| <span class="gp">... </span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))]),</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">mat</span><span class="o">.</span><span class="n">blocks</span> |
| <span class="gp">>>> </span><span class="n">blocks</span><span class="o">.</span><span class="n">first</span><span class="p">()</span> |
| <span class="go">((0, 0), DenseMatrix(3, 2, [1.0, 2.0, 3.0, 4.0, 5.0, 6.0], 0))</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py attribute"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.colsPerBlock"> |
| <code class="sig-name descname">colsPerBlock</code><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.colsPerBlock" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Number of columns that make up each block.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat</span><span class="o">.</span><span class="n">colsPerBlock</span> |
| <span class="go">2</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py attribute"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.numColBlocks"> |
| <code class="sig-name descname">numColBlocks</code><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numColBlocks" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Number of columns of blocks in the BlockMatrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat</span><span class="o">.</span><span class="n">numColBlocks</span> |
| <span class="go">1</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py attribute"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.numRowBlocks"> |
| <code class="sig-name descname">numRowBlocks</code><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.numRowBlocks" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Number of rows of blocks in the BlockMatrix.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat</span><span class="o">.</span><span class="n">numRowBlocks</span> |
| <span class="go">2</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| <dl class="py attribute"> |
| <dt id="pyspark.mllib.linalg.distributed.BlockMatrix.rowsPerBlock"> |
| <code class="sig-name descname">rowsPerBlock</code><a class="headerlink" href="#pyspark.mllib.linalg.distributed.BlockMatrix.rowsPerBlock" title="Permalink to this definition">¶</a></dt> |
| <dd><p>Number of rows that make up each block.</p> |
| <p class="rubric">Examples</p> |
| <div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">blocks</span> <span class="o">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">parallelize</span><span class="p">([((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">])),</span> |
| <span class="gp">... </span> <span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">Matrices</span><span class="o">.</span><span class="n">dense</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">12</span><span class="p">]))])</span> |
| <span class="gp">>>> </span><span class="n">mat</span> <span class="o">=</span> <span class="n">BlockMatrix</span><span class="p">(</span><span class="n">blocks</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> |
| <span class="gp">>>> </span><span class="n">mat</span><span class="o">.</span><span class="n">rowsPerBlock</span> |
| <span class="go">3</span> |
| </pre></div> |
| </div> |
| </dd></dl> |
| |
| </dd></dl> |
| |
| </div> |
| |
| |
| </div> |
| |
| |
| <div class='prev-next-bottom'> |
| |
| <a class='left-prev' id="prev-link" href="pyspark.mllib.linalg.QRDecomposition.html" title="previous page">QRDecomposition</a> |
| <a class='right-next' id="next-link" href="pyspark.mllib.linalg.distributed.CoordinateMatrix.html" title="next page">CoordinateMatrix</a> |
| |
| </div> |
| |
| </main> |
| |
| |
| </div> |
| </div> |
| |
| |
| <script src="../../_static/js/index.3da636dd464baa7582d2.js"></script> |
| |
| |
| <footer class="footer mt-5 mt-md-0"> |
| <div class="container"> |
| <p> |
| © Copyright .<br/> |
| Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.4.<br/> |
| </p> |
| </div> |
| </footer> |
| </body> |
| </html> |