(Denis Davydov, 2016/09/28)
</li>
+ <li> New: The Tensor class has two new functions implemented, namely those
+ that return its Tensor::adjoint() and Tensor::cofactor().
+ <br>
+ (Jean-Paul Pelteret, 2016/09/25)
+ </li>
+
<li> Improved: The doxygen documentation now contains nicely formatted
boxes containing the text message of each exception. Several messages
haven been clarified and improved.
}
+/**
+ * Return the adjugate of the given tensor of rank 2.
+ * The adjugate of a tensor $\left(\bullet\right)$ is defined as
+ * @f[
+ * \textrm{adj}\left(\bullet\right)
+ * := \textrm{det}\left(\bullet\right) \; \left(\bullet\right)^{-1} \; .
+ * @f]
+ *
+ * @note This requires that the tensor is invertible.
+ *
+ * @relates Tensor
+ * @author Jean-Paul Pelteret, 2016
+ */
+template <int dim, typename Number>
+inline
+Tensor<2,dim,Number>
+adjugate (const Tensor<2,dim,Number> &t)
+{
+ return determinant(t)*invert(t);
+}
+
+
+/**
+ * Return the cofactor of the given tensor of rank 2.
+ * The cofactor of a tensor $\left(\bullet\right)$ is defined as
+ * @f[
+ * \textrm{cof}\left(\bullet\right)
+ * := \textrm{det}\left(\bullet\right) \; \left(\bullet\right)^{-T}
+ * = \left[ \textrm{adj}\left(\bullet\right) \right]^{T} \; .
+ * @f]
+ *
+ * @note This requires that the tensor is invertible.
+ *
+ * @relates Tensor
+ * @author Jean-Paul Pelteret, 2016
+ */
+template <int dim, typename Number>
+inline
+Tensor<2,dim,Number>
+cofactor (const Tensor<2,dim,Number> &t)
+{
+ return transpose(adjugate(t));
+}
+
+
/**
* Return the $l_1$ norm of the given rank-2 tensor, where $||t||_1 = \max_j
* \sum_i |t_{ij}|$ (maximum of the sums over columns).