Imported Upstream version 1.49.0
[platform/upstream/boost.git] / libs / math / doc / octonion / html / boost_octonions / octonions / oct_create.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Octonion Creation Functions</title>
5 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
7 <link rel="home" href="../../index.html" title="Boost.Octonions">
8 <link rel="up" href="../octonions.html" title="Octonions">
9 <link rel="prev" href="octonion_value_operations.html" title="Octonion Value Operations">
10 <link rel="next" href="octonions_transcendentals.html" title="Octonions Transcendentals">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="octonion_value_operations.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonions_transcendentals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section" lang="en">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_octonions.octonions.oct_create"></a><a class="link" href="oct_create.html" title="Octonion Creation Functions">Octonion Creation
28       Functions</a>
29 </h3></div></div></div>
30 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">spherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi6</span><span class="special">);</span>
31 <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">multipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta4</span><span class="special">);</span>
32 <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h6</span><span class="special">);</span>
33 </pre>
34 <p>
35         These build octonions in a way similar to the way polar builds complex numbers,
36         as there is no strict equivalent to polar coordinates for octonions.
37       </p>
38 <p>
39         <code class="computeroutput"><span class="identifier">spherical</span></code> is a simple transposition
40         of <code class="computeroutput"><span class="identifier">polar</span></code>, it takes as inputs
41         a (positive) magnitude and a point on the hypersphere, given by three angles.
42         The first of these, <span class="emphasis"><em>theta</em></span> has a natural range of -pi
43         to +pi, and the other two have natural ranges of -pi/2 to +pi/2 (as is the
44         case with the usual spherical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>).
45         Due to the many symmetries and periodicities, nothing untoward happens if
46         the magnitude is negative or the angles are outside their natural ranges.
47         The expected degeneracies (a magnitude of zero ignores the angles settings...)
48         do happen however.
49       </p>
50 <p>
51         <code class="computeroutput"><span class="identifier">cylindrical</span></code> is likewise a
52         simple transposition of the usual cylindrical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>, which in turn is another derivative of
53         planar polar coordinates. The first two inputs are the polar coordinates
54         of the first <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> component
55         of the octonion. The third and fourth inputs are placed into the third and
56         fourth <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span> components
57         of the octonion, respectively.
58       </p>
59 <p>
60         <code class="computeroutput"><span class="identifier">multipolar</span></code> is yet another
61         simple generalization of polar coordinates. This time, both <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> components of the octonion are given
62         in polar coordinates.
63       </p>
64 <p>
65         In this version of our implementation of octonions, there is no analogue
66         of the complex value operation arg as the situation is somewhat more complicated.
67       </p>
68 </div>
69 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
70 <td align="left"></td>
71 <td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
72         Distributed under the Boost Software License, Version 1.0. (See accompanying
73         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
74       </p>
75 </div></td>
76 </tr></table>
77 <hr>
78 <div class="spirit-nav">
79 <a accesskey="p" href="octonion_value_operations.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonions_transcendentals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
80 </div>
81 </body>
82 </html>