<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="m2121">
  
  <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Observability</name>
  
  <metadata xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
  <md:version xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2.9</md:version>
  <md:created xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2001/04/11</md:created>
  <md:revised xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2002/10/24</md:revised>
  <md:authorlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:author xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="aca">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Thanos</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Antoulas</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">aca@rice.edu</md:email>
    </md:author>
    <md:author xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="jps">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">John</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Paul</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Slavinsky</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">jps@alumni.rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="lizychan">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Elizabeth</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Chan</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">lizychan@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="aca">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Thanos</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Antoulas</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">aca@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="jps">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">John</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Paul</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Slavinsky</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">jps@alumni.rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">observability</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">observe</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">observable</md:keyword>
  </md:keywordlist>

  <md:abstract xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">(Blank Abstract)</md:abstract>
</metadata>

  
  <content xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p0">Observability is the tool we use to investigate the internal workings of a system.  It lets us use what we know about the input
      <m:math><m:apply><m:ci type="fn">u</m:ci><m:ci>t</m:ci></m:apply></m:math>
      and the output
      <m:math><m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply></m:math>
      to <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">observe</term> the state of the system
      <m:math><m:apply><m:ci type="fn">x</m:ci><m:ci>t</m:ci></m:apply></m:math>.</para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p1">To understand this concept let's start off with the basic state-space equations describing a system:
      
      <m:math>
	<m:apply>
	  <m:eq/>
	  <m:apply>
	    <m:diff/>
	    <m:ci>x</m:ci>
	  </m:apply>
	  <m:apply>
	    <m:plus/>
	    <m:apply>
	      <m:times/>	
	      <m:ci type="matrix">A</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:times/>
	      <m:ci type="matrix">B</m:ci>
	      <m:ci>u</m:ci>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      
      <m:math>
	<m:apply>
	  <m:eq/>
	  <m:ci>y</m:ci>
	  <m:apply>
	    <m:plus/>
	    <m:apply>
	      <m:times/>	
	      <m:ci type="matrix">C</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:times/>
	      <m:ci type="matrix">D</m:ci>
	      <m:ci>u</m:ci>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      
      If we plug the general solution of the state variable,
      <m:math><m:apply><m:ci type="fn">x</m:ci><m:ci>t</m:ci></m:apply></m:math>,
      into the equation for
      <m:math><m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply></m:math>,
      we'd find the following familiar time-domain equation:
      
      <equation xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="eq1">
 	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn">y</m:ci>
	      <m:ci>t</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:plus/>
	      <m:apply>
		<m:times/>
		<m:ci type="matrix">C</m:ci>
		<m:apply>
		  <m:exp/>
		  <m:apply>
		    <m:times/>
		    <m:ci type="matrix">A</m:ci>
		    <m:ci>t</m:ci>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">x</m:ci>
		  <m:cn>0</m:cn>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:int/>
		<m:bvar><m:ci>τ</m:ci></m:bvar>
		<m:lowlimit><m:cn>0</m:cn></m:lowlimit>
		<m:uplimit><m:ci>t</m:ci></m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:ci type="matrix">C</m:ci>
		  <m:apply>
		    <m:exp/>
		    <m:apply>
		      <m:times/>
		      <m:ci type="matrix">A</m:ci>
		      <m:apply>
			<m:minus/>
			<m:ci>t</m:ci>
			<m:ci>τ</m:ci>
		      </m:apply>
		    </m:apply>
		  </m:apply>
		  <m:ci type="matrix">B</m:ci>
		  <m:apply>
		    <m:ci type="fn">u</m:ci>
		    <m:ci>τ</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:times/>
		<m:ci type="matrix">D</m:ci>
		<m:apply>
		  <m:ci type="fn">u</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>
      
    </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p2">Without loss of generality, we can assume zero input; this will significantly clarify the following discussion.  This assumption can be easily justified.  Based on our initial assumption above, the last two terms on the right-hand side of <cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="eq1" strength="9">time-domain equation</cnxn> are known (because we know
      <m:math><m:apply><m:ci type="fn">u</m:ci><m:ci>t</m:ci></m:apply></m:math>).
      We could simply replace these two terms with some function of <m:math><m:ci>t</m:ci></m:math>.
      We'll group them together into the variable
      <m:math><m:apply><m:ci type="fn"><m:msub><m:mi>y</m:mi><m:mn>0</m:mn></m:msub></m:ci><m:ci>t</m:ci></m:apply></m:math>.
      By moving
      <m:math><m:apply><m:ci type="fn"><m:msub><m:mi>y</m:mi><m:mn>0</m:mn></m:msub></m:ci><m:ci>t</m:ci></m:apply></m:math>
      to the left-hand side, we see that we can again group
      <m:math>
	<m:apply>
	  <m:minus/>
	  <m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply>
	  <m:apply><m:ci type="fn"><m:msub><m:mi>y</m:mi><m:mn>0</m:mn></m:msub></m:ci><m:ci>t</m:ci></m:apply>
	</m:apply>
      </m:math>
      into another replacement function of <m:math><m:ci>t</m:ci></m:math>,
      <m:math><m:apply><m:ci type="fn"><m:mover accent="true"><m:mi>y</m:mi><m:mo>_</m:mo></m:mover></m:ci><m:ci>t</m:ci></m:apply></m:math>.
      This result has the same effect as assuming zero input.
      
      <m:math>
	<m:apply>
	  <m:eq/>
	  <m:apply><m:ci type="fn"><m:mover accent="true"><m:mi>y</m:mi><m:mo>_</m:mo></m:mover></m:ci><m:ci>t</m:ci></m:apply>		
	  <m:apply>
	    <m:minus/>
	    <m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply>
	    <m:apply><m:ci type="fn"><m:msub><m:mi>y</m:mi><m:mn>0</m:mn></m:msub></m:ci><m:ci>t</m:ci></m:apply>
	  </m:apply>
	  <m:apply>
	    <m:times/>
	    <m:ci type="matrix">C</m:ci>
	    <m:apply>
	      <m:exp/>
	      <m:apply>
		<m:times/>
		<m:ci type="matrix">A</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	    </m:apply>
	    <m:apply>
	      <m:ci type="fn">x</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      
      Given the discussion in the above paragraph, we can now start our examination of observability based on the following formula:
      
      <equation xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="eq2">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn">y</m:ci>
	      <m:ci>t</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:times/>
	      <m:ci type="matrix">C</m:ci>
	      <m:apply>
		<m:exp/>
		<m:apply>
		  <m:times/>
		  <m:ci type="matrix">A</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:ci type="fn">x</m:ci>
		<m:cn>0</m:cn>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>			
      
    </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p3">The idea behind observability is to find the state of the system based upon its output.  We will accomplish this by first finding the initial conditions of the state based upon the system's output.  The state equation solution can then use this information to determine the state variable
      <m:math><m:apply><m:ci type="fn">x</m:ci><m:ci>t</m:ci></m:apply></m:math>.  </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p4"><cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="eq2" strength="9">base formula</cnxn> seems to tell us that as long as we known enough about
      <m:math><m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply></m:math>
      we should be able to find
      <m:math><m:apply><m:ci type="fn">x</m:ci><m:cn>0</m:cn></m:apply></m:math>.
      The first question to answer is how much is enough?  Since the initial condition of the state
      <m:math><m:apply><m:ci type="fn">x</m:ci><m:cn>0</m:cn></m:apply></m:math>
      is actually a vector of <m:math><m:ci>n</m:ci></m:math> elements, we have <m:math><m:ci>n</m:ci></m:math> unknowns and therefore need <m:math><m:ci>n</m:ci></m:math> equations to solve the set.  Remember that we have complete knowledge of the output
      <m:math><m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply></m:math>.
      So, to generate these <m:math><m:ci>n</m:ci></m:math> equations, we can simply take <m:math><m:apply><m:minus/><m:ci>n</m:ci><m:cn>1</m:cn></m:apply></m:math>
      derivatives of <cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="eq2" strength="9">base formula</cnxn>.  Taking these
      derivatives is relatively straightforward.  On the right-hand
      side, the derivative operator will only act on the matrix
      exponential term.  Each derivative of it will produce a
      multiplicative term of <m:math><m:ci type="matrix">A</m:ci></m:math>.
Then, as we're dealing with these derivatives of
      <m:math><m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply></m:math>
      at <m:math><m:apply><m:eq/><m:ci>t</m:ci><m:cn>0</m:cn></m:apply></m:math>,
      all of the exponential terms will go to unity
      (<m:math>
	<m:apply>
	  <m:eq/>
	  <m:apply>
	    <m:exp/>
	    <m:apply>
	      <m:times/>
	      <m:ci type="matrix">A</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	  <m:cn>1</m:cn>
	</m:apply>
      </m:math>). 

      <m:math display="block">
	<m:apply>
	  <m:eq/>
	  <m:apply>
	    <m:ci type="fn">y</m:ci>
	    <m:cn>0</m:cn>
	  </m:apply>
	  <m:apply>
	    <m:times/>
	    <m:ci type="matrix">C</m:ci>
	    <m:apply>
	      <m:ci type="fn">x</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>

      <m:math display="block">
	<m:apply>
	  <m:eq/>
	  <m:apply>
	    <m:diff/>
	    <m:bvar><m:ci>t</m:ci><m:degree><m:cn>1</m:cn></m:degree></m:bvar>
	    <m:apply>
	      <m:ci type="fn">y</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	  <m:apply>
	    <m:times/>
	    <m:ci type="matrix">C</m:ci>
	    <m:ci type="matrix">A</m:ci>
	    <m:apply>
	      <m:ci type="fn">x</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      
      <m:math display="block">
	<m:apply>
	  <m:eq/>
	  <m:apply>
	    <m:diff/>
	    <m:bvar><m:ci>t</m:ci><m:degree><m:cn>2</m:cn></m:degree></m:bvar>
	    <m:apply>
	      <m:ci type="fn">y</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	  <m:apply>
	    <m:times/>
	    <m:ci type="matrix">C</m:ci>
	    <m:apply>
	      <m:power/>
	      <m:ci type="matrix">A</m:ci>
	      <m:cn>2</m:cn>
	    </m:apply>
	    <m:apply>
	      <m:ci type="fn">x</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      
      <m:math display="block"><m:ci>⋮</m:ci></m:math>
      
      <m:math display="block">
	<m:apply>
	  <m:eq/>
	  <m:apply>
	    <m:diff/>
	    <m:bvar><m:ci>t</m:ci><m:degree><m:apply><m:minus/><m:ci>n</m:ci><m:cn>1</m:cn></m:apply></m:degree></m:bvar>
	    <m:apply>
	      <m:ci type="fn">y</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	  <m:apply>
	    <m:times/>
	    <m:ci type="matrix">C</m:ci>
	    <m:apply>
	      <m:power/>
	      <m:ci type="matrix">A</m:ci>
	      <m:apply>
		<m:minus/>
		<m:ci>n</m:ci>
		<m:cn>1</m:cn>
	      </m:apply>
	    </m:apply>
	    <m:apply>
	      <m:ci type="fn">x</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      This can be re-expressed in matrix notation.
      
      <m:math display="block">
	<m:apply>
	  <m:eq/>
	  <m:matrix>
	    <m:matrixrow>
	      <m:apply>
		<m:ci type="fn">y</m:ci>
		<m:cn>0</m:cn>
	      </m:apply>
	    </m:matrixrow>
	    <m:matrixrow>
	      <m:apply>
		<m:diff/>
		<m:bvar><m:ci>t</m:ci><m:degree><m:cn>1</m:cn></m:degree></m:bvar>
		<m:apply>
		  <m:ci type="fn">y</m:ci>
		  <m:cn>0</m:cn>
		</m:apply>
	      </m:apply>
	    </m:matrixrow>
	    <m:matrixrow>
	      <m:apply>
		<m:diff/>
		<m:bvar><m:ci>t</m:ci><m:degree><m:cn>2</m:cn></m:degree></m:bvar>
		<m:apply>
		  <m:ci type="fn">y</m:ci>
		  <m:cn>0</m:cn>
		</m:apply>
	      </m:apply>
	    </m:matrixrow>
	    <m:matrixrow><m:ci>⋮</m:ci></m:matrixrow>
	    <m:matrixrow>
	      <m:apply>
		<m:diff/>
		<m:bvar><m:ci>t</m:ci><m:degree><m:apply><m:minus/><m:ci>n</m:ci><m:cn>1</m:cn></m:apply></m:degree></m:bvar>
		<m:apply>
		  <m:ci type="fn">y</m:ci>
		  <m:cn>0</m:cn>
		</m:apply>
	      </m:apply>
	    </m:matrixrow>
	  </m:matrix>
	  <m:apply>
	    <m:times/>
	    <m:matrix>
	      <m:matrixrow><m:ci type="matrix">C</m:ci></m:matrixrow>
	      <m:matrixrow><m:apply><m:times/><m:ci type="matrix">C</m:ci><m:ci type="matrix">A</m:ci></m:apply></m:matrixrow>
	      <m:matrixrow><m:apply><m:times/><m:ci type="matrix">C</m:ci><m:apply><m:power/><m:ci type="matrix">A</m:ci><m:cn>2</m:cn></m:apply></m:apply></m:matrixrow>
				<m:matrixrow><m:ci>⋮</m:ci></m:matrixrow>
	      <m:matrixrow>
		<m:apply>
		  <m:times/>
		  <m:ci type="matrix">C</m:ci>
		  <m:apply>
		    <m:power/>
		    <m:ci type="matrix">A</m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:ci>n</m:ci>
		      <m:cn>1</m:cn>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:matrixrow>
	    </m:matrix>
	    <m:apply>
	      <m:ci type="fn">x</m:ci>
	      <m:cn>0</m:cn>
	    </m:apply>
	  </m:apply>
	</m:apply>		
      </m:math>
      
    </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p5">The first term on the right-hand side is known as the observability matrix, 
      <m:math><m:apply><m:ci type="fn">σ</m:ci><m:ci type="matrix">C</m:ci><m:ci type="matrix">A</m:ci></m:apply></m:math>:
      
      <equation xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="eq3">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply><m:ci type="fn">σ</m:ci><m:ci type="matrix">C</m:ci><m:ci type="matrix">A</m:ci></m:apply>
	    <m:matrix>
	      <m:matrixrow><m:ci type="matrix">C</m:ci></m:matrixrow>
	      <m:matrixrow><m:apply><m:times/><m:ci type="matrix">C</m:ci><m:ci type="matrix">A</m:ci></m:apply></m:matrixrow>
	      <m:matrixrow><m:apply><m:times/><m:ci type="matrix">C</m:ci><m:apply><m:power/><m:ci type="matrix">A</m:ci><m:cn>2</m:cn></m:apply></m:apply></m:matrixrow>
	      <m:matrixrow><m:ci>⋮</m:ci></m:matrixrow>
	      <m:matrixrow>
		<m:apply>
		  <m:times/>
		  <m:ci type="matrix">C</m:ci>
		  <m:apply>
		    <m:power/>
		    <m:ci type="matrix">A</m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:ci>n</m:ci>
		      <m:cn>1</m:cn>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:matrixrow>
	    </m:matrix>					
	  </m:apply>
	</m:math>
      </equation>
    </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p6">We call the system <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">completely observable</term> if the rank of the observability matrix equals <m:math><m:ci>n</m:ci></m:math>.
      This guarantees that we'll have enough independent equations to solve for the
      <m:math><m:ci>n</m:ci></m:math> components of the state
      <m:math><m:apply><m:ci type="fn">x</m:ci><m:ci>t</m:ci></m:apply></m:math>.
    </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p7">Whereas for controllability we talked about the system's controllable space, for observability we will talk about a system's <emphasis xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">un</emphasis>observable space,
      <m:math><m:ci><m:msup><m:mi>X</m:mi><m:mi>unobs</m:mi></m:msup></m:ci></m:math>.
      The unobservable space is found by taking the kernel of the observability matrix.  This makes sense because when you multiply a vector in the kernel of the observability matrix by the observability matrix, the result will be <m:math><m:cn>0</m:cn></m:math>.
The problem is that when we get a zero result for
      <m:math><m:apply><m:ci type="fn">y</m:ci><m:ci>t</m:ci></m:apply></m:math>,
      we cannot say with certainty whether the zero result was caused by
<m:math><m:apply><m:ci type="fn">x</m:ci><m:ci>t</m:ci></m:apply></m:math>
      itself being zero or by
<m:math><m:apply><m:ci type="fn">x</m:ci><m:ci>t</m:ci></m:apply></m:math>
      being a vector in the nullspace.  As we cannot give a definite answer in this case, all of these vectors are said to be unobservable.  
    </para>
    
    <para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="p8">One cool thing to note is that the observability and controllability matrices are intimately related:
      
      <equation xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="eq4">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:transpose/>
	      <m:apply>
		<m:ci type="fn">σ</m:ci>
		<m:ci type="matrix">C</m:ci>
		<m:ci type="matrix">A</m:ci>
	      </m:apply>
	    </m:apply>
	    <m:apply>
	      <m:ci type="fn">C</m:ci>
	      <m:apply>
		<m:transpose/>
		<m:ci type="matrix">A</m:ci>
	      </m:apply>
	      <m:apply>
		<m:transpose/>
		<m:ci type="matrix">C</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>
    </para>
  </content>
</document>
