Base<F> Condition( const ElementalMatrix<F>& A, NormType type ) { DEBUG_ONLY(CSE cse("Condition")) Base<F> norm = 0; switch( type ) { case FROBENIUS_NORM: norm = FrobeniusCondition( A ); break; case INFINITY_NORM: norm = InfinityCondition( A ); break; case MAX_NORM: norm = MaxCondition( A ); break; case ONE_NORM: norm = OneCondition( A ); break; case TWO_NORM: norm = TwoCondition( A ); break; default: LogicError("Invalid norm type for condition number"); } return norm; }
Condition( const DistMatrix<F,U,V>& A, NormType type=TWO_NORM ) { #ifndef RELEASE CallStackEntry entry("Condition"); #endif BASE(F) norm = 0; switch( type ) { case FROBENIUS_NORM: norm = FrobeniusCondition( A ); break; case INFINITY_NORM: norm = InfinityCondition( A ); break; case MAX_NORM: norm = MaxCondition( A ); break; case ONE_NORM: norm = OneCondition( A ); break; case TWO_NORM: norm = TwoCondition( A ); break; default: LogicError("Invalid norm type for condition number"); } return norm; }