Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 82fd441cd3f2a8bc33fc3ed41403eced > files > 2057

python-astropy-0.2.4-4.mga4.x86_64.rpm


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Decomposing and composing units &mdash; Astropy v0.2.4</title>
    
    <link rel="stylesheet" href="../_static/bootstrap-astropy.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '0.2.4',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="shortcut icon" href="../_static/astropy_logo.ico"/>
    <link rel="top" title="Astropy v0.2.4" href="../index.html" />
    <link rel="up" title="Units (astropy.units)" href="index.html" />
    <link rel="next" title="Unit Conversion" href="conversion.html" />
    <link rel="prev" title="Combining and defining units" href="combining_and_defining.html" /> 
  </head>
  <body>
<div class="topbar">
  <a class="brand" title="Documentation Home" href="../index.html"></a>
  <ul>
    <li><a class="homelink" title="AstroPy Homepage" href="http://www.astropy.org"></a></li>
    <li><a title="General Index" href="../genindex.html">Index</a></li>
    <li><a title="Python Module Index" href="../py-modindex.html">Modules</a></li>
    <li>
      
      
<form action="../search.html" method="get">
  <input type="text" name="q" placeholder="Search" />
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
      
    </li>
  </ul>
</div>

<div class="related">
    <h3>Navigation</h3>
    <ul>
      <li class="right">
	<a href="conversion.html" title="Unit Conversion">
	  next &raquo;
	</a>
      </li>
      <li class="right">
	<a href="combining_and_defining.html" title="Combining and defining units">
	  &laquo; previous
	</a>
	 |
      </li>
      <li>
	<a href="../index.html">Astropy v0.2.4</a>
	 &raquo;
      </li>
      <li><a href="index.html" accesskey="U">Units (<tt class="docutils literal"><span class="pre">astropy.units</span></tt>)</a> &raquo;</li>
      
      <li>Decomposing and composing units</li> 
    </ul>
</div>
  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="decomposing-and-composing-units">
<h1>Decomposing and composing units<a class="headerlink" href="#decomposing-and-composing-units" title="Permalink to this headline">¶</a></h1>
<div class="section" id="reducing-a-unit-to-its-irreducible-parts">
<h2>Reducing a unit to its irreducible parts<a class="headerlink" href="#reducing-a-unit-to-its-irreducible-parts" title="Permalink to this headline">¶</a></h2>
<p>A unit can be decomposed into its irreducible parts using the
<a class="reference internal" href="../_generated/astropy.units.core.UnitBase.html#astropy.units.core.UnitBase.decompose" title="astropy.units.core.UnitBase.decompose"><tt class="xref py py-obj docutils literal"><span class="pre">decompose</span></tt></a> method:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">astropy</span> <span class="kn">import</span> <span class="n">units</span> <span class="k">as</span> <span class="n">u</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">u</span><span class="o">.</span><span class="n">Ry</span>
<span class="go">Unit(&quot;Ry&quot;)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">u</span><span class="o">.</span><span class="n">Ry</span><span class="o">.</span><span class="n">decompose</span><span class="p">()</span>
<span class="go">Unit(&quot;2.18e-18 m2 kg / (s2)&quot;)</span>
</pre></div>
</div>
<p>You can limit the selection of units that you want to decompose to
using the <tt class="xref py py-obj docutils literal"><span class="pre">bases</span></tt> keyword argument:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">u</span><span class="o">.</span><span class="n">Ry</span><span class="o">.</span><span class="n">decompose</span><span class="p">(</span><span class="n">bases</span><span class="o">=</span><span class="p">[</span><span class="n">u</span><span class="o">.</span><span class="n">m</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">N</span><span class="p">])</span>
<span class="go">Unit(&quot;2.179872e-18 m N&quot;)</span>
</pre></div>
</div>
<p>This is also useful to decompose to a particular system.  For example,
to decompose the Rydberg unit in terms of CGS units:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">u</span><span class="o">.</span><span class="n">Ry</span><span class="o">.</span><span class="n">decompose</span><span class="p">(</span><span class="n">bases</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">cgs</span><span class="o">.</span><span class="n">bases</span><span class="p">)</span>
<span class="go">Unit(&quot;2.179872e-11 cm2 g / (s2)&quot;)</span>
</pre></div>
</div>
</div>
<div class="section" id="automatically-composing-a-unit-into-more-complex-units">
<h2>Automatically composing a unit into more complex units<a class="headerlink" href="#automatically-composing-a-unit-into-more-complex-units" title="Permalink to this headline">¶</a></h2>
<p>Conversely, a unit may be recomposed back into more complex units
using the <a class="reference internal" href="../_generated/astropy.units.core.UnitBase.html#astropy.units.core.UnitBase.compose" title="astropy.units.core.UnitBase.compose"><tt class="xref py py-obj docutils literal"><span class="pre">compose</span></tt></a> method.  Since there
may be multiple equally good results, a list is always returned:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">x</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">Ry</span><span class="o">.</span><span class="n">decompose</span><span class="p">()</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span><span class="o">.</span><span class="n">compose</span><span class="p">()</span>
<span class="go">[Unit(&quot;1.000000e+00 Ry&quot;),</span>
<span class="go"> Unit(&quot;5.210019e-22 kcal&quot;),</span>
<span class="go"> Unit(&quot;5.210019e-19 cal&quot;),</span>
<span class="go"> Unit(&quot;2.066120e-21 BTU&quot;),</span>
<span class="go"> Unit(&quot;1.360569e+01 eV&quot;),</span>
<span class="go"> Unit(&quot;2.179872e-18 J&quot;),</span>
<span class="go"> Unit(&quot;2.179872e-11 erg&quot;)]</span>
</pre></div>
</div>
<p>Some other interesting examples:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">s</span> <span class="o">**</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">compose</span><span class="p">()</span>
<span class="go">[Unit(&quot;Hz&quot;),</span>
<span class="go"> Unit(&quot;1 / (s)&quot;),</span>
<span class="go"> Unit(&quot;3.155693e+07 / (yr)&quot;),</span>
<span class="go"> Unit(&quot;8.640000e+04 / (d)&quot;),</span>
<span class="go"> Unit(&quot;6.000000e+01 / (min)&quot;),</span>
<span class="go"> Unit(&quot;3.600000e+03 / (h)&quot;),</span>
<span class="go"> Unit(&quot;6.048000e+05 / (wk)&quot;),</span>
<span class="go"> Unit(&quot;3.155693e+07 / (a)&quot;),</span>
<span class="go"> Unit(&quot;8.616409e+04 / (sday)&quot;),</span>
<span class="go"> Unit(&quot;1.209600e+06 / (fortnight)&quot;)]</span>
</pre></div>
</div>
<p>Composition can be combined with <a class="reference internal" href="equivalencies.html#unit-equivalencies"><em>Equivalencies</em></a>:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">s</span> <span class="o">**</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">compose</span><span class="p">(</span><span class="n">equivalencies</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">spectral</span><span class="p">())</span>
<span class="go">[Unit(&quot;Hz&quot;),</span>
<span class="go"> Unit(&quot;J&quot;),</span>
<span class="go"> Unit(&quot;m&quot;),</span>
<span class="go"> Unit(&quot;1 / (s)&quot;),</span>
<span class="go"> Unit(&quot;2.390057e-01 cal&quot;),</span>
<span class="go"> Unit(&quot;1.057001e-16 lyr&quot;),</span>
<span class="go"> Unit(&quot;1.093613e+00 yd&quot;),</span>
<span class="go"> Unit(&quot;3.240779e-17 pc&quot;),</span>
<span class="go"> Unit(&quot;4.587425e+17 Ry&quot;),</span>
<span class="go"> Unit(&quot;1.000000e+06 micron&quot;),</span>
<span class="go"> Unit(&quot;3.937008e+01 inch&quot;),</span>
<span class="go"> Unit(&quot;6.684587e-12 AU&quot;),</span>
<span class="go"> Unit(&quot;1.000000e+02 cm&quot;),</span>
<span class="go"> Unit(&quot;1.437798e-09 solRad&quot;),</span>
<span class="go"> Unit(&quot;6.241509e+18 eV&quot;),</span>
<span class="go"> Unit(&quot;3.280840e+00 ft&quot;),</span>
<span class="go"> Unit(&quot;2.390057e-04 kcal&quot;),</span>
<span class="go"> Unit(&quot;1.000000e+10 Angstrom&quot;),</span>
<span class="go"> Unit(&quot;1.000000e+07 erg&quot;),</span>
<span class="go"> Unit(&quot;9.478171e-04 BTU&quot;),</span>
<span class="go"> Unit(&quot;6.213712e-04 mi&quot;),</span>
<span class="go"> Unit(&quot;6.000000e+01  / (min)&quot;),</span>
<span class="go"> Unit(&quot;3.600000e+03  / (h)&quot;),</span>
<span class="go"> Unit(&quot;6.048000e+05  / (wk)&quot;),</span>
<span class="go"> Unit(&quot;8.616409e+04  / (sday)&quot;),</span>
<span class="go"> Unit(&quot;1.209600e+06  / (fortnight)&quot;),</span>
<span class="go"> Unit(&quot;8.640000e+04  / (d)&quot;),</span>
<span class="go"> Unit(&quot;3.155693e+07  / (yr)&quot;),</span>
<span class="go"> Unit(&quot;3.155693e+07  / (a)&quot;)]</span>
</pre></div>
</div>
<p>Obviously a name doesn&#8217;t exist for every arbitrary derived unit
imaginable.  In that case, the system will do its best to reduce the
unit to the fewest possible symbols:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">cd</span> <span class="o">*</span> <span class="n">u</span><span class="o">.</span><span class="n">sr</span> <span class="o">*</span> <span class="n">u</span><span class="o">.</span><span class="n">V</span> <span class="o">*</span> <span class="n">u</span><span class="o">.</span><span class="n">s</span><span class="p">)</span><span class="o">.</span><span class="n">compose</span><span class="p">()</span>
<span class="go">[Unit(&quot;lm Wb&quot;)]</span>
</pre></div>
</div>
</div>
<div class="section" id="converting-between-systems">
<h2>Converting between systems<a class="headerlink" href="#converting-between-systems" title="Permalink to this headline">¶</a></h2>
<p>Built on top of this functionality is a convenience method to convert
between unit systems.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">u</span><span class="o">.</span><span class="n">Pa</span><span class="o">.</span><span class="n">to_system</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">cgs</span><span class="p">)</span>
<span class="go">[Unit(&quot;1.000000e+01 Ba&quot;)]</span>
</pre></div>
</div>
<p>This is equivalent to decomposing into the new system and then
composing into the most complex units possible, though <tt class="xref py py-obj docutils literal"><span class="pre">to_system</span></tt>
adds some extra logic to return the results sorted in the most useful
order:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">u</span><span class="o">.</span><span class="n">Pa</span><span class="o">.</span><span class="n">decompose</span><span class="p">(</span><span class="n">bases</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">cgs</span><span class="o">.</span><span class="n">bases</span><span class="p">)</span>
<span class="go">Unit(&quot;1.000000e+01 g / (cm s2)&quot;)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">_</span><span class="o">.</span><span class="n">compose</span><span class="p">(</span><span class="n">units</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">cgs</span><span class="p">)</span>
<span class="go">[Unit(&quot;1.000000e+01 Ba&quot;)]</span>
</pre></div>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper"><h3>Page Contents</h3>
<ul>
<li><a class="reference internal" href="#">Decomposing and composing units</a><ul>
<li><a class="reference internal" href="#reducing-a-unit-to-its-irreducible-parts">Reducing a unit to its irreducible parts</a></li>
<li><a class="reference internal" href="#automatically-composing-a-unit-into-more-complex-units">Automatically composing a unit into more complex units</a></li>
<li><a class="reference internal" href="#converting-between-systems">Converting between systems</a></li>
</ul>
</li>
</ul>


        </div>
      </div>
      <div class="clearer"></div>
    </div>
<footer class="footer">
  <p class="pull-right">
    <a href="http://github.com/astropy/astropy/tree/v0.2.4/docs/units/decomposing_and_composing.rst">Edit This Page on Github</a> &nbsp;
    <a href="../_sources/units/decomposing_and_composing.txt"
       rel="nofollow">Page Source</a> &nbsp;
    <a href="#">Back to Top</a></p>
  <p>
    &copy; Copyright 2011-2013, The Astropy Developers.<br/>
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. &nbsp;
    Last built 22 Oct 2013. <br/>
  </p>
</footer>
  </body>
</html>