libigl v2.5.0
Loading...
Searching...
No Matches
polar_svd.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_POLAR_SVD
9#define IGL_POLAR_SVD
10#include "igl_inline.h"
11#include <Eigen/Core>
12
13namespace igl
14{
27 template <
28 typename DerivedA,
29 typename DerivedR,
30 typename DerivedT,
31 typename DerivedU,
32 typename DerivedS,
33 typename DerivedV>
35 const Eigen::MatrixBase<DerivedA> & A,
36 bool includeReflections,
37 Eigen::PlainObjectBase<DerivedR> & R,
38 Eigen::PlainObjectBase<DerivedT> & T,
39 Eigen::PlainObjectBase<DerivedU> & U,
40 Eigen::PlainObjectBase<DerivedS> & S,
41 Eigen::PlainObjectBase<DerivedV> & V);
43 template <
44 typename DerivedA,
45 typename DerivedR,
46 typename DerivedT>
48 const Eigen::MatrixBase<DerivedA> & A,
49 const bool includeReflections,
50 Eigen::PlainObjectBase<DerivedR> & R,
51 Eigen::PlainObjectBase<DerivedT> & T);
54 template <
55 typename DerivedA,
56 typename DerivedR,
57 typename DerivedT,
58 typename DerivedU,
59 typename DerivedS,
60 typename DerivedV>
62 const Eigen::MatrixBase<DerivedA> & A,
63 Eigen::PlainObjectBase<DerivedR> & R,
64 Eigen::PlainObjectBase<DerivedT> & T,
65 Eigen::PlainObjectBase<DerivedU> & U,
66 Eigen::PlainObjectBase<DerivedS> & S,
67 Eigen::PlainObjectBase<DerivedV> & V);
69 template <
70 typename DerivedA,
71 typename DerivedR,
72 typename DerivedT>
74 const Eigen::MatrixBase<DerivedA> & A,
75 Eigen::PlainObjectBase<DerivedR> & R,
76 Eigen::PlainObjectBase<DerivedT> & T);
77}
78#ifndef IGL_STATIC_LIBRARY
79# include "polar_svd.cpp"
80#endif
81#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void polar_svd(const Eigen::MatrixBase< DerivedA > &A, bool includeReflections, Eigen::PlainObjectBase< DerivedR > &R, Eigen::PlainObjectBase< DerivedT > &T, Eigen::PlainObjectBase< DerivedU > &U, Eigen::PlainObjectBase< DerivedS > &S, Eigen::PlainObjectBase< DerivedV > &V)
Computes the polar decomposition (R,T) of a matrix A using SVD singular value decomposition.