<?xml version="1.0" encoding="UTF-8"?>

<xaifnii:NonInlinableIntrinsicDefinitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:xaifnii="http://www.mcs.anl.gov/XAIFNonInlinableIntrinsics"
       xmlns:xaif="http://www.mcs.anl.gov/XAIF"
       xsi:schemaLocation="http://www.mcs.anl.gov/XAIFNonInlinableIntrinsics ../xaif_noninlinable_intrinsics.xsd">     

  <!-- *********************************************************** -->
  <!-- Example 
       Consider myEJfun(x1,x2,x3) where x1 and x2 are inputs and
       x2 and x3 are outputs. Let myEJjac(x1,x2,x3,j21,j22,j31,j32)
                                                                   -->
  <!-- *********************************************************** -->
  <xaifnii:ExplicitJacobian name="myEJfun" jacobian="myEJjac" return_type="real">
    <xaifnii:Partial dep="2" indep="1" partial="4"/>
    <xaifnii:Partial dep="2" indep="2" partial="5"/>
    <xaifnii:Partial dep="3" indep="1" partial="6"/>
    <xaifnii:Partial dep="3" indep="2" partial="7"/>
  </xaifnii:ExplicitJacobian>

  <!-- *********************************************************** -->
  <!-- Example 
       Consider y=myEJfun2(x1,x2) where x1 and x2 are inputs and
       y is output. Let myEJjac2(x1,x2,j12,j13)
                                                                   -->
  <!-- *********************************************************** -->
  <xaifnii:ExplicitJacobian name="myEJfun2" jacobian="myEJjac2">
    <xaifnii:Partial dep="1" indep="2" partial="3"/>
    <xaifnii:Partial dep="1" indep="3" partial="4"/>
  </xaifnii:ExplicitJacobian>	

  <!-- *********************************************************** -->
  <!-- Example 
       Consider y=transpose(x); for the derivatives it is 
       also transpose(x)
                                                                   -->
  <!-- *********************************************************** -->
  <xaifnii:DirectAction name="transpose" derivAction="transpose"/>

</xaifnii:NonInlinableIntrinsicDefinitions>
