Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
LogBarrier( UpperOrLower uplo, const DistMatrix<F>& A )
{
    DEBUG_ONLY(CallStackEntry cse("LogBarrier"))
    SafeProduct<F> safeDet = SafeHPDDeterminant( uplo, A );
    return -safeDet.kappa*safeDet.n;
}
Ejemplo n.º 6
0
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;
}