コード例 #1
0
ファイル: LogBarrier.cpp プロジェクト: birm/Elemental
Base<F> LogBarrier
( UpperOrLower uplo, AbstractDistMatrix<F>& A, bool canOverwrite )
{
    DEBUG_ONLY(CSE cse("LogBarrier"))
    SafeProduct<Base<F>> safeDet = SafeHPDDeterminant( uplo, A, canOverwrite );
    return -safeDet.kappa*safeDet.n;
}
コード例 #2
0
ファイル: HPDDeterminant.hpp プロジェクト: certik/Elemental
inline typename Base<F>::type
HPDDeterminant( UpperOrLower uplo, DistMatrix<F>& A, bool canOverwrite )
{
#ifndef RELEASE
    PushCallStack("HPDDeterminant");
#endif
    SafeProduct<F> safeDet = SafeHPDDeterminant( uplo, A, canOverwrite );
    typename Base<F>::type det = Exp(safeDet.kappa*safeDet.n);
#ifndef RELEASE
    PopCallStack();
#endif
    return det;
}
コード例 #3
0
ファイル: LogBarrier.hpp プロジェクト: certik/Elemental
inline typename Base<F>::type
LogBarrier( UpperOrLower uplo, DistMatrix<F>& A, bool canOverwrite )
{
#ifndef RELEASE
    PushCallStack("LogBarrier");
#endif
    SafeProduct<F> safeDet = SafeHPDDeterminant( uplo, A, canOverwrite );
    typename Base<F>::type barrier = -safeDet.kappa*safeDet.n;
#ifndef RELEASE
    PopCallStack();
#endif
    return barrier;
}
コード例 #4
0
ファイル: LogBarrier.hpp プロジェクト: hrhill/Elemental
LogBarrier( UpperOrLower uplo, DistMatrix<F>& A, bool canOverwrite=false )
{
    DEBUG_ONLY(CallStackEntry cse("LogBarrier"))
    SafeProduct<F> safeDet = SafeHPDDeterminant( uplo, A, canOverwrite );
    return -safeDet.kappa*safeDet.n;
}
コード例 #5
0
ファイル: LogBarrier.hpp プロジェクト: hrhill/Elemental
LogBarrier( UpperOrLower uplo, const DistMatrix<F>& A )
{
    DEBUG_ONLY(CallStackEntry cse("LogBarrier"))
    SafeProduct<F> safeDet = SafeHPDDeterminant( uplo, A );
    return -safeDet.kappa*safeDet.n;
}
コード例 #6
0
ファイル: LogBarrier.cpp プロジェクト: birm/Elemental
Base<F> LogBarrier( UpperOrLower uplo, const AbstractDistMatrix<F>& A )
{
    DEBUG_ONLY(CSE cse("LogBarrier"))
    SafeProduct<Base<F>> safeDet = SafeHPDDeterminant( uplo, A );
    return -safeDet.kappa*safeDet.n;
}