#include <deal.II/base/array_view.h>
#include <deal.II/base/tensor.h>
#include <deal.II/lac/exceptions.h>
#include <deal.II/lac/lapack_templates.h>
#include <array>
Go to the source code of this file.
Functions | |
template<int dim, typename Number> | |
Tensor< 2, dim, Number > | project_onto_orthogonal_tensors (const Tensor< 2, dim, Number > &A) |
template Tensor< 2, 1, float > | project_onto_orthogonal_tensors (const Tensor< 2, 1, float > &) |
template Tensor< 2, 2, float > | project_onto_orthogonal_tensors (const Tensor< 2, 2, float > &) |
template Tensor< 2, 3, float > | project_onto_orthogonal_tensors (const Tensor< 2, 3, float > &) |
template Tensor< 2, 1, double > | project_onto_orthogonal_tensors (const Tensor< 2, 1, double > &) |
template Tensor< 2, 2, double > | project_onto_orthogonal_tensors (const Tensor< 2, 2, double > &) |
template Tensor< 2, 3, double > | project_onto_orthogonal_tensors (const Tensor< 2, 3, double > &) |
|
Return the nearest orthogonal matrix
This is a (nonlinear) projection operation since when applied twice, we have
due to the fact that the
A | The tensor for which to find the closest orthogonal tensor. |
Number | The type used to store the entries of the tensor. Must be either float or double . |
A
must not be singular. This is because, conceptually, the problem to be solved here is trying to find a matrix