/external/eigen/doc/ |
I02_HiPerformance.dox | 30 alpha is a scalar value, and op1, op2 can be transpose, adjoint, conjugate, or the identity. 37 \code m1.noalias() -= s4 * (s1 * m2.adjoint() * (-(s3*m3).conjugate()*s2)) \endcode 39 \code m1.noalias() += (s1*s2*conj(s3)*s4) * m2.adjoint() * m3.conjugate() \endcode 76 m1.noalias() += (m2 * m3).adjoint(); \endcode</td> 79 m1 += temp.adjoint(); \endcode</td> 81 m1.noalias() += m3.adjoint() 82 * m2.adjoint(); \endcode</td>
|
C02_TutorialMatrixArithmetic.dox | 94 The transpose \f$ a^T \f$, conjugate \f$ \bar{a} \f$, and adjoint (i.e., conjugate transpose) \f$ a^* \f$ of a matrix or vector \f$ a \f$ are obtained by the member functions \link DenseBase::transpose() transpose()\endlink, \link MatrixBase::conjugate() conjugate()\endlink, and \link MatrixBase::adjoint() adjoint()\endlink, respectively. 105 For real matrices, \c conjugate() is a no-operation, and so \c adjoint() is equivalent to \c transpose(). 107 As for basic arithmetic operators, \c transpose() and \c adjoint() simply return a proxy object without doing the actual transposition. If you do <tt>b = a.transpose()</tt>, then the transpose is evaluated at the same time as the result is written into \c b. However, there is a complication here. If you do <tt>a = a.transpose()</tt>, then Eigen starts writing the result into \c a before the evaluation of the transpose is finished. Therefore, the instruction <tt>a = a.transpose()</tt> does not replace \c a with its transpose, as one would expect: 160 \b Note: for BLAS users worried about performance, expressions such as <tt>c.noalias() -= 2 * a.adjoint() * b;</tt> are fully optimized and trigger a single gemm-like function call. 164 For dot product and cross product, you need the \link MatrixBase::dot() dot()\endlink and \link MatrixBase::cross() cross()\endlink methods. Of course, the dot product can also be obtained as a 1x1 matrix as u.adjoint()*v.
|
TopicLinearAlgebraDecompositions.dox | 128 <td>Self-adjoint</td> 202 <td>Self-adjoint</td> 238 More generally, a matrix \f$ A \f$ is selfadjoint if and only if it is equal to its adjoint \f$ A^* \f$. The adjoint is also called the \em conjugate \em transpose. </dd>
|
QuickReference.dox | 347 transposition \n adjoint \matrixworld</td><td>\code 349 mat1 = mat2.adjoint(); mat1.adjointInPlace(); 355 scalar = col1.adjoint() * col2; 356 scalar = (col1.adjoint() * col2).value();\endcode 548 <a href="#" class="top">top</a>\section QuickRef_DiagTriSymm Diagonal, Triangular, and Self-adjoint matrices 615 m3 += s1 * m1.adjoint().triangularView<Eigen::UnitUpper>() * m2 616 m3 -= s1 * m2.conjugate() * m1.adjoint().triangularView<Eigen::Lower>() \endcode 625 L1.triangularView<Eigen::Lower>().adjoint().solveInPlace(M3) 650 m3 -= s1 * m3.adjoint() * m1.selfadjointView<Eigen::Lower>();\endcode 658 M1.selfadjointView<Eigen::Lower>().rankUpdate(M2.adjoint(),-1); \endcod [all...] |
/external/eigen/Eigen/src/Householder/ |
BlockHouseholder.h | 34 triFactor.col(i).head(i).noalias() = -hCoeffs(i) * vectors.block(i, 0, rs, i).adjoint() 58 VectorsType::MaxColsAtCompileTime,MatrixType::MaxColsAtCompileTime> tmp = V.adjoint() * mat; 60 tmp = T.template triangularView<Upper>().adjoint() * tmp;
|
HouseholderSequence.h | 46 * A.applyOnTheRight(H.adjoint()); // A = A * H^* 47 * A.applyOnTheLeft(H.adjoint()); // A = H^* * A 50 * In addition to the adjoint, you can also apply the inverse (=adjoint), the transpose, and the conjugate operators. 217 /** \brief Adjoint (conjugate transpose) of the Householder sequence. */ 218 ConjugateReturnType adjoint() const function in class:Eigen::HouseholderSequence 223 /** \brief Inverse of the Householder sequence (equals the adjoint). */ 224 ConjugateReturnType inverse() const { return adjoint(); } 372 /* Necessary for .adjoint() and .conjugate() */
|
/external/eigen/test/ |
selfadjoint.cpp | 32 VERIFY_IS_APPROX(m3, m3.adjoint()); 37 VERIFY_IS_APPROX(m3, m3.adjoint());
|
eigensolver_selfadjoint.cpp | 34 MatrixType symmA = a.adjoint() * a + a1.adjoint() * a1; 39 MatrixType symmB = b.adjoint() * b + b1.adjoint() * b1; 102 // FIXME tridiag.matrixQ().adjoint() does not work 103 VERIFY_IS_APPROX(MatrixType(symmA.template selfadjointView<Lower>()), tridiag.matrixQ() * tridiag.matrixT().eval() * MatrixType(tridiag.matrixQ()).adjoint());
|
upperbidiagonalization.cpp | 26 MatrixType c = ubd.householderU() * b * ubd.householderV().adjoint();
|
eigensolver_generic.cpp | 32 MatrixType symmA = a.adjoint() * a + a1.adjoint() * a1;
|
product_trsolve.cpp | 47 VERIFY_TRSM(cmLhs.adjoint() .template triangularView<Lower>(), cmRhs); 51 VERIFY_TRSM(cmLhs.adjoint() .template triangularView<Upper>(), rmRhs);
|
sparse_solvers.cpp | 19 refMat = refMat * refMat.adjoint(); 23 refMat += aux * aux.adjoint();
|
dontalign.cpp | 39 v = a.adjoint() * v;
|
triangular.cpp | 73 VERIFY(v2.isApprox(m3.adjoint() * (m1.adjoint().template triangularView<Lower>().solve(v2)), largerEps)); 83 VERIFY(m2.isApprox(m3.adjoint() * (m1.adjoint().template triangularView<Lower>().solve(m2)), largerEps));
|
cholesky.cpp | 46 symmCpy += sigma * vec * vec.adjoint(); 78 SquareMatrixType symm = a0 * a0.adjoint(); 83 symm += a1 * a1.adjoint(); 210 RealMatrixType symm = a0 * a0.adjoint(); 215 symm += a1 * a1.adjoint();
|
sparse_product.cpp | 137 // test self adjoint products 151 refLo = refUp.adjoint(); 152 mLo = mUp.adjoint(); 162 VERIFY_IS_APPROX(refS.adjoint(), refS); 163 VERIFY_IS_APPROX(mS.adjoint(), mS);
|
/external/eigen/test/eigen2/ |
eigen2_eigensolver.cpp | 35 MatrixType symmA = a.adjoint() * a + a1.adjoint() * a1; 39 MatrixType symmB = b.adjoint() * b + b1.adjoint() * b1; 118 MatrixType symmA = a.adjoint() * a + a1.adjoint() * a1;
|
eigen2_sparse_solvers.cpp | 19 refMat = refMat * refMat.adjoint(); 23 refMat += aux * aux.adjoint(); 124 refMat2 += refMat2.adjoint();
|
/external/eigen/lapack/ |
cholesky.cpp | 62 A.triangularView<Upper>().adjoint().solveInPlace(B); 68 A.triangularView<Lower>().adjoint().solveInPlace(B);
|
lu.cpp | 81 lu.triangularView<Upper>().adjoint().solveInPlace(B); 82 lu.triangularView<UnitLower>().adjoint().solveInPlace(B);
|
/external/eigen/Eigen/src/Core/products/ |
SelfadjointMatrixMatrix_MKL.h | 29 * Self adjoint matrix * matrix product functionality based on ?SYMM/?HEMM. 84 b_tmp = rhs.adjoint(); \ 148 b_tmp = rhs.adjoint(); \ 210 b_tmp = lhs.adjoint(); \ 273 b_tmp = lhs.adjoint(); \
|
/external/eigen/Eigen/src/Core/ |
SelfAdjointView.h | 104 /** Efficient self-adjoint matrix times vector/matrix product */ 114 /** Efficient vector/matrix times self-adjoint matrix product */ 129 * a adjoint expression without any overhead. Only the meaningful triangular 143 * call this function with u.adjoint(). 173 m_matrix.const_cast_derived().template triangularView<OtherPart>() = other.adjoint(); 183 m_matrix.const_cast_derived().template triangularView<OtherPart>() = other.toDenseMatrix().adjoint();
|
/external/eigen/unsupported/test/ |
mpreal_support.cpp | 26 MatrixXmp S = A.adjoint() * A;
|
/external/eigen/Eigen/src/Eigenvalues/ |
MatrixBaseEigenvalues.h | 127 return internal::sqrt((m_eval*m_eval.adjoint()) 139 * This function computes the L2 operator norm of a self-adjoint matrix. For a 140 * self-adjoint matrix, the operator norm is the largest eigenvalue.
|
/external/eigen/Eigen/src/Eigen2Support/ |
SVD.h | 551 if(unitary) *unitary = m_matU * m_matV.adjoint(); 552 if(positive) *positive = m_matV * m_sigma.asDiagonal() * m_matV.adjoint(); 569 if(unitary) *unitary = m_matU * m_matV.adjoint(); 570 if(positive) *positive = m_matU * m_sigma.asDiagonal() * m_matU.adjoint(); 587 Scalar x = (m_matU * m_matV.adjoint()).determinant(); // so x has absolute value 1 590 if(scaling) scaling->lazyAssign(m_matV * sv.asDiagonal() * m_matV.adjoint()); 595 rotation->lazyAssign(m * m_matV.adjoint()); 613 Scalar x = (m_matU * m_matV.adjoint()).determinant(); // so x has absolute value 1 616 if(scaling) scaling->lazyAssign(m_matU * sv.asDiagonal() * m_matU.adjoint()); 621 rotation->lazyAssign(m * m_matV.adjoint()); [all...] |