//============================================================================= std::ostream& Ifpack_ICT::Print(std::ostream& os) const { if (!Comm().MyPID()) { os << endl; os << "================================================================================" << endl; os << "Ifpack_ICT: " << Label() << endl << endl; os << "Level-of-fill = " << LevelOfFill() << endl; os << "Absolute threshold = " << AbsoluteThreshold() << endl; os << "Relative threshold = " << RelativeThreshold() << endl; os << "Relax value = " << RelaxValue() << endl; os << "Condition number estimate = " << Condest() << endl; os << "Global number of rows = " << Matrix().NumGlobalRows() << endl; if (IsComputed_) { os << "Number of nonzeros of H = " << H_->NumGlobalNonzeros() << endl; os << "nonzeros / rows = " << 1.0 * H_->NumGlobalNonzeros() / H_->NumGlobalRows() << endl; } os << endl; os << "Phase # calls Total Time (s) Total MFlops MFlops/s" << endl; os << "----- ------- -------------- ------------ --------" << endl; os << "Initialize() " << std::setw(5) << NumInitialize() << " " << std::setw(15) << InitializeTime() << " 0.0 0.0" << endl; os << "Compute() " << std::setw(5) << NumCompute() << " " << std::setw(15) << ComputeTime() << " " << std::setw(15) << 1.0e-6 * ComputeFlops(); if (ComputeTime() != 0.0) os << " " << std::setw(15) << 1.0e-6 * ComputeFlops() / ComputeTime() << endl; else os << " " << std::setw(15) << 0.0 << endl; os << "ApplyInverse() " << std::setw(5) << NumApplyInverse() << " " << std::setw(15) << ApplyInverseTime() << " " << std::setw(15) << 1.0e-6 * ApplyInverseFlops(); if (ApplyInverseTime() != 0.0) os << " " << std::setw(15) << 1.0e-6 * ApplyInverseFlops() / ApplyInverseTime() << endl; else os << " " << std::setw(15) << 0.0 << endl; os << "================================================================================" << endl; os << endl; } return(os); }
//============================================================================= std::ostream& Ifpack_SPARSKIT::Print(std::ostream& os) const { if (!Comm().MyPID()) { os << endl; os << "================================================================================" << endl; os << "Ifpack_SPARSKIT: " << Label() << endl << endl; os << "Condition number estimate = " << Condest() << endl; os << "Global number of rows = " << A_.NumGlobalRows() << endl; os << endl; os << "Phase # calls Total Time (s) Total MFlops MFlops/s" << endl; os << "----- ------- -------------- ------------ --------" << endl; os << "Initialize() " << std::setw(5) << NumInitialize() << " " << std::setw(15) << InitializeTime() << " 0.0 0.0" << endl; os << "Compute() " << std::setw(5) << NumCompute() << " " << std::setw(15) << ComputeTime() << " " << std::setw(15) << 1.0e-6 * ComputeFlops(); if (ComputeTime() != 0.0) os << " " << std::setw(15) << 1.0e-6 * ComputeFlops() / ComputeTime() << endl; else os << " " << std::setw(15) << 0.0 << endl; os << "ApplyInverse() " << std::setw(5) << NumApplyInverse() << " " << std::setw(15) << ApplyInverseTime() << " " << std::setw(15) << 1.0e-6 * ApplyInverseFlops(); if (ApplyInverseTime() != 0.0) os << " " << std::setw(15) << 1.0e-6 * ApplyInverseFlops() / ApplyInverseTime() << endl; else os << " " << std::setw(15) << 0.0 << endl; os << "================================================================================" << endl; os << endl; } return(os); }