inline DistMatrix<T,U,V> Jordan( const Grid& g, Int n, T lambda ) { DistMatrix<T,U,V> J( n, n, g ); MakeJordan( J, lambda ); return J; }
inline void Jordan( DistMatrix<T,U,V>& J, Int n, T lambda ) { DEBUG_ONLY(CallStackEntry cse("Jordan")) J.Resize( n, n ); MakeJordan( J, lambda ); }
inline Matrix<T> Jordan( Int n, T lambda ) { Matrix<T> J( n, n ); MakeJordan( J, lambda ); return J; }
inline void MakeForsythe( DistMatrix<T,U,V>& J, T alpha, T lambda ) { DEBUG_ONLY(CallStackEntry cse("MakeForsythe")) MakeJordan( J, lambda ); const Int m = J.Height(); const Int n = J.Width(); if( m > 0 && n > 0 ) J.Set( m-1, 0, alpha ); }
inline void MakeForsythe( DistMatrix<T,U,V>& J, T alpha, T lambda ) { #ifndef RELEASE CallStackEntry entry("MakeForsythe"); #endif MakeJordan( J, lambda ); const Int m = J.Height(); const Int n = J.Width(); if( m > 0 && n > 0 ) J.Set( m-1, 0, alpha ); }