<p>From its RV graph alone, with no other information, you cannot calculate inclination.  This is why RV velocity measurements are typically reported as "<span class="math-container">$v \sin{i}$</span>", because what you're actually measuring is the orbital velocity projected along the line of sight.  Without other information, you cannot disentangle the orbital velocity from the viewing angle.</p>

<p>What additional information could be had that would allow you to disentangle?  The following list is probably not exhaustive.</p>

<ul>
<li>If you can observe the two stars as separate objects, then you can track their relative positions through an orbit and can measure inclination that way.</li>
<li>If you have "light curves" (brightness measurements over time) for the star(s) and you see periodic eclipses corresponding to the period and correct epoch from the radial velocity data, then you know the stars are aligned such that they periodically have their light blocked by one, the other, or both.  In such a case, you know that the inclination must be close to 90 degrees else the eclipses could not occur.</li>
<li>If you have reliable distance measurements to the stars and determine somehow that they are main sequence stars, you can determine the star's masses via theoretical stellar evolution models and calculations given a measurement of absolute luminosity (from a measurement of the apparent luminosity coupled with the distance measure).  Once you know the star's masses, you can calculate the expected orbital velocity, compare with your <span class="math-container">$v\sin{i}$</span> measure, and determine the inclination.</li>
<li>If the stars are not main sequence stars in the above scenario, then you'll need some additional information (their ages should be sufficient) to correctly extract a mass from their apparent luminosity <em>and</em> color.</li>
</ul>

CC BY-SA 4.0
2019-06-04T23:47:33.117Z
Is this really *always true*, even for elliptical orbits with arbitrary orientations, or only for circular orbits? I'm just curious.
uhoh
CC BY-SA 4.0
2019-06-04T23:51:26.617Z
@uhoh, I believe so, though you or somebody please let me know if I am wrong.  No matter the orbit characteristics, the inclination determines how much of the velocity is along the line of sight and thus can be seen as a radial velocity.  Whether that velocity is changing in (relatively) crazy ways because of high eccentricity, all changing the inclination does is change the maximum amount of the velocity that can be observed.
NeutronStar
CC BY-SA 4.0
2019-06-04T23:57:42.130Z
But if there is a graph of velocity versus time, then it will have a specific shape. The question asks about a graph, not just a single radial velocity measurement. Think about a short-period object where you can plot out the velocity versus time over a complete orbit.
uhoh
CC BY-SA 4.0
2019-06-05T01:38:43.790Z
Eccentricity will show up in the velocity curve. Imagine a very eccentric orbit. If its point of closest approach is on our side, the peak velocity towards us will be instantly followed by peak velocity away from us and the rest of the orbit will be boring. If on the opposite side, the other way round. If the orbit is sideways on to us, you will get just one peak and not the other.
Martin Kochanski
CC BY-SA 4.0
2019-06-05T02:00:41.443Z
@MartinKochanski, yes, but that shape doesn't tell you anything about the *inclination*, which is the question being asked.
NeutronStar
CC BY-SA 4.0
2019-06-05T02:02:45.713Z
@uhoh, yes it will have a specific shape, but the inclination + maximum velocity (via $v \sin{i}$) sets the amplitude of that shape.  Inclination does not have an impact on shape, nor does shape inform us about inclination.
NeutronStar
CC BY-SA 4.0
2019-06-05T03:17:10.197Z
@NeutronStar  yes but the amplitude is not the only thing you have when you have the shape; *you have the shape!* and that can be analyzed. For example see [this figure](https://i.sstatic.net/DOvXx.png) from [here](https://www.researchgate.net/publication/232063462_Exoplanet_Detection_Methods)
uhoh
CC BY-SA 4.0
2019-06-05T04:04:25.653Z
@uhoh, yes, but the shape *does not give any inclination information*.  Inclination sets the *amplitude* of the curve, but not the shape.  To quote from the paper you linked, "These parameters [inclination and longitude of the ascending node] cannot be determined with radial velocity observations alone, and can only be measured through astrometry, where the angular
displacement of the star on the sky is directly measured."
NeutronStar
CC BY-SA 4.0
2019-06-05T04:21:55.273Z
@NeutronStar it is slowly sinking in now ;-) Yes, inclination is completely correlated with some combination of reduced mass and semi-major axis; data from a higher inclination system just looks like a lower mass system with the same period. I got all fired up and built a big library of orbits ready for a Python-based library search answer. I'll save it for a rainy day. Thanks for your patience!!
uhoh
CC BY-SA 4.0
2019-06-05T13:10:51.120Z
@uhoh, you might consider running those orbits and showing the plots here as an answer.  Pictures to really show what I've tried to explain with mere words.
NeutronStar
CC BY-SA 4.0
2019-06-06T00:01:33.330Z
[Done!](https://astronomy.stackexchange.com/a/32181/7982) Comments, corrections, edits, suggested improvements etc. welcome!
uhoh
CC BY-SA 4.0
2019-06-04T16:08:04.047Z
2019-06-04T16:08:04.047Z
NeutronStar
<p>@NeutronStar's <a href="https://astronomy.stackexchange.com/a/32159/7982">excellent answer</a> sums up the situation nicely:</p>

<blockquote>
  <p>From its RV (radial velocity) graph alone, with no other information, you cannot calculate inclination. This is why RV velocity measurements are typically reported as "sin", because what you're actually measuring is the orbital velocity projected along the line of sight. Without other information, you cannot disentangle the orbital velocity from the viewing angle.</p>
</blockquote>

<p>After being confused, I finally <a href="https://astronomy.stackexchange.com/questions/32158/how-does-one-calculate-inclination-from-a-graph-of-radial-velocity/32159?noredirect=1#comment58904_32159">convinced myself</a> that this is the case.</p>

<p>From a plot of radial velocity versus time, assuming the period is fairly short, we have a cyclic plot which gives us a specific shape and amplitude as well as a period. The period gives us the combination of the semi major axis associated with the pair's orbit around their center of mass, and mass of the system. From <a href="https://space.stackexchange.com/a/27101/12102">this answer</a>:</p>

<p><span class="math-container">$$T = 2 \pi \sqrt{\frac{a^3}{m_1 + m_2}},$$</span></p>

<p>You could have a heavy system or a light system with the same period, just different size orbits. The <em>shapes</em> of the two orbit could still be the same, and this means the <em>shape</em> of the velocity profiles could be the same as well, just with different scale factors. For velocity, the vis-viva equation tells us that that for smaller orbits the velocity profile will scale as <span class="math-container">$1/\sqrt{a}$</span>.</p>

<p>As @NeutronStar's answer explains, the inclination of the orbit relative to our line of sight will reduce the radial velocity by a geometrical multiplicative factor <span class="math-container">$\cos(\theta_{inc})$</span>. This will have no effect on the shape, it's strictly a scaling factor.</p>

<p>So there is no way to tell the difference between the geometrical reduction of a radial velocity curve and a physical reduction of the velocity due to lower reduced mass. </p>

<p>In curve-fitting parlance two parameters are 100% correlated and so they can never be independently determined from radial velocity alone.</p>

<p>By invitation I have included a simple Python script that builds a library of <em>unique</em> radial velocity profiles from elliptical orbits of varying eccentricity, inclination, and orientation. It doesn't span all possible Keplerian orbits, but it covers all possible shapes.</p>

<p>The first plot shows a sparse sampling, for each combination of eccentricity and rotation is plotted 0 and 60 degree inclinations. They have the same shape, just different amplitude. This is illustrated by the second plot which is the 0 degree versus 60 degree velocity profile, showing slopes of 2.0</p>

<p>The last plot the "library" of shapes. </p>

<p>When <em>curve fitting via library search</em>, one would compare a velocity profile shape to all of these and select the best fit, then either interpolate between nearest neighbor curves or do a quick iterative fit with an orbit generator.</p>

<p><img src="https://i.sstatic.net/QiSxB.png" alt="enter image description here"></p>

<p><img src="https://i.sstatic.net/Mpxsf.png" alt="enter image description here"></p>

<p><img src="https://i.sstatic.net/bre1J.jpg" alt="enter image description here"></p>

<pre><code>def deriv(X, t):
    x, v = X.reshape(2, -1)
    acc  = -x * ((x**2).sum())**-1.5
    return np.hstack((v, acc))

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]
degs, rads        = 180/pi, pi/180

eccs   = np.linspace(0, 0.7,    30)
incs   = np.linspace(0, halfpi, 19)   # not used
thetas = np.linspace(0, pi,  41)[:-1]
times  = np.linspace(0, twopi, 257)[:-1]

A = np.array([f(thetas) for f in (np.cos, np.sin, np.ones_like)]).T[:, None, :, None]
B = np.array([f(incs) for f in (np.cos, np.ones_like, np.sin)]).T[:, None, None, :, None]   # not used

# Set semimajor axis a to 1.0, period to twopi

# build small library of orbits
velocities = [] 
for ecc in eccs:
    peri   = 1. - ecc
    v0     = np.sqrt(2./peri - 1.)
    X0     = np.array([peri, 0, 0] +  [0, v0, 0])
    answer, info = ODEint(deriv, X0, times, full_output=True)
    xx, vv = answer.T.reshape(2, 3, -1)
    velocities.append(vv)

velocities  = np.array(velocities)

big_library = B * A * velocities    # not used  # build larger library of rotations
med_library = A * velocities # build medium library of rotations

# library     = big_library[...,0, :].reshape(-1, big_library.shape[-1])   # not used
library     = med_library[...,0, :].reshape(-1, med_library.shape[-1])
noinc_library     = med_library[..., 0, :].reshape(-1, med_library.shape[-1])

print library.shape

a, b = big_library[[0, 12], ::10, ::10, 0].reshape(2, 12, -1) # small sample

if True:
    plt.figure()
    for i, (c, d) in enumerate(zip(a, b)):
        plt.subplot(4, 3, i+1)
        plt.plot(c)
        plt.plot(d)
        #plt.plot(c/d)
    plt.show()

if True:
    plt.figure()
    for i, (c, d) in enumerate(zip(a, b)):
        plt.subplot(4, 3, i+1)
        plt.plot(d, c)
    plt.show()

if True:
    plt.figure()
    for v in noinc_library:
        plt.plot(times/twopi, v)
    plt.show()
</code></pre>

CC BY-SA 4.0
2019-06-06T10:49:30.613Z
@ArnabChowdhury thank you for fixing my equation! It seems that [I'd known that recently](https://space.stackexchange.com/q/33910/12102) but I guess that I have "re-forgotten it" ;-) (my [original source](http://radio.astro.gla.ac.uk/a1dynamics/twobody.pdf))
uhoh
CC BY-SA 4.0
2019-06-06T00:00:41.983Z
2019-06-06T10:47:15.387Z
2019-06-06T10:47:15.387Z
uhoh
<p>If a binary star system has a non-zero inclination, how would that show up in a graph of radial velocity?</p>

<p>How could I then extract the inclination from the graph?</p>

<binary-star><inclination><radial-velocity>
How does one calculate inclination from a graph of radial velocity?
Arnab Chowdhury
# How does one calculate inclination from a graph of radial velocity?

(Asked by: username_0 on 2019-06-04)

If a binary star system has a non-zero inclination, how would that show up in a graph of radial velocity?

How could I then extract the inclination from the graph?

**Tags:** binary-star, inclination, radial-velocity

---

## 2 answers

### Answer by username_1 on 2019-06-04. Score: 6

From its RV graph alone, with no other information, you cannot calculate inclination. This is why RV velocity measurements are typically reported as "$v \sin{i}$", because what you're actually measuring is the orbital velocity projected along the line of sight. Without other information, you cannot disentangle the orbital velocity from the viewing angle.

What additional information could be had that would allow you to disentangle? The following list is probably not exhaustive.

* If you can observe the two stars as separate objects, then you can track their relative positions through an orbit and can measure inclination that way.
* If you have "light curves" (brightness measurements over time) for the star(s) and you see periodic eclipses corresponding to the period and correct epoch from the radial velocity data, then you know the stars are aligned such that they periodically have their light blocked by one, the other, or both. In such a case, you know that the inclination must be close to 90 degrees else the eclipses could not occur.
* If you have reliable distance measurements to the stars and determine somehow that they are main sequence stars, you can determine the star's masses via theoretical stellar evolution models and calculations given a measurement of absolute luminosity (from a measurement of the apparent luminosity coupled with the distance measure). Once you know the star's masses, you can calculate the expected orbital velocity, compare with your $v\sin{i}$ measure, and determine the inclination.
* If the stars are not main sequence stars in the above scenario, then you'll need some additional information (their ages should be sufficient) to correctly extract a mass from their apparent luminosity *and* color.

> **Comments:**
> **username_2**: Is this really *always true*, even for elliptical orbits with arbitrary orientations, or only for circular orbits? I'm just curious.  
> **username_1**: @uhoh, I believe so, though you or somebody please let me know if I am wrong.  No matter the orbit characteristics, the inclination determines how much of the velocity is along the line of sight and thus can be seen as a radial velocity.  Whether that velocity is changing in (relatively) crazy ways because of high eccentricity, all changing the inclination does is change the maximum amount of the velocity that can be observed.  
> **username_2**: But if there is a graph of velocity versus time, then it will have a specific shape. The question asks about a graph, not just a single radial velocity measurement. Think about a short-period object where you can plot out the velocity versus time over a complete orbit.  
> **username_3**: Eccentricity will show up in the velocity curve. Imagine a very eccentric orbit. If its point of closest approach is on our side, the peak velocity towards us will be instantly followed by peak velocity away from us and the rest of the orbit will be boring. If on the opposite side, the other way round. If the orbit is sideways on to us, you will get just one peak and not the other.  
> **username_1**: @MartinKochanski, yes, but that shape doesn't tell you anything about the *inclination*, which is the question being asked.  
> **username_1**: @uhoh, yes it will have a specific shape, but the inclination + maximum velocity (via $v \sin{i}$) sets the amplitude of that shape.  Inclination does not have an impact on shape, nor does shape inform us about inclination.  
> **username_2**: @NeutronStar  yes but the amplitude is not the only thing you have when you have the shape; *you have the shape!* and that can be analyzed. For example see [this figure](https://i.sstatic.net/DOvXx.png) from [here](https://www.researchgate.net/publication/232063462_Exoplanet_Detection_Methods)  
> **username_1**: @uhoh, yes, but the shape *does not give any inclination information*.  Inclination sets the *amplitude* of the curve, but not the shape.  To quote from the paper you linked, "These parameters [inclination and longitude of the ascending node] cannot be determined with radial velocity observations alone, and can only be measured through astrometry, where the angular displacement of the star on the sky is directly measured."  
> **username_2**: @NeutronStar it is slowly sinking in now ;-) Yes, inclination is completely correlated with some combination of reduced mass and semi-major axis; data from a higher inclination system just looks like a lower mass system with the same period. I got all fired up and built a big library of orbits ready for a Python-based library search answer. I'll save it for a rainy day. Thanks for your patience!!  
> **username_1**: @uhoh, you might consider running those orbits and showing the plots here as an answer.  Pictures to really show what I've tried to explain with mere words.  
> **username_2**: [Done!](https://astronomy.stackexchange.com/a/32181/7982) Comments, corrections, edits, suggested improvements etc. welcome!  

---

### Answer by username_2 on 2019-06-06. Score: 3

@NeutronStar's excellent answer sums up the situation nicely:

From its RV (radial velocity) graph alone, with no other information, you cannot calculate inclination. This is why RV velocity measurements are typically reported as "sin", because what you're actually measuring is the orbital velocity projected along the line of sight. Without other information, you cannot disentangle the orbital velocity from the viewing angle.

After being confused, I finally convinced myself that this is the case.
From a plot of radial velocity versus time, assuming the period is fairly short, we have a cyclic plot which gives us a specific shape and amplitude as well as a period. The period gives us the combination of the semi major axis associated with the pair's orbit around their center of mass, and mass of the system. From this answer:
$$T = 2 \pi \sqrt{\frac{a^3}{m_1 + m_2}},$$
You could have a heavy system or a light system with the same period, just different size orbits. The shapes of the two orbit could still be the same, and this means the shape of the velocity profiles could be the same as well, just with different scale factors. For velocity, the vis-viva equation tells us that that for smaller orbits the velocity profile will scale as $1/\sqrt{a}$.
As @NeutronStar's answer explains, the inclination of the orbit relative to our line of sight will reduce the radial velocity by a geometrical multiplicative factor $\cos(\theta_{inc})$. This will have no effect on the shape, it's strictly a scaling factor.
So there is no way to tell the difference between the geometrical reduction of a radial velocity curve and a physical reduction of the velocity due to lower reduced mass. 
In curve-fitting parlance two parameters are 100% correlated and so they can never be independently determined from radial velocity alone.
By invitation I have included a simple Python script that builds a library of unique radial velocity profiles from elliptical orbits of varying eccentricity, inclination, and orientation. It doesn't span all possible Keplerian orbits, but it covers all possible shapes.
The first plot shows a sparse sampling, for each combination of eccentricity and rotation is plotted 0 and 60 degree inclinations. They have the same shape, just different amplitude. This is illustrated by the second plot which is the 0 degree versus 60 degree velocity profile, showing slopes of 2.0
The last plot the "library" of shapes. 
When curve fitting via library search, one would compare a velocity profile shape to all of these and select the best fit, then either interpolate between nearest neighbor curves or do a quick iterative fit with an orbit generator.



def deriv(X, t):
    x, v = X.reshape(2, -1)
    acc  = -x * ((x**2).sum())**-1.5
    return np.hstack((v, acc))

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]
degs, rads        = 180/pi, pi/180

eccs   = np.linspace(0, 0.7,    30)
incs   = np.linspace(0, halfpi, 19)   # not used
thetas = np.linspace(0, pi,  41)[:-1]
times  = np.linspace(0, twopi, 257)[:-1]

A = np.array([f(thetas) for f in (np.cos, np.sin, np.ones_like)]).T[:, None, :, None]
B = np.array([f(incs) for f in (np.cos, np.ones_like, np.sin)]).T[:, None, None, :, None]   # not used

# Set semimajor axis a to 1.0, period to twopi

# build small library of orbits
velocities = [] 
for ecc in eccs:
    peri   = 1. - ecc
    v0     = np.sqrt(2./peri - 1.)
    X0     = np.array([peri, 0, 0] +  [0, v0, 0])
    answer, info = ODEint(deriv, X0, times, full_output=True)
    xx, vv = answer.T.reshape(2, 3, -1)
    velocities.append(vv)

velocities  = np.array(velocities)

big_library = B * A * velocities    # not used  # build larger library of rotations
med_library = A * velocities # build medium library of rotations

# library     = big_library[...,0, :].reshape(-1, big_library.shape[-1])   # not used
library     = med_library[...,0, :].reshape(-1, med_library.shape[-1])
noinc_library     = med_library[..., 0, :].reshape(-1, med_library.shape[-1])

print library.shape

a, b = big_library[[0, 12], ::10, ::10, 0].reshape(2, 12, -1) # small sample

if True:
    plt.figure()
    for i, (c, d) in enumerate(zip(a, b)):
        plt.subplot(4, 3, i+1)
        plt.plot(c)
        plt.plot(d)
        #plt.plot(c/d)
    plt.show()

if True:
    plt.figure()
    for i, (c, d) in enumerate(zip(a, b)):
        plt.subplot(4, 3, i+1)
        plt.plot(d, c)
    plt.show()

if True:
    plt.figure()
    for v in noinc_library:
        plt.plot(times/twopi, v)
    plt.show()

> **Comments:**
> **username_2**: @ArnabChowdhury thank you for fixing my equation! It seems that [I'd known that recently](https://space.stackexchange.com/q/33910/12102) but I guess that I have "re-forgotten it" ;-) (my [original source](http://radio.astro.gla.ac.uk/a1dynamics/twobody.pdf))  

---

