$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r51652 - in sandbox/numeric_bindings: boost/numeric/bindings/blas/level2 boost/numeric/bindings/blas/level3 boost/numeric/bindings/lapack/computational boost/numeric/bindings/lapack/driver libs/numeric/bindings/tools libs/numeric/bindings/tools/templates/driver
From: rutger_at_[hidden]
Date: 2009-03-08 13:39:13
Author: rutger
Date: 2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
New Revision: 51652
URL: http://svn.boost.org/trac/boost/changeset/51652
Log:
Moved from size1/size2 to num_rows/num_colums for matrix traits.
Text files modified: 
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp            |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp            |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp             |     5 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp            |     5 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp            |     5 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp            |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp            |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp             |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp            |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp            |     7 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp             |     5 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp            |     7 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp            |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp            |     7 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp             |     5 +                                       
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp            |     7 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp            |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp             |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp            |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp            |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp            |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp            |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp            |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp            |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp            |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp            |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp            |     9 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp           |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp            |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp            |     9 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp           |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp            |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp            |     7 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp            |     7 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp  |    40 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp  |     8 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp  |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp  |    24 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp  |    88 ++++++++++++++++++----------------      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp  |    28 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp  |    28 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp  |    56 +++++++++++----------                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp  |    56 +++++++++++----------                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp  |    59 ++++++++++++----------                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp  |    48 ++++++++++--------                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp  |    56 ++++++++++----------                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp  |    48 ++++++++++--------                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp  |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp  |    34 +++++++------                           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp  |    14 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp  |    28 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp  |     2                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp  |    82 +++++++++++++++++--------------         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp  |    70 ++++++++++++++------------              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp  |    64 ++++++++++++------------                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp  |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp  |    39 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp  |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp  |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp  |    42 ++++++++--------                        
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp  |    16 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp  |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp  |    34 ++++++------                            
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp  |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp  |    57 +++++++++++----------                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp   |    29 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp  |    24 +++++----                               
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp  |    24 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp  |    42 ++++++++-------                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp  |    15 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp  |    15 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp  |    30 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp  |    27 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp  |    15 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp  |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp  |    36 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp  |    72 ++++++++++++++--------------            
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp  |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp  |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp  |    17 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp  |    30 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp  |     9 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp  |    22 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp  |    13 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp  |    32 ++++++------                            
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp  |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp  |    28 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp  |    78 +++++++++++++++--------------           
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp  |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp  |    24 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp  |    24 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp  |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp  |    30 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp  |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp  |    44 ++++++++--------                        
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp  |     4                                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp  |    28 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp  |    24 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp  |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp  |    48 +++++++++---------                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp  |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp  |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp  |    42 ++++++++-------                         
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp  |    31 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp  |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp  |    27 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp  |    16 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp  |    15 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp  |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp         |    30 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp          |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp         |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp          |    59 +++++++++++-----------                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp         |    62 ++++++++++++-----------                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp          |    36 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp         |    71 ++++++++++++++-------------             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp          |    42 ++++++++--------                        
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp          |    63 ++++++++++++-----------                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp         |   102 ++++++++++++++++++++------------------- 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp         |   101 ++++++++++++++++++++------------------  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp         |    87 ++++++++++++++++++----------------      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp         |    80 +++++++++++++++---------------          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp          |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp         |    59 +++++++++++-----------                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp         |    52 ++++++++++----------                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp          |    64 ++++++++++++------------                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp         |    62 ++++++++++++------------                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp          |    42 ++++++++--------                        
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp         |    85 ++++++++++++++++----------------        
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp         |    94 ++++++++++++++++++------------------    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp         |    90 ++++++++++++++++++-----------------     
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp         |    64 ++++++++++++------------                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp          |    10 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp         |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp          |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp         |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp         |    22 ++++----                                
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp         |    26 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp          |    19 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp         |    28 +++++-----                              
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp          |    15 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp         |     6 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp         |    21 ++++---                                 
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp          |    11 ++-                                     
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp         |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp          |    17 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp         |    48 +++++++++---------                      
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp          |    14 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp         |    40 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp          |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp         |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp         |    30 ++++++-----                             
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp          |    15 +++--                                   
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp         |    40 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp          |    12 ++--                                    
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp         |    16 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp         |    18 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp         |    20 +++---                                  
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp          |    38 +++++++-------                          
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp         |    56 ++++++++++----------                    
   sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py                  |     4                                         
   sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp |     2                                         
   sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelss.hpp |     2                                         
   sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesdd.hpp |     2                                         
   sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesvd.hpp |     2                                         
   186 files changed, 2418 insertions(+), 2282 deletions(-)
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gbmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -84,8 +84,8 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
-        detail::gbmv( trans, traits::matrix_size1(a),
-                traits::matrix_size2(a), kl, ku, alpha,
+        detail::gbmv( trans, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), kl, ku, alpha,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(x), traits::vector_stride(x), beta,
                 traits::vector_storage(y), traits::vector_stride(y) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gemv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,11 +81,11 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
-        detail::gemv( trans, traits::matrix_size1(a),
-                traits::matrix_size2(a), alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(x),
-                traits::vector_stride(x), beta, traits::vector_storage(y),
-                traits::vector_stride(y) );
+        detail::gemv( trans, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(x), traits::vector_stride(x), beta,
+                traits::vector_storage(y), traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/ger.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -59,8 +59,9 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
-        detail::ger( traits::matrix_size1(a), traits::matrix_size2(a),
-                alpha, traits::vector_storage(x), traits::vector_stride(x),
+        detail::ger( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
                 traits::vector_storage(y), traits::vector_stride(y),
                 traits::matrix_storage(a), traits::leading_dimension(a) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/gerc.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -65,8 +65,9 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
-        detail::gerc( traits::matrix_size1(a), traits::matrix_size2(a),
-                alpha, traits::vector_storage(x), traits::vector_stride(x),
+        detail::gerc( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
                 traits::vector_storage(y), traits::vector_stride(y),
                 traits::matrix_storage(a), traits::leading_dimension(a) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/geru.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -65,8 +65,9 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
-        detail::geru( traits::matrix_size1(a), traits::matrix_size2(a),
-                alpha, traits::vector_storage(x), traits::vector_stride(x),
+        detail::geru( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
                 traits::vector_storage(y), traits::vector_stride(y),
                 traits::matrix_storage(a), traits::leading_dimension(a) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hbmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -68,10 +68,10 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
         detail::hbmv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), k, alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(x),
-                traits::vector_stride(x), beta, traits::vector_storage(y),
-                traits::vector_stride(y) );
+                traits::matrix_num_columns(a), k, alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(x), traits::vector_stride(x), beta,
+                traits::vector_storage(y), traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hemv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -68,10 +68,10 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
         detail::hemv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(x),
-                traits::vector_stride(x), beta, traits::vector_storage(y),
-                traits::vector_stride(y) );
+                traits::matrix_num_columns(a), alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(x), traits::vector_stride(x), beta,
+                traits::vector_storage(y), traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -59,9 +59,9 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
         detail::her( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::matrix_storage(a),
-                traits::leading_dimension(a) );
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::matrix_storage(a), traits::leading_dimension(a) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/her2.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -66,10 +66,10 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
         detail::her2( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::vector_storage(y),
-                traits::vector_stride(y), traits::matrix_storage(a),
-                traits::leading_dimension(a) );
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::vector_storage(y), traits::vector_stride(y),
+                traits::matrix_storage(a), traits::leading_dimension(a) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -68,9 +68,10 @@
                 MatrixAP >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
         detail::hpmv( traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), alpha, traits::matrix_storage(ap),
-                traits::vector_storage(x), traits::vector_stride(x), beta,
-                traits::vector_storage(y), traits::vector_stride(y) );
+                traits::matrix_num_columns(ap), alpha,
+                traits::matrix_storage(ap), traits::vector_storage(x),
+                traits::vector_stride(x), beta, traits::vector_storage(y),
+                traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -59,8 +59,9 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixAP >::value_type >::value) );
         detail::hpr( traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::matrix_storage(ap) );
+                traits::matrix_num_columns(ap), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::matrix_storage(ap) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/hpr2.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -66,9 +66,10 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixAP >::value_type >::value) );
         detail::hpr2( traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::vector_storage(y),
-                traits::vector_stride(y), traits::matrix_storage(ap) );
+                traits::matrix_num_columns(ap), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::vector_storage(y), traits::vector_stride(y),
+                traits::matrix_storage(ap) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/sbmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -64,10 +64,10 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
         detail::sbmv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), k, alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(x),
-                traits::vector_stride(x), beta, traits::vector_storage(y),
-                traits::vector_stride(y) );
+                traits::matrix_num_columns(a), k, alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(x), traits::vector_stride(x), beta,
+                traits::vector_storage(y), traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -60,9 +60,10 @@
                 MatrixAP >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
         detail::spmv( traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), alpha, traits::matrix_storage(ap),
-                traits::vector_storage(x), traits::vector_stride(x), beta,
-                traits::vector_storage(y), traits::vector_stride(y) );
+                traits::matrix_num_columns(ap), alpha,
+                traits::matrix_storage(ap), traits::vector_storage(x),
+                traits::vector_stride(x), beta, traits::vector_storage(y),
+                traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -55,8 +55,9 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixAP >::value_type >::value) );
         detail::spr( traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::matrix_storage(ap) );
+                traits::matrix_num_columns(ap), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::matrix_storage(ap) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/spr2.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -60,9 +60,10 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixAP >::value_type >::value) );
         detail::spr2( traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::vector_storage(y),
-                traits::vector_stride(y), traits::matrix_storage(ap) );
+                traits::matrix_num_columns(ap), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::vector_storage(y), traits::vector_stride(y),
+                traits::matrix_storage(ap) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/symv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -60,10 +60,10 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
         detail::symv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(x),
-                traits::vector_stride(x), beta, traits::vector_storage(y),
-                traits::vector_stride(y) );
+                traits::matrix_num_columns(a), alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(x), traits::vector_stride(x), beta,
+                traits::vector_storage(y), traits::vector_stride(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -55,9 +55,9 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
         detail::syr( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::matrix_storage(a),
-                traits::leading_dimension(a) );
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::matrix_storage(a), traits::leading_dimension(a) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/syr2.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -60,10 +60,10 @@
                 VectorX >::value_type, typename traits::matrix_traits<
                 MatrixA >::value_type >::value) );
         detail::syr2( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), alpha, traits::vector_storage(x),
-                traits::vector_stride(x), traits::vector_storage(y),
-                traits::vector_stride(y), traits::matrix_storage(a),
-                traits::leading_dimension(a) );
+                traits::matrix_num_columns(a), alpha,
+                traits::vector_storage(x), traits::vector_stride(x),
+                traits::vector_storage(y), traits::vector_stride(y),
+                traits::matrix_storage(a), traits::leading_dimension(a) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,7 +69,7 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
         detail::tbmv( traits::matrix_uplo_tag(a), trans, diag,
-                traits::matrix_size2(a), k, traits::matrix_storage(a),
+                traits::matrix_num_columns(a), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(x),
                 traits::vector_stride(x) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tbsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,7 +69,7 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
         detail::tbsv( traits::matrix_uplo_tag(a), trans, diag,
-                traits::matrix_size2(a), k, traits::matrix_storage(a),
+                traits::matrix_num_columns(a), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(x),
                 traits::vector_stride(x) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -67,7 +67,7 @@
                 MatrixAP >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
         detail::tpmv( traits::matrix_uplo_tag(ap), trans, diag,
-                traits::matrix_size2(ap), traits::matrix_storage(ap),
+                traits::matrix_num_columns(ap), traits::matrix_storage(ap),
                 traits::vector_storage(x), traits::vector_stride(x) );
     }
 };
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/tpsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -67,7 +67,7 @@
                 MatrixAP >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
         detail::tpsv( traits::matrix_uplo_tag(ap), trans, diag,
-                traits::matrix_size2(ap), traits::matrix_storage(ap),
+                traits::matrix_num_columns(ap), traits::matrix_storage(ap),
                 traits::vector_storage(x), traits::vector_stride(x) );
     }
 };
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trmv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,7 +69,7 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
         detail::trmv( traits::matrix_uplo_tag(a), trans, diag,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(x),
                 traits::vector_stride(x) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level2/trsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,7 +69,7 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
         detail::trsv( traits::matrix_uplo_tag(a), trans, diag,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(x),
                 traits::vector_stride(x) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/gemm.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -84,8 +84,8 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
-        detail::gemm( transa, transb, m, traits::matrix_size2(c), k,
-                alpha, traits::matrix_storage(a),
+        detail::gemm( transa, transb, m, traits::matrix_num_columns(c),
+                k, alpha, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), beta, traits::matrix_storage(c),
                 traits::leading_dimension(c) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/hemm.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -68,10 +68,11 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         detail::hemm( side, traits::matrix_uplo_tag(a),
-                traits::matrix_size1(c), traits::matrix_size2(c), alpha,
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b), beta,
-                traits::matrix_storage(c), traits::leading_dimension(c) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c),
+                alpha, traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b), beta, traits::matrix_storage(c),
+                traits::leading_dimension(c) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/her2k.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,10 +69,10 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         detail::her2k( traits::matrix_uplo_tag(c), trans,
-                traits::matrix_size2(c), k, alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), beta, traits::matrix_storage(c),
-                traits::leading_dimension(c) );
+                traits::matrix_num_columns(c), k, alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b), beta,
+                traits::matrix_storage(c), traits::leading_dimension(c) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/herk.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -62,9 +62,9 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         detail::herk( traits::matrix_uplo_tag(c), trans,
-                traits::matrix_size2(c), k, alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), beta, traits::matrix_storage(c),
-                traits::leading_dimension(c) );
+                traits::matrix_num_columns(c), k, alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a), beta,
+                traits::matrix_storage(c), traits::leading_dimension(c) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/symm.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -82,10 +82,11 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         detail::symm( side, traits::matrix_uplo_tag(a),
-                traits::matrix_size1(c), traits::matrix_size2(c), alpha,
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b), beta,
-                traits::matrix_storage(c), traits::leading_dimension(c) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c),
+                alpha, traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b), beta, traits::matrix_storage(c),
+                traits::leading_dimension(c) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syr2k.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -83,10 +83,10 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         detail::syr2k( traits::matrix_uplo_tag(c), trans,
-                traits::matrix_size2(c), k, alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), beta, traits::matrix_storage(c),
-                traits::leading_dimension(c) );
+                traits::matrix_num_columns(c), k, alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b), beta,
+                traits::matrix_storage(c), traits::leading_dimension(c) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/syrk.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -78,9 +78,9 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         detail::syrk( traits::matrix_uplo_tag(c), trans,
-                traits::matrix_size2(c), k, alpha, traits::matrix_storage(a),
-                traits::leading_dimension(a), beta, traits::matrix_storage(c),
-                traits::leading_dimension(c) );
+                traits::matrix_num_columns(c), k, alpha,
+                traits::matrix_storage(a), traits::leading_dimension(a), beta,
+                traits::matrix_storage(c), traits::leading_dimension(c) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trmm.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -77,9 +77,10 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
         detail::trmm( side, traits::matrix_uplo_tag(a), transa, diag,
-                traits::matrix_size1(b), traits::matrix_size2(b), alpha,
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b) );
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b),
+                alpha, traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/blas/level3/trsm.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -77,9 +77,10 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
         detail::trsm( side, traits::matrix_uplo_tag(a), transa, diag,
-                traits::matrix_size1(b), traits::matrix_size2(b), alpha,
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b) );
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b),
+                alpha, traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -103,17 +103,17 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(vt) >= 0 );
-        assert( traits::matrix_size1(u) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_columns(vt) >= 0 );
+        assert( traits::matrix_num_rows(u) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(u) >= std::max(1,
-                traits::matrix_size1(u)) );
+                traits::matrix_num_rows(u)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                n, traits::matrix_size2(vt), traits::matrix_size1(u),
-                traits::matrix_size2(c) )));
+                n, traits::matrix_num_columns(vt), traits::matrix_num_rows(u),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::bdsqr( uplo, n, traits::matrix_size2(vt),
-                traits::matrix_size1(u), traits::matrix_size2(c),
+        detail::bdsqr( uplo, n, traits::matrix_num_columns(vt),
+                traits::matrix_num_rows(u), traits::matrix_num_columns(c),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
                 traits::matrix_storage(u), traits::leading_dimension(u),
@@ -128,8 +128,8 @@
             VectorE& e, MatrixVT& vt, MatrixU& u, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( n,
-                traits::matrix_size2(vt), traits::matrix_size1(u),
-                traits::matrix_size2(c) ) );
+                traits::matrix_num_columns(vt), traits::matrix_num_rows(u),
+                traits::matrix_num_columns(c) ) );
         compute( uplo, n, d, e, vt, u, c, info, workspace( tmp_work ) );
     }
 
@@ -176,17 +176,17 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(vt) >= 0 );
-        assert( traits::matrix_size1(u) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_columns(vt) >= 0 );
+        assert( traits::matrix_num_rows(u) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(u) >= std::max(1,
-                traits::matrix_size1(u)) );
+                traits::matrix_num_rows(u)) );
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( n, traits::matrix_size2(vt),
-                traits::matrix_size1(u), traits::matrix_size2(c) )));
+                min_size_rwork( n, traits::matrix_num_columns(vt),
+                traits::matrix_num_rows(u), traits::matrix_num_columns(c) )));
 #endif
-        detail::bdsqr( uplo, n, traits::matrix_size2(vt),
-                traits::matrix_size1(u), traits::matrix_size2(c),
+        detail::bdsqr( uplo, n, traits::matrix_num_columns(vt),
+                traits::matrix_num_rows(u), traits::matrix_num_columns(c),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
                 traits::matrix_storage(u), traits::leading_dimension(u),
@@ -201,8 +201,8 @@
             VectorE& e, MatrixVT& vt, MatrixU& u, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( n,
-                traits::matrix_size2(vt), traits::matrix_size1(u),
-                traits::matrix_size2(c) ) );
+                traits::matrix_num_columns(vt), traits::matrix_num_rows(u),
+                traits::matrix_num_columns(c) ) );
         compute( uplo, n, d, e, vt, u, c, info, workspace( tmp_rwork ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -113,7 +113,7 @@
         assert( vect == 'N' || vect == 'Q' || vect == 'P' || vect == 'B' );
         assert( m >= 0 );
         assert( n >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
         assert( traits::leading_dimension(ab) >= kl+ku+1 );
@@ -122,7 +122,7 @@
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 m, n )));
 #endif
-        detail::gbbrd( vect, m, n, traits::matrix_size2(c), kl, ku,
+        detail::gbbrd( vect, m, n, traits::matrix_num_columns(c), kl, ku,
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(q), traits::leading_dimension(q),
@@ -191,7 +191,7 @@
         assert( vect == 'N' || vect == 'Q' || vect == 'P' || vect == 'B' );
         assert( m >= 0 );
         assert( n >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
         assert( traits::leading_dimension(ab) >= kl+ku+1 );
@@ -202,7 +202,7 @@
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( m, n )));
 #endif
-        detail::gbbrd( vect, m, n, traits::matrix_size2(c), kl, ku,
+        detail::gbbrd( vect, m, n, traits::matrix_num_columns(c), kl, ku,
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(q), traits::leading_dimension(q),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -119,19 +119,19 @@
         assert( n >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kl+ku+1 );
         assert( traits::leading_dimension(afb) >= 2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::gbrfs( trans, n, kl, ku, traits::matrix_size2(x),
+        detail::gbrfs( trans, n, kl, ku, traits::matrix_num_columns(x),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::matrix_storage(afb), traits::leading_dimension(afb),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
@@ -212,19 +212,19 @@
         assert( n >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kl+ku+1 );
         assert( traits::leading_dimension(afb) >= 2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::gbrfs( trans, n, kl, ku, traits::matrix_size2(x),
+        detail::gbrfs( trans, n, kl, ku, traits::matrix_num_columns(x),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::matrix_storage(afb), traits::leading_dimension(afb),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -80,12 +80,12 @@
         assert( n >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(ab) >= 2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::gbtrs( trans, n, kl, ku, traits::matrix_size2(b),
+        detail::gbtrs( trans, n, kl, ku, traits::matrix_num_columns(b),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
                 traits::leading_dimension(b), info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -85,14 +85,14 @@
 #ifndef NDEBUG
         assert( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         assert( side == 'R' || side == 'L' );
-        assert( traits::matrix_size1(v) >= 0 );
-        assert( traits::vector_size(scale) >= traits::matrix_size1(v) );
-        assert( traits::matrix_size2(v) >= 0 );
+        assert( traits::matrix_num_rows(v) >= 0 );
+        assert( traits::vector_size(scale) >= traits::matrix_num_rows(v) );
+        assert( traits::matrix_num_columns(v) >= 0 );
         assert( traits::leading_dimension(v) >= std::max(1,
-                traits::matrix_size1(v)) );
+                traits::matrix_num_rows(v)) );
 #endif
-        detail::gebak( job, side, traits::matrix_size1(v), ilo, ihi,
-                traits::vector_storage(scale), traits::matrix_size2(v),
+        detail::gebak( job, side, traits::matrix_num_rows(v), ilo, ihi,
+                traits::vector_storage(scale), traits::matrix_num_columns(v),
                 traits::matrix_storage(v), traits::leading_dimension(v),
                 info );
     }
@@ -114,14 +114,14 @@
 #ifndef NDEBUG
         assert( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         assert( side == 'R' || side == 'L' );
-        assert( traits::matrix_size1(v) >= 0 );
-        assert( traits::vector_size(scale) >= traits::matrix_size1(v) );
-        assert( traits::matrix_size2(v) >= 0 );
+        assert( traits::matrix_num_rows(v) >= 0 );
+        assert( traits::vector_size(scale) >= traits::matrix_num_rows(v) );
+        assert( traits::matrix_num_columns(v) >= 0 );
         assert( traits::leading_dimension(v) >= std::max(1,
-                traits::matrix_size1(v)) );
+                traits::matrix_num_rows(v)) );
 #endif
-        detail::gebak( job, side, traits::matrix_size1(v), ilo, ihi,
-                traits::vector_storage(scale), traits::matrix_size2(v),
+        detail::gebak( job, side, traits::matrix_num_rows(v), ilo, ihi,
+                traits::vector_storage(scale), traits::matrix_num_columns(v),
                 traits::matrix_storage(v), traits::leading_dimension(v),
                 info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -77,11 +77,11 @@
                 VectorSCALE >::value_type >::value) );
 #ifndef NDEBUG
         assert( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::gebal( job, traits::matrix_size2(a),
+        detail::gebal( job, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a), ilo,
                 ihi, traits::vector_storage(scale), info );
     }
@@ -101,11 +101,11 @@
         
 #ifndef NDEBUG
         assert( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::gebal( job, traits::matrix_size2(a),
+        detail::gebal( job, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a), ilo,
                 ihi, traits::vector_storage(scale), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -97,23 +97,26 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAUP >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(d) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(tauq) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(taup) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(d) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(tauq) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(taup) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a) )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a) )));
 #endif
-        detail::gebrd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(d), traits::vector_storage(e),
-                traits::vector_storage(tauq), traits::vector_storage(taup),
+        detail::gebrd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(d),
+                traits::vector_storage(e), traits::vector_storage(tauq),
+                traits::vector_storage(taup),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -124,7 +127,7 @@
     static void compute( MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
             VectorTAUP& taup, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a) ) );
         compute( a, d, e, tauq, taup, info, workspace( tmp_work ) );
     }
 
@@ -134,11 +137,11 @@
     static void compute( MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
             VectorTAUP& taup, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gebrd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(d), traits::vector_storage(e),
-                traits::vector_storage(tauq), traits::vector_storage(taup),
-                &opt_size_work, -1, info );
+        detail::gebrd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(d),
+                traits::vector_storage(e), traits::vector_storage(tauq),
+                traits::vector_storage(taup), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, d, e, tauq, taup, info, workspace( tmp_work ) );
@@ -172,24 +175,27 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAUP >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(d) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(tauq) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(taup) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(d) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(tauq) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(taup) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) )));
 #endif
-        detail::gebrd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(d), traits::vector_storage(e),
-                traits::vector_storage(tauq), traits::vector_storage(taup),
+        detail::gebrd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(d),
+                traits::vector_storage(e), traits::vector_storage(tauq),
+                traits::vector_storage(taup),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -200,7 +206,7 @@
     static void compute( MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
             VectorTAUP& taup, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a) ) );
         compute( a, d, e, tauq, taup, info, workspace( tmp_work ) );
     }
 
@@ -210,11 +216,11 @@
     static void compute( MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
             VectorTAUP& taup, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::gebrd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(d), traits::vector_storage(e),
-                traits::vector_storage(tauq), traits::vector_storage(taup),
-                &opt_size_work, -1, info );
+        detail::gebrd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(d),
+                traits::vector_storage(e), traits::vector_storage(tauq),
+                traits::vector_storage(taup), &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, d, e, tauq, taup, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -82,15 +82,15 @@
         
 #ifndef NDEBUG
         assert( norm == '1' || norm == 'O' || norm == 'I' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gecon( norm, traits::matrix_size2(a),
+        detail::gecon( norm, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 anorm, rcond,
                 traits::vector_storage(work.select(real_type())),
@@ -102,9 +102,9 @@
     static void compute( char const norm, MatrixA& a, real_type const anorm,
             real_type& rcond, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( norm, a, anorm, rcond, info, workspace( tmp_work,
                 tmp_iwork ) );
     }
@@ -140,15 +140,15 @@
         
 #ifndef NDEBUG
         assert( norm == '1' || norm == 'O' || norm == 'I' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gecon( norm, traits::matrix_size2(a),
+        detail::gecon( norm, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 anorm, rcond,
                 traits::vector_storage(work.select(value_type())),
@@ -160,9 +160,9 @@
     static void compute( char const norm, MatrixA& a, real_type const anorm,
             real_type& rcond, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( norm, a, anorm, rcond, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -80,15 +80,15 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorC >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
 #endif
-        detail::geequ( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(r), traits::vector_storage(c), rowcnd,
-                colcnd, amax, info );
+        detail::geequ( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(r),
+                traits::vector_storage(c), rowcnd, colcnd, amax, info );
     }
 };
 
@@ -108,15 +108,15 @@
                 VectorR >::value_type, typename traits::vector_traits<
                 VectorC >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
 #endif
-        detail::geequ( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(r), traits::vector_storage(c), rowcnd,
-                colcnd, amax, info );
+        detail::geequ( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(r),
+                traits::vector_storage(c), rowcnd, colcnd, amax, info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -84,14 +84,14 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(tau) >= traits::matrix_size2(a)-1 );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_columns(a)-1 );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::gehrd( traits::matrix_size2(a), ilo, ihi,
+        detail::gehrd( traits::matrix_num_columns(a), ilo, ihi,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
@@ -112,7 +112,7 @@
     static void compute( integer_t const ilo, integer_t const ihi, MatrixA& a,
             VectorTAU& tau, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gehrd( traits::matrix_size2(a), ilo, ihi,
+        detail::gehrd( traits::matrix_num_columns(a), ilo, ihi,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
@@ -141,14 +141,14 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(tau) >= traits::matrix_size2(a)-1 );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_columns(a)-1 );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::gehrd( traits::matrix_size2(a), ilo, ihi,
+        detail::gehrd( traits::matrix_num_columns(a), ilo, ihi,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
@@ -169,7 +169,7 @@
     static void compute( integer_t const ilo, integer_t const ihi, MatrixA& a,
             VectorTAU& tau, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::gehrd( traits::matrix_size2(a), ilo, ihi,
+        detail::gehrd( traits::matrix_num_columns(a), ilo, ihi,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau), &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,18 +81,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a) )));
+                traits::matrix_num_rows(a) )));
 #endif
-        detail::gelqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::gelqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -102,7 +103,7 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a) ) );
+                traits::matrix_num_rows(a) ) );
         compute( a, tau, info, workspace( tmp_work ) );
     }
 
@@ -111,9 +112,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gelqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::gelqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
@@ -139,18 +141,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a) )));
+                min_size_work( traits::matrix_num_rows(a) )));
 #endif
-        detail::gelqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::gelqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -160,7 +163,7 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a) ) );
+                traits::matrix_num_rows(a) ) );
         compute( a, tau, info, workspace( tmp_work ) );
     }
 
@@ -169,9 +172,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::gelqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::gelqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,18 +81,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
 #endif
-        detail::geqlf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::geqlf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -102,7 +103,7 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, tau, info, workspace( tmp_work ) );
     }
 
@@ -111,9 +112,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::geqlf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::geqlf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
@@ -139,18 +141,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
 #endif
-        detail::geqlf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::geqlf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -160,7 +163,7 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, tau, info, workspace( tmp_work ) );
     }
 
@@ -169,9 +172,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::geqlf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::geqlf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -84,18 +84,20 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::geqp3( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(jpvt), traits::vector_storage(tau),
+        detail::geqp3( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(jpvt),
+                traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -114,10 +116,10 @@
     static void compute( MatrixA& a, VectorJPVT& jpvt, VectorTAU& tau,
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::geqp3( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(jpvt), traits::vector_storage(tau),
-                &opt_size_work, -1, info );
+        detail::geqp3( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(jpvt),
+                traits::vector_storage(tau), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, jpvt, tau, info, workspace( tmp_work ) );
@@ -144,20 +146,22 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::geqp3( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(jpvt), traits::vector_storage(tau),
+        detail::geqp3( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(jpvt),
+                traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
@@ -170,7 +174,7 @@
         traits::detail::array< value_type > tmp_work( min_size_work(
                 $CALL_MIN_SIZE ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, jpvt, tau, info, workspace( tmp_work, tmp_rwork ) );
     }
 
@@ -180,11 +184,12 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
-        detail::geqp3( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(jpvt), traits::vector_storage(tau),
-                &opt_size_work, -1, traits::vector_storage(tmp_rwork), info );
+                traits::matrix_num_columns(a) ) );
+        detail::geqp3( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(jpvt),
+                traits::vector_storage(tau), &opt_size_work, -1,
+                traits::vector_storage(tmp_rwork), info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, jpvt, tau, info, workspace( tmp_work, tmp_rwork ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,18 +81,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::geqrf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::geqrf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -111,9 +112,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::geqrf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::geqrf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
@@ -139,18 +141,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::geqrf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::geqrf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -169,9 +172,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::geqrf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::geqrf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -111,25 +111,25 @@
                 VectorBERR >::value_type >::value) );
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gerfs( trans, traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
+        detail::gerfs( trans, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(x), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(af),
                 traits::leading_dimension(af), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
@@ -147,9 +147,9 @@
             VectorIPIV& ipiv, MatrixB& b, MatrixX& x, VectorFERR& ferr,
             VectorBERR& berr, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( trans, a, af, ipiv, b, x, ferr, berr, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -203,25 +203,25 @@
                 MatrixX >::value_type >::value) );
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gerfs( trans, traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
+        detail::gerfs( trans, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(x), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(af),
                 traits::leading_dimension(af), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
@@ -239,9 +239,9 @@
             VectorIPIV& ipiv, MatrixB& b, MatrixX& x, VectorFERR& ferr,
             VectorBERR& berr, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( trans, a, af, ipiv, b, x, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,18 +81,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::gerqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::gerqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -111,9 +112,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gerqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::gerqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
@@ -139,18 +141,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::gerqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::gerqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -169,9 +172,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::gerqf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::gerqf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -62,16 +62,18 @@
     static void compute( MatrixA& a, VectorIPIV& ipiv, integer_t& info ) {
         
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(ipiv) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(ipiv) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::getrf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv), info );
+        detail::getrf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -77,15 +77,16 @@
             detail::workspace1< WORK > work ) {
         
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
 #endif
-        detail::getri( traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(ipiv),
+        detail::getri( traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -95,7 +96,7 @@
     static void compute( MatrixA& a, VectorIPIV& ipiv, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, ipiv, info, workspace( tmp_work ) );
     }
 
@@ -104,7 +105,7 @@
     static void compute( MatrixA& a, VectorIPIV& ipiv, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::getri( traits::matrix_size2(a),
+        detail::getri( traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
@@ -130,15 +131,16 @@
             detail::workspace1< WORK > work ) {
         
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
 #endif
-        detail::getri( traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(ipiv),
+        detail::getri( traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -148,7 +150,7 @@
     static void compute( MatrixA& a, VectorIPIV& ipiv, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, ipiv, info, workspace( tmp_work ) );
     }
 
@@ -157,7 +159,7 @@
     static void compute( MatrixA& a, VectorIPIV& ipiv, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::getri( traits::matrix_size2(a),
+        detail::getri( traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,16 +73,16 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::getrs( trans, traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
+        detail::getrs( trans, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -88,16 +88,16 @@
 #ifndef NDEBUG
         assert( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         assert( side == 'R' || side == 'L' );
-        assert( traits::matrix_size1(v) >= 0 );
-        assert( traits::vector_size(lscale) >= traits::matrix_size1(v) );
-        assert( traits::vector_size(rscale) >= traits::matrix_size1(v) );
-        assert( traits::matrix_size2(v) >= 0 );
+        assert( traits::matrix_num_rows(v) >= 0 );
+        assert( traits::vector_size(lscale) >= traits::matrix_num_rows(v) );
+        assert( traits::vector_size(rscale) >= traits::matrix_num_rows(v) );
+        assert( traits::matrix_num_columns(v) >= 0 );
         assert( traits::leading_dimension(v) >= std::max(1,
-                traits::matrix_size1(v)) );
+                traits::matrix_num_rows(v)) );
 #endif
-        detail::ggbak( job, side, traits::matrix_size1(v), ilo, ihi,
+        detail::ggbak( job, side, traits::matrix_num_rows(v), ilo, ihi,
                 traits::vector_storage(lscale),
-                traits::vector_storage(rscale), traits::matrix_size2(v),
+                traits::vector_storage(rscale), traits::matrix_num_columns(v),
                 traits::matrix_storage(v), traits::leading_dimension(v),
                 info );
     }
@@ -121,16 +121,16 @@
 #ifndef NDEBUG
         assert( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         assert( side == 'R' || side == 'L' );
-        assert( traits::matrix_size1(v) >= 0 );
-        assert( traits::vector_size(lscale) >= traits::matrix_size1(v) );
-        assert( traits::vector_size(rscale) >= traits::matrix_size1(v) );
-        assert( traits::matrix_size2(v) >= 0 );
+        assert( traits::matrix_num_rows(v) >= 0 );
+        assert( traits::vector_size(lscale) >= traits::matrix_num_rows(v) );
+        assert( traits::vector_size(rscale) >= traits::matrix_num_rows(v) );
+        assert( traits::matrix_num_columns(v) >= 0 );
         assert( traits::leading_dimension(v) >= std::max(1,
-                traits::matrix_size1(v)) );
+                traits::matrix_num_rows(v)) );
 #endif
-        detail::ggbak( job, side, traits::matrix_size1(v), ilo, ihi,
+        detail::ggbak( job, side, traits::matrix_num_rows(v), ilo, ihi,
                 traits::vector_storage(lscale),
-                traits::vector_storage(rscale), traits::matrix_size2(v),
+                traits::vector_storage(rscale), traits::matrix_num_columns(v),
                 traits::matrix_storage(v), traits::leading_dimension(v),
                 info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -95,7 +95,7 @@
         assert( traits::leading_dimension(a) >= std::max(1,n) );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::gghrd( compq, compz, n, ilo, traits::matrix_size2(a),
+        detail::gghrd( compq, compz, n, ilo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::matrix_storage(q), traits::leading_dimension(q),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -99,25 +99,27 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAUB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(taua) >= std::min(traits::matrix_size1(b),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(taua) >=
+                std::min(traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(taub) >= std::min(traits::matrix_size1(b),
-                traits::matrix_size2(b)) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(taub) >=
+                std::min(traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::ggqrf( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(taua),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(taub),
+        detail::ggqrf( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(taua), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(taub),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -138,11 +140,12 @@
     static void compute( MatrixA& a, VectorTAUA& taua, MatrixB& b,
             VectorTAUB& taub, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ggqrf( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(taua),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(taub), &opt_size_work, -1, info );
+        detail::ggqrf( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(taua), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(taub),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, taua, b, taub, info, workspace( tmp_work ) );
@@ -176,25 +179,27 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAUB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(taua) >= std::min(traits::matrix_size1(b),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(taua) >=
+                std::min(traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(taub) >= std::min(traits::matrix_size1(b),
-                traits::matrix_size2(b)) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(taub) >=
+                std::min(traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::ggqrf( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(taua),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(taub),
+        detail::ggqrf( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(taua), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(taub),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -215,11 +220,12 @@
     static void compute( MatrixA& a, VectorTAUA& taua, MatrixB& b,
             VectorTAUB& taub, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::ggqrf( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(taua),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(taub), &opt_size_work, -1, info );
+        detail::ggqrf( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(taua), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(taub),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, taua, b, taub, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -99,22 +99,24 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAUB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(taua) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(b)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(taua) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(taub) >= std::min(traits::matrix_size1(b),
-                traits::matrix_size2(b)) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(taub) >=
+                std::min(traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::ggrqf( traits::matrix_size1(a), traits::matrix_size1(b),
-                traits::matrix_size2(b), traits::matrix_storage(a),
+        detail::ggrqf( traits::matrix_num_rows(a), traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(taua),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(taub),
@@ -138,11 +140,12 @@
     static void compute( MatrixA& a, VectorTAUA& taua, MatrixB& b,
             VectorTAUB& taub, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ggrqf( traits::matrix_size1(a), traits::matrix_size1(b),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(taua),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(taub), &opt_size_work, -1, info );
+        detail::ggrqf( traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(taua), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(taub),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, taua, b, taub, info, workspace( tmp_work ) );
@@ -176,22 +179,24 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAUB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(taua) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(b)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(taua) >=
+                std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(taub) >= std::min(traits::matrix_size1(b),
-                traits::matrix_size2(b)) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(taub) >=
+                std::min(traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::ggrqf( traits::matrix_size1(a), traits::matrix_size1(b),
-                traits::matrix_size2(b), traits::matrix_storage(a),
+        detail::ggrqf( traits::matrix_num_rows(a), traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(taua),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(taub),
@@ -215,11 +220,12 @@
     static void compute( MatrixA& a, VectorTAUA& taua, MatrixB& b,
             VectorTAUB& taub, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::ggrqf( traits::matrix_size1(a), traits::matrix_size1(b),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(taua),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(taub), &opt_size_work, -1, info );
+        detail::ggrqf( traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(taua), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(taub),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, taua, b, taub, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -127,23 +127,23 @@
         assert( jobu == 'U' || jobu == 'N' );
         assert( jobv == 'V' || jobv == 'N' );
         assert( jobq == 'Q' || jobq == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
+                traits::matrix_num_rows(b)) );
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(b) )));
+                min_size_iwork( traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_tau( traits::matrix_size2(b) )));
+                min_size_tau( traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(b), traits::matrix_size1(a),
-                traits::matrix_size1(b) )));
+                traits::matrix_num_columns(b), traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b) )));
 #endif
-        detail::ggsvp( jobu, jobv, jobq, traits::matrix_size1(a),
-                traits::matrix_size1(b), traits::matrix_size2(b),
+        detail::ggsvp( jobu, jobv, jobq, traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b), tola,
                 tolb, k, l, traits::matrix_storage(u),
@@ -163,12 +163,12 @@
             real_type const tolb, integer_t& k, integer_t& l, MatrixU& u,
             MatrixV& v, MatrixQ& q, integer_t& info, minimal_workspace work ) {
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         traits::detail::array<
-                real_type > tmp_tau( min_size_tau( traits::matrix_size2(b) ) );
+                real_type > tmp_tau( min_size_tau( traits::matrix_num_columns(b) ) );
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(b), traits::matrix_size1(a),
-                traits::matrix_size1(b) ) );
+                traits::matrix_num_columns(b), traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b) ) );
         compute( jobu, jobv, jobq, a, b, tola, tolb, k, l, u, v, q, info,
                 workspace( tmp_iwork, tmp_tau, tmp_work ) );
     }
@@ -230,25 +230,25 @@
         assert( jobu == 'U' || jobu == 'N' );
         assert( jobv == 'V' || jobv == 'N' );
         assert( jobq == 'Q' || jobq == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
+                traits::matrix_num_rows(b)) );
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(b) )));
+                min_size_iwork( traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(b) )));
+                min_size_rwork( traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_tau( traits::matrix_size2(b) )));
+                min_size_tau( traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(b),
-                traits::matrix_size1(a), traits::matrix_size1(b) )));
+                min_size_work( traits::matrix_num_columns(b),
+                traits::matrix_num_rows(a), traits::matrix_num_rows(b) )));
 #endif
-        detail::ggsvp( jobu, jobv, jobq, traits::matrix_size1(a),
-                traits::matrix_size1(b), traits::matrix_size2(b),
+        detail::ggsvp( jobu, jobv, jobq, traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b), tola,
                 tolb, k, l, traits::matrix_storage(u),
@@ -269,14 +269,14 @@
             real_type const tolb, integer_t& k, integer_t& l, MatrixU& u,
             MatrixV& v, MatrixQ& q, integer_t& info, minimal_workspace work ) {
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         traits::detail::array<
-                value_type > tmp_tau( min_size_tau( traits::matrix_size2(b) ) );
+                value_type > tmp_tau( min_size_tau( traits::matrix_num_columns(b) ) );
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(b), traits::matrix_size1(a),
-                traits::matrix_size1(b) ) );
+                traits::matrix_num_columns(b), traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b) ) );
         compute( jobu, jobv, jobq, a, b, tola, tolb, k, l, u, v, q, info,
                 workspace( tmp_iwork, tmp_rwork, tmp_tau, tmp_work ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -139,7 +139,7 @@
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(dl) >= n-1 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(du) >= n-1 );
@@ -150,13 +150,13 @@
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(b) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::gtrfs( trans, n, traits::matrix_size2(b),
+        detail::gtrfs( trans, n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::vector_storage(dlf),
                 traits::vector_storage(df), traits::vector_storage(duf),
@@ -255,7 +255,7 @@
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(dl) >= n-1 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(du) >= n-1 );
@@ -266,13 +266,13 @@
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(b) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::gtrfs( trans, n, traits::matrix_size2(b),
+        detail::gtrfs( trans, n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::vector_storage(dlf),
                 traits::vector_storage(df), traits::vector_storage(duf),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -90,7 +90,7 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(dl) >= n-1 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(du) >= n-1 );
@@ -98,7 +98,7 @@
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::gttrs( trans, n, traits::matrix_size2(b),
+        detail::gttrs( trans, n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::vector_storage(du2),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -63,14 +63,14 @@
         
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
 #endif
-        detail::hecon( uplo, traits::matrix_size2(a),
+        detail::hecon( uplo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), anorm, rcond,
                 traits::vector_storage(work.select(value_type())), info );
@@ -82,7 +82,7 @@
             real_type const anorm, real_type& rcond, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, a, ipiv, anorm, rcond, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -85,30 +85,31 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::herfs( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(af),
-                traits::leading_dimension(af), traits::vector_storage(ipiv),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::herfs( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(af), traits::leading_dimension(af),
+                traits::vector_storage(ipiv), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
@@ -121,9 +122,9 @@
             MatrixB& b, MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, af, ipiv, b, x, ferr, berr, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -72,18 +72,18 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(d) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(tau) >= traits::matrix_size2(a)-1 );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(d) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_columns(a)-1 );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work(  )));
 #endif
-        detail::hetrd( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(d), traits::vector_storage(e),
-                traits::vector_storage(tau),
+        detail::hetrd( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(d),
+                traits::vector_storage(e), traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -104,7 +104,7 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         detail::hetrd( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(d),
                 traits::vector_storage(e), traits::vector_storage(tau),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -61,15 +61,15 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work(  )));
 #endif
-        detail::hetrf( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv),
+        detail::hetrf( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -60,14 +60,14 @@
         
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
 #endif
-        detail::hetri( uplo, traits::matrix_size2(a),
+        detail::hetri( uplo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(value_type())), info );
@@ -78,7 +78,7 @@
     static void compute( char const uplo, MatrixA& a, VectorIPIV& ipiv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, a, ipiv, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -62,18 +62,19 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::hetrs( uplo, traits::matrix_size2(a), traits::matrix_size2(b),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::hetrs( uplo, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -125,14 +125,14 @@
         assert( job == 'E' || job == 'S' );
         assert( compq == 'N' || compq == 'I' || compq == 'V' );
         assert( compz == 'N' || compz == 'I' || compz == 'V' );
-        assert( traits::matrix_size2(h) >= 0 );
-        assert( traits::vector_size(alphar) >= traits::matrix_size2(h) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(h) );
+        assert( traits::matrix_num_columns(h) >= 0 );
+        assert( traits::vector_size(alphar) >= traits::matrix_num_columns(h) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(h) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(h) )));
+                traits::matrix_num_columns(h) )));
 #endif
-        detail::hgeqz( job, compq, compz, traits::matrix_size2(h), ilo,
-                traits::matrix_size2(h), traits::matrix_storage(h),
+        detail::hgeqz( job, compq, compz, traits::matrix_num_columns(h), ilo,
+                traits::matrix_num_columns(h), traits::matrix_storage(h),
                 traits::leading_dimension(h), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::vector_storage(alphar),
                 traits::vector_storage(alphai), traits::vector_storage(beta),
@@ -151,7 +151,7 @@
             VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(h) ) );
+                traits::matrix_num_columns(h) ) );
         compute( job, compq, compz, ilo, h, t, alphar, alphai, beta, q, z,
                 info, workspace( tmp_work ) );
     }
@@ -165,8 +165,8 @@
             VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z,
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::hgeqz( job, compq, compz, traits::matrix_size2(h), ilo,
-                traits::matrix_size2(h), traits::matrix_storage(h),
+        detail::hgeqz( job, compq, compz, traits::matrix_num_columns(h),
+                ilo, traits::matrix_num_columns(h), traits::matrix_storage(h),
                 traits::leading_dimension(h), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::vector_storage(alphar),
                 traits::vector_storage(alphai), traits::vector_storage(beta),
@@ -218,16 +218,16 @@
         assert( job == 'E' || job == 'S' );
         assert( compq == 'N' || compq == 'I' || compq == 'V' );
         assert( compz == 'N' || compz == 'I' || compz == 'V' );
-        assert( traits::matrix_size2(h) >= 0 );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(h) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(h) );
+        assert( traits::matrix_num_columns(h) >= 0 );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(h) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(h) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(h) )));
+                min_size_work( traits::matrix_num_columns(h) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(h) )));
+                min_size_rwork( traits::matrix_num_columns(h) )));
 #endif
-        detail::hgeqz( job, compq, compz, traits::matrix_size2(h), ilo,
-                traits::matrix_size2(h), traits::matrix_storage(h),
+        detail::hgeqz( job, compq, compz, traits::matrix_num_columns(h), ilo,
+                traits::matrix_num_columns(h), traits::matrix_storage(h),
                 traits::leading_dimension(h), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::vector_storage(alpha),
                 traits::vector_storage(beta), traits::matrix_storage(q),
@@ -246,9 +246,9 @@
             VectorBETA& beta, MatrixQ& q, MatrixZ& z, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(h) ) );
+                traits::matrix_num_columns(h) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(h) ) );
+                traits::matrix_num_columns(h) ) );
         compute( job, compq, compz, ilo, h, t, alpha, beta, q, z, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
@@ -262,9 +262,9 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(h) ) );
-        detail::hgeqz( job, compq, compz, traits::matrix_size2(h), ilo,
-                traits::matrix_size2(h), traits::matrix_storage(h),
+                traits::matrix_num_columns(h) ) );
+        detail::hgeqz( job, compq, compz, traits::matrix_num_columns(h),
+                ilo, traits::matrix_num_columns(h), traits::matrix_storage(h),
                 traits::leading_dimension(h), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::vector_storage(alpha),
                 traits::vector_storage(beta), traits::matrix_storage(q),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -87,23 +87,23 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(afp) >= n*(n+1)/2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::hprfs( traits::matrix_uplo_tag(a), n, traits::matrix_size2(x),
-                traits::matrix_storage(ap), traits::matrix_storage(afp),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::vector_storage(ferr),
-                traits::vector_storage(berr),
+        detail::hprfs( traits::matrix_uplo_tag(a), n,
+                traits::matrix_num_columns(x), traits::matrix_storage(ap),
+                traits::matrix_storage(afp), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::vector_storage(ferr), traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -61,12 +61,12 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(ap) >= n*(n+1)/2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::hptrs( uplo, n, traits::matrix_size2(b),
+        detail::hptrs( uplo, n, traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -120,18 +120,18 @@
         assert( side == 'R' || side == 'L' || side == 'B' );
         assert( eigsrc == 'Q' || eigsrc == 'N' );
         assert( initv == 'N' || initv == 'U' );
-        assert( traits::vector_size(select) >= traits::matrix_size2(h) );
-        assert( traits::matrix_size2(h) >= 0 );
+        assert( traits::vector_size(select) >= traits::matrix_num_columns(h) );
+        assert( traits::matrix_num_columns(h) >= 0 );
         assert( traits::leading_dimension(h) >= std::max(1,
-                traits::matrix_size2(h)) );
-        assert( traits::vector_size(wr) >= traits::matrix_size2(h) );
-        assert( traits::vector_size(wi) >= traits::matrix_size2(h) );
+                traits::matrix_num_columns(h)) );
+        assert( traits::vector_size(wr) >= traits::matrix_num_columns(h) );
+        assert( traits::vector_size(wi) >= traits::matrix_num_columns(h) );
         assert( mm >= m );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(h), ?2 )));
+                traits::matrix_num_columns(h), ?2 )));
 #endif
         detail::hsein( side, eigsrc, initv, traits::vector_storage(select),
-                traits::matrix_size2(h), traits::matrix_storage(h),
+                traits::matrix_num_columns(h), traits::matrix_storage(h),
                 traits::leading_dimension(h), traits::vector_storage(wr),
                 traits::vector_storage(wi), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
@@ -151,7 +151,7 @@
             VectorIFAILL& ifaill, VectorIFAILR& ifailr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(h), ?2 ) );
+                traits::matrix_num_columns(h), ?2 ) );
         compute( side, eigsrc, initv, select, h, wr, wi, vl, vr, mm, m,
                 ifaill, ifailr, info, workspace( tmp_work ) );
     }
@@ -206,19 +206,19 @@
         assert( side == 'R' || side == 'L' || side == 'B' );
         assert( eigsrc == 'Q' || eigsrc == 'N' );
         assert( initv == 'N' || initv == 'U' );
-        assert( traits::vector_size(select) >= traits::matrix_size2(h) );
-        assert( traits::matrix_size2(h) >= 0 );
+        assert( traits::vector_size(select) >= traits::matrix_num_columns(h) );
+        assert( traits::matrix_num_columns(h) >= 0 );
         assert( traits::leading_dimension(h) >= std::max(1,
-                traits::matrix_size2(h)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(h) );
+                traits::matrix_num_columns(h)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(h) );
         assert( mm >= m );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(h) )));
+                min_size_work( traits::matrix_num_columns(h) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(h) )));
+                min_size_rwork( traits::matrix_num_columns(h) )));
 #endif
         detail::hsein( side, eigsrc, initv, traits::vector_storage(select),
-                traits::matrix_size2(h), traits::matrix_storage(h),
+                traits::matrix_num_columns(h), traits::matrix_storage(h),
                 traits::leading_dimension(h), traits::vector_storage(w),
                 traits::matrix_storage(vl), traits::leading_dimension(vl),
                 traits::matrix_storage(vr), traits::leading_dimension(vr), mm,
@@ -238,9 +238,9 @@
             VectorIFAILL& ifaill, VectorIFAILR& ifailr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(h) ) );
+                traits::matrix_num_columns(h) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(h) ) );
+                traits::matrix_num_columns(h) ) );
         compute( side, eigsrc, initv, select, h, w, vl, vr, mm, m, ifaill,
                 ifailr, info, workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -101,11 +101,11 @@
 #ifndef NDEBUG
         assert( job == 'E' || job == 'S' );
         assert( compz == 'N' || compz == 'I' || compz == 'V' );
-        assert( traits::vector_size(wr) >= traits::matrix_size2(h) );
+        assert( traits::vector_size(wr) >= traits::matrix_num_columns(h) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::hseqr( job, compz, traits::matrix_size2(h), ilo, ihi,
+        detail::hseqr( job, compz, traits::matrix_num_columns(h), ilo, ihi,
                 traits::matrix_storage(h), traits::leading_dimension(h),
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(z), traits::leading_dimension(z),
@@ -167,7 +167,7 @@
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::hseqr( job, compz, traits::matrix_size2(h), ilo, ihi,
+        detail::hseqr( job, compz, traits::matrix_num_columns(h), ilo, ihi,
                 traits::matrix_storage(h), traits::leading_dimension(h),
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -104,21 +104,22 @@
                 MatrixY >::value_type >::value) );
 #ifndef NDEBUG
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(d) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(e) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(tauq) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(taup) >= traits::matrix_size2(a) );
-        assert( traits::leading_dimension(x) >= traits::matrix_size1(a) );
-        assert( traits::leading_dimension(y) >= traits::matrix_size2(a) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(d) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(e) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(tauq) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(taup) >= traits::matrix_num_columns(a) );
+        assert( traits::leading_dimension(x) >= traits::matrix_num_rows(a) );
+        assert( traits::leading_dimension(y) >=
+                traits::matrix_num_columns(a) );
 #endif
-        detail::labrd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(d),
-                traits::vector_storage(e), traits::vector_storage(tauq),
-                traits::vector_storage(taup), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::matrix_storage(y),
-                traits::leading_dimension(y) );
+        detail::labrd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(d), traits::vector_storage(e),
+                traits::vector_storage(tauq), traits::vector_storage(taup),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::matrix_storage(y), traits::leading_dimension(y) );
     }
 };
 
@@ -152,23 +153,23 @@
                 MatrixY >::value_type >::value) );
 #ifndef NDEBUG
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(d) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(e) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(tauq) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(taup) >= traits::matrix_size2(a) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(d) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(e) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(tauq) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(taup) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(y) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::labrd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(d),
-                traits::vector_storage(e), traits::vector_storage(tauq),
-                traits::vector_storage(taup), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::matrix_storage(y),
-                traits::leading_dimension(y) );
+        detail::labrd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(d), traits::vector_storage(e),
+                traits::vector_storage(tauq), traits::vector_storage(taup),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::matrix_storage(y), traits::leading_dimension(y) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -85,13 +85,15 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::larz( side, traits::matrix_size1(c), traits::matrix_size2(c),
-                l, traits::vector_storage(v), incv, tau,
-                traits::matrix_storage(c), traits::leading_dimension(c),
+        detail::larz( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), l, traits::vector_storage(v),
+                incv, tau, traits::matrix_storage(c),
+                traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())) );
     }
 
@@ -101,7 +103,7 @@
             integer_t const incv, real_type const tau, MatrixC& c,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, l, v, incv, tau, c, workspace( tmp_work ) );
     }
 
@@ -140,14 +142,15 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::larz( side, traits::matrix_size1(c), traits::matrix_size2(c),
-                l, traits::vector_storage(v), incv, tau,
-                traits::matrix_storage(c), traits::leading_dimension(c),
+        detail::larz( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), l, traits::vector_storage(v),
+                incv, tau, traits::matrix_storage(c),
+                traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())) );
     }
 
@@ -157,7 +160,7 @@
             integer_t const incv, value_type const tau, MatrixC& c,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, l, v, incv, tau, c, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -89,12 +89,13 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( traits::leading_dimension(a) >= (ERROR) );
         assert( traits::leading_dimension(w) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::latrd( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                nb, traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(e), traits::vector_storage(tau),
-                traits::matrix_storage(w), traits::leading_dimension(w) );
+        detail::latrd( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), nb, traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(e),
+                traits::vector_storage(tau), traits::matrix_storage(w),
+                traits::leading_dimension(w) );
     }
 };
 
@@ -120,14 +121,15 @@
         assert( traits::matrix_uplo_tag(h) == 'U' ||
                 traits::matrix_uplo_tag(h) == 'L' );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(w) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::latrd( traits::matrix_uplo_tag(h), traits::matrix_size2(a),
-                nb, traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(e), traits::vector_storage(tau),
-                traits::matrix_storage(w), traits::leading_dimension(w) );
+        detail::latrd( traits::matrix_uplo_tag(h),
+                traits::matrix_num_columns(a), nb, traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(e),
+                traits::vector_storage(tau), traits::matrix_storage(w),
+                traits::leading_dimension(w) );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -92,14 +92,14 @@
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
         assert( normin == 'Y' || normin == 'N' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= ?MAX );
-        assert( traits::vector_size(x) >= traits::matrix_size2(a) );
+        assert( traits::vector_size(x) >= traits::matrix_num_columns(a) );
 #endif
-        detail::latrs( uplo, trans, diag, normin, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(x), scale,
-                traits::vector_storage(cnorm), info );
+        detail::latrs( uplo, trans, diag, normin,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(x),
+                scale, traits::vector_storage(cnorm), info );
     }
 };
 
@@ -123,14 +123,14 @@
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
         assert( normin == 'Y' || normin == 'N' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= ?MAX );
-        assert( traits::vector_size(x) >= traits::matrix_size2(a) );
+        assert( traits::vector_size(x) >= traits::matrix_num_columns(a) );
 #endif
-        detail::latrs( uplo, trans, diag, normin, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(x), scale,
-                traits::vector_storage(cnorm), info );
+        detail::latrs( uplo, trans, diag, normin,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(x),
+                scale, traits::vector_storage(cnorm), info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -78,18 +78,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= traits::matrix_size1(a) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a) )));
+                traits::matrix_num_rows(a) )));
 #endif
-        detail::latrz( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(tau),
+        detail::latrz( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())) );
     }
 
@@ -97,7 +98,7 @@
     template< typename MatrixA, typename VectorTAU >
     static void compute( MatrixA& a, VectorTAU& tau, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a) ) );
+                traits::matrix_num_rows(a) ) );
         compute( a, tau, workspace( tmp_work ) );
     }
 
@@ -127,18 +128,19 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= traits::matrix_size1(a) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a) )));
+                min_size_work( traits::matrix_num_rows(a) )));
 #endif
-        detail::latrz( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(tau),
+        detail::latrz( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())) );
     }
 
@@ -146,7 +148,7 @@
     template< typename MatrixA, typename VectorTAU >
     static void compute( MatrixA& a, VectorTAU& tau, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a) ) );
+                traits::matrix_num_rows(a) ) );
         compute( a, tau, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -64,16 +64,17 @@
                 MatrixQ >::value_type >::value) );
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(q) >= 0 );
+        assert( traits::matrix_num_columns(q) >= 0 );
         assert( traits::vector_size(ap) >=
-                traits::matrix_size2(q)*(traits::matrix_size2(q)+1)/2 );
-        assert( traits::vector_size(tau) >= traits::matrix_size2(q)-1 );
+                traits::matrix_num_columns(q)*(traits::matrix_num_columns(q)+
+                1)/2 );
+        assert( traits::vector_size(tau) >= traits::matrix_num_columns(q)-1 );
         assert( traits::leading_dimension(q) >= std::max(1,
-                traits::matrix_size2(q)) );
+                traits::matrix_num_columns(q)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(q) )));
+                traits::matrix_num_columns(q) )));
 #endif
-        detail::opgtr( uplo, traits::matrix_size2(q),
+        detail::opgtr( uplo, traits::matrix_num_columns(q),
                 traits::vector_storage(ap), traits::vector_storage(tau),
                 traits::matrix_storage(q), traits::leading_dimension(q),
                 traits::vector_storage(work.select(real_type())), info );
@@ -84,7 +85,7 @@
     static void compute( char const uplo, VectorAP& ap, VectorTAU& tau,
             MatrixQ& q, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(q) ) );
+                traits::matrix_num_columns(q) ) );
         compute( uplo, ap, tau, q, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,15 +69,16 @@
         assert( side == 'L' || side == 'R' );
         assert( uplo == 'U' || uplo == 'L' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::opmtr( side, uplo, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), traits::vector_storage(ap),
+        detail::opmtr( side, uplo, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), traits::vector_storage(ap),
                 traits::vector_storage(tau), traits::matrix_storage(c),
                 traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())), info );
@@ -89,7 +90,7 @@
             VectorAP& ap, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, uplo, trans, ap, tau, c, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,17 +73,18 @@
         assert( vect == 'Q' || vect == 'P' );
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( k >= 0 );
         assert( traits::vector_size(tau) >= std::min(?NQ,k) );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::ormbr( vect, side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormbr( vect, side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
@@ -96,7 +97,7 @@
             integer_t const k, MatrixA& a, VectorTAU& tau, MatrixC& c,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( vect, side, trans, k, a, tau, c, info,
                 workspace( tmp_work ) );
     }
@@ -107,8 +108,8 @@
             integer_t const k, MatrixA& a, VectorTAU& tau, MatrixC& c,
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormbr( vect, side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormbr( vect, side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -74,17 +74,19 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::ormhr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), ilo, ihi, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(tau),
-                traits::matrix_storage(c), traits::leading_dimension(c),
+        detail::ormhr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), ilo, ihi,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(tau), traits::matrix_storage(c),
+                traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -96,7 +98,7 @@
             VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, ilo, ihi, a, tau, c, info,
                 workspace( tmp_work ) );
     }
@@ -108,11 +110,11 @@
             VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormhr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), ilo, ihi, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(tau),
-                traits::matrix_storage(c), traits::leading_dimension(c),
-                &opt_size_work, -1, info );
+        detail::ormhr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), ilo, ihi,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(tau), traits::matrix_storage(c),
+                traits::leading_dimension(c), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( side, trans, ilo, ihi, a, tau, c, info,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,17 +71,18 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,k) );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::ormlq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormlq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
@@ -94,7 +95,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -104,8 +105,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormlq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormlq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,16 +71,17 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::ormql( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormql( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
@@ -93,7 +94,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -103,8 +104,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormql( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormql( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,16 +71,17 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::ormqr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormqr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
@@ -93,7 +94,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -103,8 +104,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormqr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormqr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,17 +71,18 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,k) );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::ormrq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormrq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
@@ -94,7 +95,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -104,8 +105,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormrq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::ormrq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -72,20 +72,20 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,k) );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::ormrz( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), traits::matrix_storage(c),
-                traits::leading_dimension(c),
+        detail::ormrz( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -106,11 +106,12 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ormrz( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), traits::matrix_storage(c),
-                traits::leading_dimension(c), &opt_size_work, -1, info );
+        detail::ormrz( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                traits::matrix_storage(c), traits::leading_dimension(c),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,15 +73,16 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                side, traits::matrix_size1(c), traits::matrix_size2(c) )));
+                side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
         detail::ormtr( side, traits::matrix_uplo_tag(a), trans,
-                traits::matrix_size1(c), traits::matrix_size2(c),
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau), traits::matrix_storage(c),
                 traits::leading_dimension(c),
@@ -95,7 +96,7 @@
             VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -106,7 +107,7 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         detail::ormtr( side, traits::matrix_uplo_tag(a), trans,
-                traits::matrix_size1(c), traits::matrix_size2(c),
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau), traits::matrix_storage(c),
                 traits::leading_dimension(c), &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -114,19 +114,19 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(afb) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
         detail::pbrfs( traits::matrix_uplo_tag(a), n, kd,
-                traits::matrix_size2(x), traits::matrix_storage(ab),
+                traits::matrix_num_columns(x), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::matrix_storage(afb),
                 traits::leading_dimension(afb), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
@@ -198,19 +198,19 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(afb) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
         detail::pbrfs( traits::matrix_uplo_tag(a), n, kd,
-                traits::matrix_size2(x), traits::matrix_storage(ab),
+                traits::matrix_num_columns(x), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::matrix_storage(afb),
                 traits::leading_dimension(afb), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -72,11 +72,11 @@
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::pbtrs( uplo, n, kd, traits::matrix_size2(b),
+        detail::pbtrs( uplo, n, kd, traits::matrix_num_columns(b),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -82,17 +82,17 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::pocon( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                anorm, rcond,
+        detail::pocon( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), anorm, rcond,
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -102,9 +102,9 @@
     static void compute( MatrixA& a, real_type const anorm, real_type& rcond,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, anorm, rcond, info, workspace( tmp_work, tmp_iwork ) );
     }
 
@@ -139,17 +139,17 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::pocon( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                anorm, rcond,
+        detail::pocon( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), anorm, rcond,
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
@@ -159,9 +159,9 @@
     static void compute( MatrixA& a, real_type const anorm, real_type& rcond,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, anorm, rcond, info, workspace( tmp_work, tmp_rwork ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -74,13 +74,13 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorS >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::poequ( traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(s),
-                scond, amax, info );
+        detail::poequ( traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(s), scond, amax, info );
     }
 };
 
@@ -97,13 +97,13 @@
             real_type& amax, integer_t& info ) {
         
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::poequ( traits::matrix_size2(a), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(s),
-                scond, amax, info );
+        detail::poequ( traits::matrix_num_columns(a),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(s), scond, amax, info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -111,29 +111,29 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::porfs( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(af),
-                traits::leading_dimension(af), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::vector_storage(ferr),
-                traits::vector_storage(berr),
+        detail::porfs( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(af), traits::leading_dimension(af),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::vector_storage(ferr), traits::vector_storage(berr),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -145,9 +145,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, af, b, x, ferr, berr, info, workspace( tmp_work,
                 tmp_iwork ) );
     }
@@ -199,29 +199,29 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::porfs( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(af),
-                traits::leading_dimension(af), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::vector_storage(ferr),
-                traits::vector_storage(berr),
+        detail::porfs( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(af), traits::leading_dimension(af),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::vector_storage(ferr), traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
@@ -233,9 +233,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, af, b, x, ferr, berr, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -62,13 +62,13 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::potrf( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                info );
+        detail::potrf( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -62,13 +62,13 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::potri( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                info );
+        detail::potri( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -70,17 +70,18 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::potrs( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::potrs( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -110,21 +110,22 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(afp) >= n*(n+1)/2 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::pprfs( traits::matrix_uplo_tag(a), n, traits::matrix_size2(x),
-                traits::matrix_storage(ap), traits::vector_storage(afp),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::pprfs( traits::matrix_uplo_tag(a), n,
+                traits::matrix_num_columns(x), traits::matrix_storage(ap),
+                traits::vector_storage(afp), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -189,21 +190,22 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(afp) >= n*(n+1)/2 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::pprfs( traits::matrix_uplo_tag(a), n, traits::matrix_size2(x),
-                traits::matrix_storage(ap), traits::vector_storage(afp),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::pprfs( traits::matrix_uplo_tag(a), n,
+                traits::matrix_num_columns(x), traits::matrix_storage(ap),
+                traits::vector_storage(afp), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -72,12 +72,13 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::pptrs( traits::matrix_uplo_tag(a), n, traits::matrix_size2(b),
-                traits::vector_storage(ap), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::pptrs( traits::matrix_uplo_tag(a), n,
+                traits::matrix_num_columns(b), traits::vector_storage(ap),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -115,23 +115,23 @@
                 VectorBERR >::value_type >::value) );
 #ifndef NDEBUG
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::vector_size(df) >= n );
         assert( traits::vector_size(ef) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(b) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
 #endif
-        detail::ptrfs( n, traits::matrix_size2(b), traits::vector_storage(d),
-                traits::vector_storage(e), traits::vector_storage(df),
-                traits::vector_storage(ef), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::vector_storage(ferr),
-                traits::vector_storage(berr),
+        detail::ptrfs( n, traits::matrix_num_columns(b),
+                traits::vector_storage(d), traits::vector_storage(e),
+                traits::vector_storage(df), traits::vector_storage(ef),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::vector_storage(ferr), traits::vector_storage(berr),
                 traits::vector_storage(work.select(real_type())), info );
     }
 
@@ -202,20 +202,20 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::vector_size(df) >= n );
         assert( traits::vector_size(ef) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(b) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::ptrfs( uplo, n, traits::matrix_size2(b),
+        detail::ptrfs( uplo, n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::vector_storage(df), traits::vector_storage(ef),
                 traits::matrix_storage(b), traits::leading_dimension(b),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -78,14 +78,15 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::pttrs( n, traits::matrix_size2(b), traits::vector_storage(d),
-                traits::vector_storage(e), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::pttrs( n, traits::matrix_num_columns(b),
+                traits::vector_storage(d), traits::vector_storage(e),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
@@ -106,11 +107,11 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::pttrs( uplo, n, traits::matrix_size2(b),
+        detail::pttrs( uplo, n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -113,23 +113,23 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(afp) >= n*(n+1)/2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::sprfs( traits::matrix_uplo_tag(a), n, traits::matrix_size2(x),
-                traits::matrix_storage(ap), traits::matrix_storage(afp),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::vector_storage(ferr),
-                traits::vector_storage(berr),
+        detail::sprfs( traits::matrix_uplo_tag(a), n,
+                traits::matrix_num_columns(x), traits::matrix_storage(ap),
+                traits::matrix_storage(afp), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::vector_storage(ferr), traits::vector_storage(berr),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -198,23 +198,23 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(afp) >= n*(n+1)/2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::sprfs( traits::matrix_uplo_tag(a), n, traits::matrix_size2(x),
-                traits::matrix_storage(ap), traits::matrix_storage(afp),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::vector_storage(ferr),
-                traits::vector_storage(berr),
+        detail::sprfs( traits::matrix_uplo_tag(a), n,
+                traits::matrix_num_columns(x), traits::matrix_storage(ap),
+                traits::matrix_storage(afp), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::vector_storage(ferr), traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,12 +71,12 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(ap) >= n*(n+1)/2 );
         assert( traits::vector_size(ipiv) >= n );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::sptrs( uplo, n, traits::matrix_size2(b),
+        detail::sptrs( uplo, n, traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -83,16 +83,16 @@
         
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::sycon( uplo, traits::matrix_size2(a),
+        detail::sycon( uplo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), anorm, rcond,
                 traits::vector_storage(work.select(real_type())),
@@ -105,9 +105,9 @@
             real_type const anorm, real_type& rcond, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, a, ipiv, anorm, rcond, info, workspace( tmp_work,
                 tmp_iwork ) );
     }
@@ -144,14 +144,14 @@
         
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
 #endif
-        detail::sycon( uplo, traits::matrix_size2(a),
+        detail::sycon( uplo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), anorm, rcond,
                 traits::vector_storage(work.select(value_type())), info );
@@ -163,7 +163,7 @@
             real_type const anorm, real_type& rcond, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, a, ipiv, anorm, rcond, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -111,30 +111,31 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::syrfs( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(af),
-                traits::leading_dimension(af), traits::vector_storage(ipiv),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::syrfs( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(af), traits::leading_dimension(af),
+                traits::vector_storage(ipiv), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -147,9 +148,9 @@
             MatrixB& b, MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, af, ipiv, b, x, ferr, berr, info, workspace( tmp_work,
                 tmp_iwork ) );
     }
@@ -202,30 +203,31 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::syrfs( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(af),
-                traits::leading_dimension(af), traits::vector_storage(ipiv),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::syrfs( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(af), traits::leading_dimension(af),
+                traits::vector_storage(ipiv), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
@@ -238,9 +240,9 @@
             MatrixB& b, MatrixX& x, VectorFERR& ferr, VectorBERR& berr,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, af, ipiv, b, x, ferr, berr, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,18 +69,18 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(d) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(tau) >= traits::matrix_size2(a)-1 );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(d) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_columns(a)-1 );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::sytrd( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(d), traits::vector_storage(e),
-                traits::vector_storage(tau),
+        detail::sytrd( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(d),
+                traits::vector_storage(e), traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -102,7 +102,7 @@
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
         detail::sytrd( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(d),
                 traits::vector_storage(e), traits::vector_storage(tau),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -79,15 +79,15 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::sytrf( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv),
+        detail::sytrf( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -107,7 +107,7 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         detail::sytrf( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),
                 &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
@@ -135,15 +135,15 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::sytrf( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv),
+        detail::sytrf( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -163,7 +163,7 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         detail::sytrf( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),
                 &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -77,14 +77,14 @@
         
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
 #endif
-        detail::sytri( uplo, traits::matrix_size2(a),
+        detail::sytri( uplo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(real_type())), info );
@@ -95,7 +95,7 @@
     static void compute( char const uplo, MatrixA& a, VectorIPIV& ipiv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, a, ipiv, info, workspace( tmp_work ) );
     }
 
@@ -125,14 +125,14 @@
         
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
 #endif
-        detail::sytri( uplo, traits::matrix_size2(a),
+        detail::sytri( uplo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv),
                 traits::vector_storage(work.select(value_type())), info );
@@ -143,7 +143,7 @@
     static void compute( char const uplo, MatrixA& a, VectorIPIV& ipiv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, a, ipiv, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,18 +73,19 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::sytrs( uplo, traits::matrix_size2(a), traits::matrix_size2(b),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::sytrs( uplo, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -112,21 +112,22 @@
         assert( diag == 'N' || diag == 'U' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::tbrfs( uplo, trans, diag, n, kd, traits::matrix_size2(x),
-                traits::matrix_storage(ab), traits::leading_dimension(ab),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::tbrfs( uplo, trans, diag, n, kd,
+                traits::matrix_num_columns(x), traits::matrix_storage(ab),
+                traits::leading_dimension(ab), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -194,21 +195,22 @@
         assert( diag == 'N' || diag == 'U' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::tbrfs( uplo, trans, diag, n, kd, traits::matrix_size2(x),
-                traits::matrix_storage(ab), traits::leading_dimension(ab),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::matrix_storage(x), traits::leading_dimension(x),
-                traits::vector_storage(ferr), traits::vector_storage(berr),
+        detail::tbrfs( uplo, trans, diag, n, kd,
+                traits::matrix_num_columns(x), traits::matrix_storage(ab),
+                traits::leading_dimension(ab), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::matrix_storage(x),
+                traits::leading_dimension(x), traits::vector_storage(ferr),
+                traits::vector_storage(berr),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -83,14 +83,14 @@
         assert( diag == 'N' || diag == 'U' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::tbtrs( uplo, trans, diag, n, kd, traits::matrix_size2(b),
-                traits::matrix_storage(ab), traits::leading_dimension(ab),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                info );
+        detail::tbtrs( uplo, trans, diag, n, kd,
+                traits::matrix_num_columns(b), traits::matrix_storage(ab),
+                traits::leading_dimension(ab), traits::matrix_storage(b),
+                traits::leading_dimension(b), info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -132,20 +132,20 @@
         assert( jobu == 'U' || jobu == 'I' || jobu == 'N' );
         assert( jobv == 'V' || jobv == 'I' || jobv == 'N' );
         assert( jobq == 'Q' || jobq == 'I' || jobq == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(b) )));
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::tgsja( jobu, jobv, jobq, traits::matrix_size1(a),
-                traits::matrix_size1(b), traits::matrix_size2(b), k, l,
-                traits::matrix_storage(a), traits::leading_dimension(a),
+        detail::tgsja( jobu, jobv, jobq, traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b), k,
+                l, traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b), tola,
                 tolb, traits::vector_storage(alpha),
                 traits::vector_storage(beta), traits::matrix_storage(u),
@@ -166,7 +166,7 @@
             VectorBETA& beta, MatrixU& u, MatrixV& v, MatrixQ& q,
             integer_t& ncycle, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         compute( jobu, jobv, jobq, k, l, a, b, tola, tolb, alpha, beta, u, v,
                 q, ncycle, info, workspace( tmp_work ) );
     }
@@ -225,20 +225,20 @@
         assert( jobu == 'U' || jobu == 'I' || jobu == 'N' );
         assert( jobv == 'V' || jobv == 'I' || jobv == 'N' );
         assert( jobq == 'Q' || jobq == 'I' || jobq == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(b) )));
+                min_size_work( traits::matrix_num_columns(b) )));
 #endif
-        detail::tgsja( jobu, jobv, jobq, traits::matrix_size1(a),
-                traits::matrix_size1(b), traits::matrix_size2(b), k, l,
-                traits::matrix_storage(a), traits::leading_dimension(a),
+        detail::tgsja( jobu, jobv, jobq, traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b), k,
+                l, traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b), tola,
                 tolb, traits::vector_storage(alpha),
                 traits::vector_storage(beta), traits::matrix_storage(u),
@@ -259,7 +259,7 @@
             VectorBETA& beta, MatrixU& u, MatrixV& v, MatrixQ& q,
             integer_t& ncycle, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         compute( jobu, jobv, jobq, k, l, a, b, tola, tolb, alpha, beta, u, v,
                 q, ncycle, info, workspace( tmp_work ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -107,16 +107,16 @@
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::tprfs( uplo, trans, diag, n, traits::matrix_size2(x),
+        detail::tprfs( uplo, trans, diag, n, traits::matrix_num_columns(x),
                 traits::matrix_storage(ap), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
                 traits::leading_dimension(x), traits::vector_storage(ferr),
@@ -187,16 +187,16 @@
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::tprfs( uplo, trans, diag, n, traits::matrix_size2(x),
+        detail::tprfs( uplo, trans, diag, n, traits::matrix_num_columns(x),
                 traits::matrix_storage(ap), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
                 traits::leading_dimension(x), traits::vector_storage(ferr),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,10 +73,10 @@
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::tptrs( uplo, trans, diag, n, traits::matrix_size2(b),
+        detail::tptrs( uplo, trans, diag, n, traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::matrix_storage(b),
                 traits::leading_dimension(b), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -84,15 +84,15 @@
         assert( norm == '1' || norm == 'O' || norm == 'I' );
         assert( uplo == 'U' || uplo == 'L' );
         assert( diag == 'N' || diag == 'U' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::trcon( norm, uplo, diag, traits::matrix_size2(a),
+        detail::trcon( norm, uplo, diag, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 rcond, traits::vector_storage(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
@@ -104,9 +104,9 @@
             MatrixA& a, real_type& rcond, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( norm, uplo, diag, a, rcond, info, workspace( tmp_work,
                 tmp_iwork ) );
     }
@@ -145,15 +145,15 @@
         assert( norm == '1' || norm == 'O' || norm == 'I' );
         assert( uplo == 'U' || uplo == 'L' );
         assert( diag == 'N' || diag == 'U' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::trcon( norm, uplo, diag, traits::matrix_size2(a),
+        detail::trcon( norm, uplo, diag, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 rcond, traits::vector_storage(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
@@ -165,9 +165,9 @@
             MatrixA& a, real_type& rcond, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( norm, uplo, diag, a, rcond, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -98,15 +98,15 @@
 #ifndef NDEBUG
         assert( side == 'R' || side == 'L' || side == 'B' );
         assert( howmny == 'A' || howmny == 'B' || howmny == 'S' );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( mm >= m );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(t) )));
+                traits::matrix_num_columns(t) )));
 #endif
         detail::trevc( side, howmny, traits::vector_storage(select),
-                traits::matrix_size2(t), traits::matrix_storage(t),
+                traits::matrix_num_columns(t), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
                 traits::leading_dimension(vr), mm, m,
@@ -121,7 +121,7 @@
             integer_t const mm, integer_t& m, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(t) ) );
+                traits::matrix_num_columns(t) ) );
         compute( side, howmny, select, t, vl, vr, mm, m, info,
                 workspace( tmp_work ) );
     }
@@ -165,17 +165,17 @@
 #ifndef NDEBUG
         assert( side == 'R' || side == 'L' || side == 'B' );
         assert( howmny == 'A' || howmny == 'B' || howmny == 'S' );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( mm >= m );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(t) )));
+                min_size_work( traits::matrix_num_columns(t) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(t) )));
+                min_size_rwork( traits::matrix_num_columns(t) )));
 #endif
         detail::trevc( side, howmny, traits::vector_storage(select),
-                traits::matrix_size2(t), traits::matrix_storage(t),
+                traits::matrix_num_columns(t), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
                 traits::leading_dimension(vr), mm, m,
@@ -191,9 +191,9 @@
             integer_t const mm, integer_t& m, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(t) ) );
+                traits::matrix_num_columns(t) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(t) ) );
+                traits::matrix_num_columns(t) ) );
         compute( side, howmny, select, t, vl, vr, mm, m, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -83,15 +83,15 @@
                 MatrixQ >::value_type >::value) );
 #ifndef NDEBUG
         assert( compq == 'V' || compq == 'N' );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( traits::leading_dimension(q) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(t) )));
+                traits::matrix_num_columns(t) )));
 #endif
-        detail::trexc( compq, traits::matrix_size2(t),
+        detail::trexc( compq, traits::matrix_num_columns(t),
                 traits::matrix_storage(t), traits::leading_dimension(t),
                 traits::matrix_storage(q), traits::leading_dimension(q), ifst,
                 ilst, traits::vector_storage(work.select(real_type())), info );
@@ -115,13 +115,13 @@
                 MatrixQ >::value_type >::value) );
 #ifndef NDEBUG
         assert( compq == 'V' || compq == 'N' );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( traits::leading_dimension(q) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
 #endif
-        detail::trexc( compq, traits::matrix_size2(t),
+        detail::trexc( compq, traits::matrix_num_columns(t),
                 traits::matrix_storage(t), traits::leading_dimension(t),
                 traits::matrix_storage(q), traits::leading_dimension(q), ifst,
                 ilst, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -110,22 +110,22 @@
         assert( uplo == 'U' || uplo == 'L' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::trrfs( uplo, trans, diag, traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
+        detail::trrfs( uplo, trans, diag, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(x), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
                 traits::leading_dimension(x), traits::vector_storage(ferr),
@@ -141,9 +141,9 @@
             MatrixA& a, MatrixB& b, MatrixX& x, VectorFERR& ferr,
             VectorBERR& berr, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, trans, diag, a, b, x, ferr, berr, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -195,22 +195,22 @@
         assert( uplo == 'U' || uplo == 'L' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::trrfs( uplo, trans, diag, traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
+        detail::trrfs( uplo, trans, diag, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(x), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
                 traits::leading_dimension(x), traits::vector_storage(ferr),
@@ -226,9 +226,9 @@
             MatrixA& a, MatrixB& b, MatrixX& x, VectorFERR& ferr,
             VectorBERR& berr, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( uplo, trans, diag, a, b, x, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -76,16 +76,16 @@
 #ifndef NDEBUG
         assert( job == 'N' || job == 'E' || job == 'V' || job == 'B' );
         assert( compq == 'V' || compq == 'N' );
-        assert( traits::vector_size(select) >= traits::matrix_size2(t) );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::vector_size(select) >= traits::matrix_num_columns(t) );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(t) );
+                traits::matrix_num_columns(t)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(t) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
         detail::trsen( job, compq, traits::vector_storage(select),
-                traits::matrix_size2(t), traits::matrix_storage(t),
+                traits::matrix_num_columns(t), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::matrix_storage(q),
                 traits::leading_dimension(q), traits::vector_storage(w), m, s,
                 sep, traits::vector_storage(work.select(value_type())),
@@ -114,7 +114,7 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         detail::trsen( job, compq, traits::vector_storage(select),
-                traits::matrix_size2(t), traits::matrix_storage(t),
+                traits::matrix_num_columns(t), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::matrix_storage(q),
                 traits::leading_dimension(q), traits::vector_storage(w), m, s,
                 sep, &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -110,9 +110,9 @@
 #ifndef NDEBUG
         assert( job == 'E' || job == 'V' || job == 'B' );
         assert( howmny == 'A' || howmny == 'S' );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( mm >= m );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
@@ -120,7 +120,7 @@
                 min_size_iwork( $CALL_MIN_SIZE )));
 #endif
         detail::trsna( job, howmny, traits::vector_storage(select),
-                traits::matrix_size2(t), traits::matrix_storage(t),
+                traits::matrix_num_columns(t), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
                 traits::leading_dimension(vr), traits::vector_storage(s),
@@ -191,9 +191,9 @@
 #ifndef NDEBUG
         assert( job == 'E' || job == 'V' || job == 'B' );
         assert( howmny == 'A' || howmny == 'S' );
-        assert( traits::matrix_size2(t) >= 0 );
+        assert( traits::matrix_num_columns(t) >= 0 );
         assert( traits::leading_dimension(t) >= std::max(1,
-                traits::matrix_size2(t)) );
+                traits::matrix_num_columns(t)) );
         assert( mm >= m );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
@@ -201,7 +201,7 @@
                 min_size_rwork( $CALL_MIN_SIZE )));
 #endif
         detail::trsna( job, howmny, traits::vector_storage(select),
-                traits::matrix_size2(t), traits::matrix_storage(t),
+                traits::matrix_num_columns(t), traits::matrix_storage(t),
                 traits::leading_dimension(t), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
                 traits::leading_dimension(vr), traits::vector_storage(s),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -63,11 +63,11 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( diag == 'N' || diag == 'U' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::trtri( uplo, diag, traits::matrix_size2(a),
+        detail::trtri( uplo, diag, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -80,15 +80,15 @@
         assert( uplo == 'U' || uplo == 'L' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( diag == 'N' || diag == 'U' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::trtrs( uplo, trans, diag, traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
+        detail::trtrs( uplo, trans, diag, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,17 +81,17 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= traits::matrix_size1(a) );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= traits::matrix_num_rows(a) );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= traits::matrix_size1(a) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
 #endif
-        detail::tzrzf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::tzrzf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -110,9 +110,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::tzrzf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::tzrzf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
@@ -138,17 +139,17 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= traits::matrix_size1(a) );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= traits::matrix_num_rows(a) );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(tau) >= traits::matrix_size1(a) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::tzrzf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau),
+        detail::tzrzf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -167,9 +168,10 @@
     static void compute( MatrixA& a, VectorTAU& tau, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::tzrzf( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), &opt_size_work, -1, info );
+        detail::tzrzf( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, tau, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -78,18 +78,18 @@
         assert( vect == 'Q' || vect == 'P' );
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( k >= 0 );
         assert( traits::vector_size(tau) >= std::min(?NQ,k) );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::unmbr( vect, side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmbr( vect, side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
@@ -102,7 +102,7 @@
             integer_t const k, MatrixA& a, VectorTAU& tau, MatrixC& c,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( vect, side, trans, k, a, tau, c, info,
                 workspace( tmp_work ) );
     }
@@ -113,8 +113,8 @@
             integer_t const k, MatrixA& a, VectorTAU& tau, MatrixC& c,
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmbr( vect, side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmbr( vect, side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -78,18 +78,19 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::unmhr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), ilo, ihi, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(tau),
-                traits::matrix_storage(c), traits::leading_dimension(c),
+        detail::unmhr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), ilo, ihi,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(tau), traits::matrix_storage(c),
+                traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -101,7 +102,7 @@
             VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, ilo, ihi, a, tau, c, info,
                 workspace( tmp_work ) );
     }
@@ -113,11 +114,11 @@
             VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmhr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), ilo, ihi, traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(tau),
-                traits::matrix_storage(c), traits::leading_dimension(c),
-                &opt_size_work, -1, info );
+        detail::unmhr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), ilo, ihi,
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(tau), traits::matrix_storage(c),
+                traits::leading_dimension(c), &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( side, trans, ilo, ihi, a, tau, c, info,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -75,18 +75,18 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,k) );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::unmlq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmlq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
@@ -99,7 +99,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -109,8 +109,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmlq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmlq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -75,17 +75,17 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::unmql( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmql( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
@@ -98,7 +98,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -108,8 +108,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmql( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmql( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -75,17 +75,17 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::unmqr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmqr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
@@ -98,7 +98,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -108,8 +108,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmqr( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmqr( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -75,18 +75,18 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,k) );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
-        detail::unmrq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmrq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
@@ -99,7 +99,7 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -109,8 +109,8 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmrq( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_storage(a),
+        detail::unmrq( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(tau),
                 traits::matrix_storage(c), traits::leading_dimension(c),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -75,20 +75,20 @@
 #ifndef NDEBUG
         assert( side == 'L' || side == 'R' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,k) );
         assert( traits::vector_size(tau) >= k );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::unmrz( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), traits::matrix_storage(c),
-                traits::leading_dimension(c),
+        detail::unmrz( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                traits::matrix_storage(c), traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -109,11 +109,12 @@
             MatrixA& a, VectorTAU& tau, MatrixC& c, integer_t& info,
             optimal_workspace work ) {
         value_type opt_size_work;
-        detail::unmrz( side, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), k, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(tau), traits::matrix_storage(c),
-                traits::leading_dimension(c), &opt_size_work, -1, info );
+        detail::unmrz( side, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), k,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(tau),
+                traits::matrix_storage(c), traits::leading_dimension(c),
+                &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( side, trans, k, a, tau, c, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -77,16 +77,16 @@
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( side, traits::matrix_size1(c),
-                traits::matrix_size2(c) )));
+                min_size_work( side, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c) )));
 #endif
         detail::unmtr( side, traits::matrix_uplo_tag(a), trans,
-                traits::matrix_size1(c), traits::matrix_size2(c),
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau), traits::matrix_storage(c),
                 traits::leading_dimension(c),
@@ -100,7 +100,7 @@
             VectorTAU& tau, MatrixC& c, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( side,
-                traits::matrix_size1(c), traits::matrix_size2(c) ) );
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c) ) );
         compute( side, trans, a, tau, c, info, workspace( tmp_work ) );
     }
 
@@ -111,7 +111,7 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         detail::unmtr( side, traits::matrix_uplo_tag(a), trans,
-                traits::matrix_size1(c), traits::matrix_size2(c),
+                traits::matrix_num_rows(c), traits::matrix_num_columns(c),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(tau), traits::matrix_storage(c),
                 traits::leading_dimension(c), &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -70,16 +70,17 @@
                 MatrixQ >::value_type >::value) );
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
-        assert( traits::matrix_size2(q) >= 0 );
+        assert( traits::matrix_num_columns(q) >= 0 );
         assert( traits::vector_size(ap) >=
-                traits::matrix_size2(q)*(traits::matrix_size2(q)+1)/2 );
-        assert( traits::vector_size(tau) >= traits::matrix_size2(q)-1 );
+                traits::matrix_num_columns(q)*(traits::matrix_num_columns(q)+
+                1)/2 );
+        assert( traits::vector_size(tau) >= traits::matrix_num_columns(q)-1 );
         assert( traits::leading_dimension(q) >= std::max(1,
-                traits::matrix_size2(q)) );
+                traits::matrix_num_columns(q)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(q) )));
+                min_size_work( traits::matrix_num_columns(q) )));
 #endif
-        detail::upgtr( uplo, traits::matrix_size2(q),
+        detail::upgtr( uplo, traits::matrix_num_columns(q),
                 traits::vector_storage(ap), traits::vector_storage(tau),
                 traits::matrix_storage(q), traits::leading_dimension(q),
                 traits::vector_storage(work.select(value_type())), info );
@@ -90,7 +91,7 @@
     static void compute( char const uplo, VectorAP& ap, VectorTAU& tau,
             MatrixQ& q, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(q) ) );
+                traits::matrix_num_columns(q) ) );
         compute( uplo, ap, tau, q, info, workspace( tmp_work ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,15 +73,15 @@
         assert( side == 'L' || side == 'R' );
         assert( uplo == 'U' || uplo == 'L' );
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(c) >= 0 );
-        assert( traits::matrix_size2(c) >= 0 );
+        assert( traits::matrix_num_rows(c) >= 0 );
+        assert( traits::matrix_num_columns(c) >= 0 );
         assert( traits::leading_dimension(c) >= std::max(1,
-                traits::matrix_size1(c)) );
+                traits::matrix_num_rows(c)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
 #endif
-        detail::upmtr( side, uplo, trans, traits::matrix_size1(c),
-                traits::matrix_size2(c), traits::vector_storage(ap),
+        detail::upmtr( side, uplo, trans, traits::matrix_num_rows(c),
+                traits::matrix_num_columns(c), traits::vector_storage(ap),
                 traits::vector_storage(tau), traits::matrix_storage(c),
                 traits::leading_dimension(c),
                 traits::vector_storage(work.select(value_type())), info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -64,26 +64,27 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixX >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( $CALL_MIN_SIZE )));
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_swork( traits::matrix_size2(a),
-                traits::matrix_size2(b) )));
+                min_size_swork( traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::cgesv( traits::matrix_size2(a), traits::matrix_size2(b),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::matrix_storage(work),
+        detail::cgesv( traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::matrix_storage(work),
                 traits::vector_storage(work.select(value_type())), iter,
                 info );
     }
@@ -96,7 +97,8 @@
         traits::detail::array< value_type > tmp_work( min_size_work(
                 $CALL_MIN_SIZE ) );
         traits::detail::array< value_type > tmp_swork( min_size_swork(
-                traits::matrix_size2(a), traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         compute( a, ipiv, b, x, iter, info, workspace( tmp_work, tmp_swork ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -73,17 +73,17 @@
                 MatrixAB >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(ab) >= 0 );
+        assert( traits::matrix_num_columns(ab) >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(ab) >= 2 );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(ab) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(ab) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ab)) );
+                traits::matrix_num_columns(ab)) );
 #endif
-        detail::gbsv( traits::matrix_size2(ab), kl, ku,
-                traits::matrix_size2(b), traits::matrix_storage(ab),
+        detail::gbsv( traits::matrix_num_columns(ab), kl, ku,
+                traits::matrix_num_columns(b), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -136,19 +136,19 @@
         assert( n >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kl+ku+1 );
         assert( traits::leading_dimension(afb) >= 2 );
         assert( equed == 'N' || equed == 'R' || equed == 'C' || equed == 'B' );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::gbsvx( fact, trans, n, kl, ku, traits::matrix_size2(x),
+        detail::gbsvx( fact, trans, n, kl, ku, traits::matrix_num_columns(x),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::matrix_storage(afb), traits::leading_dimension(afb),
                 traits::vector_storage(ipiv), equed,
@@ -242,19 +242,19 @@
         assert( n >= 0 );
         assert( kl >= 0 );
         assert( ku >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kl+ku+1 );
         assert( traits::leading_dimension(afb) >= 2 );
         assert( equed == 'N' || equed == 'R' || equed == 'C' || equed == 'B' );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::gbsvx( fact, trans, n, kl, ku, traits::matrix_size2(x),
+        detail::gbsvx( fact, trans, n, kl, ku, traits::matrix_num_columns(x),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::matrix_storage(afb), traits::leading_dimension(afb),
                 traits::vector_storage(ipiv), equed,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -106,17 +106,17 @@
 #ifndef NDEBUG
         assert( jobvs == 'N' || jobvs == 'V' );
         assert( sort == 'N' || sort == 'S' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(wr) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(wi) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(wr) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(wi) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
-        detail::gees( jobvs, sort, select, traits::matrix_size2(a),
+        detail::gees( jobvs, sort, select, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a), sdim,
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(vs), traits::leading_dimension(vs),
@@ -132,9 +132,9 @@
             MatrixA& a, integer_t& sdim, VectorWR& wr, VectorWI& wi,
             MatrixVS& vs, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvs, sort, select, a, sdim, wr, wi, vs, info,
                 workspace( tmp_work, tmp_bwork ) );
     }
@@ -147,9 +147,10 @@
             MatrixVS& vs, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
-        detail::gees( jobvs, sort, select, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a), sdim,
+                traits::matrix_num_columns(a), sort ) );
+        detail::gees( jobvs, sort, select,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), sdim,
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(vs), traits::leading_dimension(vs),
                 &opt_size_work, -1, traits::vector_storage(tmp_bwork), info );
@@ -193,18 +194,18 @@
 #ifndef NDEBUG
         assert( jobvs == 'N' || jobvs == 'V' );
         assert( sort == 'N' || sort == 'S' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
-        detail::gees( jobvs, sort, select, traits::matrix_size2(a),
+        detail::gees( jobvs, sort, select, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a), sdim,
                 traits::vector_storage(w), traits::matrix_storage(vs),
                 traits::leading_dimension(vs),
@@ -220,11 +221,11 @@
             MatrixA& a, integer_t& sdim, VectorW& w, MatrixVS& vs,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvs, sort, select, a, sdim, w, vs, info,
                 workspace( tmp_work, tmp_rwork, tmp_bwork ) );
     }
@@ -236,14 +237,14 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
-        detail::gees( jobvs, sort, select, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a), sdim,
-                traits::vector_storage(w), traits::matrix_storage(vs),
-                traits::leading_dimension(vs), &opt_size_work, -1,
-                traits::vector_storage(tmp_rwork),
+                traits::matrix_num_columns(a), sort ) );
+        detail::gees( jobvs, sort, select,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), sdim, traits::vector_storage(w),
+                traits::matrix_storage(vs), traits::leading_dimension(vs),
+                &opt_size_work, -1, traits::vector_storage(tmp_rwork),
                 traits::vector_storage(tmp_bwork), info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -111,20 +111,21 @@
         assert( jobvs == 'N' || jobvs == 'V' );
         assert( sort == 'N' || sort == 'S' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(wr) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(wi) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(wr) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(wi) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a), sense )));
+                traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a), sense )));
+                min_size_iwork( traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
-        detail::geesx( jobvs, sort, select, sense, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a), sdim,
+        detail::geesx( jobvs, sort, select, sense,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), sdim,
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(vs), traits::leading_dimension(vs),
                 rconde, rcondv,
@@ -143,11 +144,11 @@
             VectorWI& wi, MatrixVS& vs, real_type& rconde, real_type& rcondv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvs, sort, select, sense, a, sdim, wr, wi, vs, rconde,
                 rcondv, info, workspace( tmp_work, tmp_iwork, tmp_bwork ) );
     }
@@ -162,9 +163,9 @@
         real_type opt_size_work;
         integer_t opt_size_iwork;
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         detail::geesx( jobvs, sort, select, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), sdim,
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(vs), traits::leading_dimension(vs),
@@ -223,21 +224,22 @@
         assert( jobvs == 'N' || jobvs == 'V' );
         assert( sort == 'N' || sort == 'S' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a), sense )));
+                min_size_work( traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
-        detail::geesx( jobvs, sort, select, sense, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a), sdim,
-                traits::vector_storage(w), traits::matrix_storage(vs),
-                traits::leading_dimension(vs), rconde, rcondv,
+        detail::geesx( jobvs, sort, select, sense,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), sdim, traits::vector_storage(w),
+                traits::matrix_storage(vs), traits::leading_dimension(vs),
+                rconde, rcondv,
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())),
@@ -251,11 +253,11 @@
             MatrixVS& vs, real_type& rconde, real_type& rcondv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvs, sort, select, sense, a, sdim, w, vs, rconde, rcondv,
                 info, workspace( tmp_work, tmp_rwork, tmp_bwork ) );
     }
@@ -268,11 +270,11 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         detail::geesx( jobvs, sort, select, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), sdim, traits::vector_storage(w),
                 traits::matrix_storage(vs), traits::leading_dimension(vs),
                 rconde, rcondv, &opt_size_work, -1,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -107,15 +107,15 @@
 #ifndef NDEBUG
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(wr) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(wi) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(wr) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(wi) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                jobvl, jobvr, traits::matrix_size2(a) )));
+                jobvl, jobvr, traits::matrix_num_columns(a) )));
 #endif
-        detail::geev( jobvl, jobvr, traits::matrix_size2(a),
+        detail::geev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(vl), traits::leading_dimension(vl),
@@ -131,7 +131,7 @@
             VectorWR& wr, VectorWI& wi, MatrixVL& vl, MatrixVR& vr,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( jobvl,
-                jobvr, traits::matrix_size2(a) ) );
+                jobvr, traits::matrix_num_columns(a) ) );
         compute( jobvl, jobvr, a, wr, wi, vl, vr, info,
                 workspace( tmp_work ) );
     }
@@ -143,7 +143,7 @@
             VectorWR& wr, VectorWI& wi, MatrixVL& vl, MatrixVR& vr,
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::geev( jobvl, jobvr, traits::matrix_size2(a),
+        detail::geev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(wr), traits::vector_storage(wi),
                 traits::matrix_storage(vl), traits::leading_dimension(vl),
@@ -189,16 +189,16 @@
 #ifndef NDEBUG
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::geev( jobvl, jobvr, traits::matrix_size2(a),
+        detail::geev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(w), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
@@ -215,9 +215,9 @@
             VectorW& w, MatrixVL& vl, MatrixVR& vr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobvl, jobvr, a, w, vl, vr, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
@@ -230,8 +230,8 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
-        detail::geev( jobvl, jobvr, traits::matrix_size2(a),
+                traits::matrix_num_columns(a) ) );
+        detail::geev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(w), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -135,24 +135,25 @@
         assert( jobvl == 'N' || jobvl == 'V' || jobvl == 'E' || jobvl == 'B' );
         assert( jobvr == 'N' || jobvr == 'V' || jobvr == 'E' || jobvr == 'B' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(wr) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(wi) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(rconde) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(rcondv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(wr) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(wi) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(rconde) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(rcondv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                sense, jobvl, jobvr, traits::matrix_size2(a) )));
+                sense, jobvl, jobvr, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( sense, traits::matrix_size2(a) )));
+                min_size_iwork( sense, traits::matrix_num_columns(a) )));
 #endif
-        detail::geevx( balanc, jobvl, jobvr, sense, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(wr), traits::vector_storage(wi),
-                traits::matrix_storage(vl), traits::leading_dimension(vl),
-                traits::matrix_storage(vr), traits::leading_dimension(vr),
-                ilo, ihi, traits::vector_storage(scale), abnrm,
+        detail::geevx( balanc, jobvl, jobvr, sense,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(wr),
+                traits::vector_storage(wi), traits::matrix_storage(vl),
+                traits::leading_dimension(vl), traits::matrix_storage(vr),
+                traits::leading_dimension(vr), ilo, ihi,
+                traits::vector_storage(scale), abnrm,
                 traits::vector_storage(rconde),
                 traits::vector_storage(rcondv),
                 traits::vector_storage(work.select(real_type())),
@@ -171,9 +172,9 @@
             VectorRCONDE& rconde, VectorRCONDV& rcondv, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( sense,
-                jobvl, jobvr, traits::matrix_size2(a) ) );
+                jobvl, jobvr, traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( balanc, jobvl, jobvr, sense, a, wr, wi, vl, vr, ilo, ihi,
                 scale, abnrm, rconde, rcondv, info, workspace( tmp_work,
                 tmp_iwork ) );
@@ -191,9 +192,9 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::geevx( balanc, jobvl, jobvr, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(wr),
                 traits::vector_storage(wi), traits::matrix_storage(vl),
                 traits::leading_dimension(vl), traits::matrix_storage(vr),
@@ -266,23 +267,23 @@
         assert( jobvl == 'N' || jobvl == 'V' || jobvl == 'E' || jobvl == 'B' );
         assert( jobvr == 'N' || jobvr == 'V' || jobvr == 'E' || jobvr == 'B' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(rconde) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(rcondv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(rconde) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(rcondv) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( sense, traits::matrix_size2(a) )));
+                min_size_work( sense, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::geevx( balanc, jobvl, jobvr, sense, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(w), traits::matrix_storage(vl),
-                traits::leading_dimension(vl), traits::matrix_storage(vr),
-                traits::leading_dimension(vr), ilo, ihi,
-                traits::vector_storage(scale), abnrm,
+        detail::geevx( balanc, jobvl, jobvr, sense,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(w),
+                traits::matrix_storage(vl), traits::leading_dimension(vl),
+                traits::matrix_storage(vr), traits::leading_dimension(vr),
+                ilo, ihi, traits::vector_storage(scale), abnrm,
                 traits::vector_storage(rconde),
                 traits::vector_storage(rcondv),
                 traits::vector_storage(work.select(value_type())),
@@ -300,9 +301,9 @@
             VectorSCALE& scale, real_type& abnrm, VectorRCONDE& rconde,
             VectorRCONDV& rcondv, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( balanc, jobvl, jobvr, sense, a, w, vl, vr, ilo, ihi, scale,
                 abnrm, rconde, rcondv, info, workspace( tmp_work,
                 tmp_rwork ) );
@@ -319,9 +320,9 @@
             VectorRCONDV& rcondv, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::geevx( balanc, jobvl, jobvr, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 traits::matrix_storage(vl), traits::leading_dimension(vl),
                 traits::matrix_storage(vr), traits::leading_dimension(vr),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -120,17 +120,17 @@
 #ifndef NDEBUG
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alphar) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alphar) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
 #endif
-        detail::gegv( jobvl, jobvr, traits::matrix_size2(a),
+        detail::gegv( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alphar),
@@ -150,7 +150,7 @@
             VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobvl, jobvr, a, b, alphar, alphai, beta, vl, vr, info,
                 workspace( tmp_work ) );
     }
@@ -164,7 +164,7 @@
             VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gegv( jobvl, jobvr, traits::matrix_size2(a),
+        detail::gegv( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alphar),
@@ -216,19 +216,19 @@
 #ifndef NDEBUG
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gegv( jobvl, jobvr, traits::matrix_size2(a),
+        detail::gegv( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alpha), traits::vector_storage(beta),
@@ -246,9 +246,9 @@
             MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
             MatrixVR& vr, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobvl, jobvr, a, b, alpha, beta, vl, vr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
@@ -261,8 +261,8 @@
             MatrixVR& vr, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
-        detail::gegv( jobvl, jobvr, traits::matrix_size2(a),
+                traits::matrix_num_columns(a) ) );
+        detail::gegv( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alpha), traits::vector_storage(beta),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -88,21 +88,22 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'T' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::gels( trans, traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b),
+        detail::gels( trans, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -112,8 +113,8 @@
     static void compute( char const trans, MatrixA& a, MatrixB& b,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         compute( trans, a, b, info, workspace( tmp_work ) );
     }
 
@@ -122,8 +123,8 @@
     static void compute( char const trans, MatrixA& a, MatrixB& b,
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gels( trans, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_size2(b),
+        detail::gels( trans, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 &opt_size_work, -1, info );
@@ -155,21 +156,23 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( trans == 'N' || trans == 'C' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_size2(b) )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::gels( trans, traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b),
+        detail::gels( trans, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -179,8 +182,8 @@
     static void compute( char const trans, MatrixA& a, MatrixB& b,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         compute( trans, a, b, info, workspace( tmp_work ) );
     }
 
@@ -189,8 +192,8 @@
     static void compute( char const trans, MatrixA& a, MatrixB& b,
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::gels( trans, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_size2(b),
+        detail::gels( trans, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -98,32 +98,34 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorS >::value_type >::value) );
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         integer_t smlsiz = ilaenv(9, "GELSD", "");
         integer_t nlvl = static_cast<integer_t>(((std::log(
                 static_cast<real_type>(minmn)) /
                 std::log(static_cast<real_type>(2.))) / (smlsiz+1)) + 1);
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                minmn, smlsiz, nlvl, traits::matrix_size2(b) )));
+                minmn, smlsiz, nlvl, traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( minmn, nlvl )));
 #endif
-        detail::gelsd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank, traits::vector_storage(work.select(real_type())),
+        detail::gelsd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank,
+                traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
     }
@@ -133,14 +135,14 @@
     static void compute( MatrixA& a, MatrixB& b, VectorS& s,
             real_type const rcond, integer_t& rank, integer_t& info,
             minimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         integer_t smlsiz = ilaenv(9, "GELSD", "");
         integer_t nlvl = static_cast<integer_t>(((std::log(
                 static_cast<real_type>(minmn)) /
                 std::log(static_cast<real_type>(2.))) / (smlsiz+1)) + 1);
         traits::detail::array< real_type > tmp_work( min_size_work( minmn,
-                smlsiz, nlvl, traits::matrix_size2(b) ) );
+                smlsiz, nlvl, traits::matrix_num_columns(b) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( minmn,
                 nlvl ) );
         compute( a, b, s, rcond, rank, info, workspace( tmp_work,
@@ -154,11 +156,12 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         integer_t opt_size_iwork;
-        detail::gelsd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank, &opt_size_work, -1, &opt_size_iwork, info );
+        detail::gelsd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank, &opt_size_work, -1,
+                &opt_size_iwork, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         traits::detail::array< integer_t > tmp_iwork( opt_size_iwork );
@@ -196,35 +199,36 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         integer_t smlsiz = ilaenv(9, "GELSD", "");
         integer_t nlvl = static_cast<integer_t>(((std::log(
                 static_cast<real_type>(minmn)) /
                 std::log(static_cast<real_type>(2.))) / (smlsiz+1)) + 1);
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( minmn, traits::matrix_size2(b) )));
+                min_size_work( minmn, traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( minmn, smlsiz, nlvl,
-                traits::matrix_size2(b) )));
+                traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( minmn, nlvl )));
 #endif
-        detail::gelsd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank,
+        detail::gelsd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank,
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())),
@@ -236,16 +240,16 @@
     static void compute( MatrixA& a, MatrixB& b, VectorS& s,
             real_type const rcond, integer_t& rank, integer_t& info,
             minimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         integer_t smlsiz = ilaenv(9, "GELSD", "");
         integer_t nlvl = static_cast<integer_t>(((std::log(
                 static_cast<real_type>(minmn)) /
                 std::log(static_cast<real_type>(2.))) / (smlsiz+1)) + 1);
         traits::detail::array< value_type > tmp_work( min_size_work( minmn,
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( minmn,
-                smlsiz, nlvl, traits::matrix_size2(b) ) );
+                smlsiz, nlvl, traits::matrix_num_columns(b) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( minmn,
                 nlvl ) );
         compute( a, b, s, rcond, rank, info, workspace( tmp_work, tmp_rwork,
@@ -260,12 +264,12 @@
         value_type opt_size_work;
         real_type opt_size_rwork;
         integer_t opt_size_iwork;
-        detail::gelsd( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank, &opt_size_work, -1, &opt_size_rwork,
-                &opt_size_iwork, info );
+        detail::gelsd( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank, &opt_size_work, -1,
+                &opt_size_rwork, &opt_size_iwork, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         traits::detail::array< real_type > tmp_rwork(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -95,24 +95,26 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorS >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::gelss( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank, traits::vector_storage(work.select(real_type())),
+        detail::gelss( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank,
+                traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
 
@@ -122,8 +124,8 @@
             real_type const rcond, integer_t& rank, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         compute( a, b, s, rcond, rank, info, workspace( tmp_work ) );
     }
 
@@ -133,11 +135,12 @@
             real_type const rcond, integer_t& rank, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gelss( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank, &opt_size_work, -1, info );
+        detail::gelss( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank, &opt_size_work, -1,
+                info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, b, s, rcond, rank, info, workspace( tmp_work ) );
@@ -167,29 +170,31 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_size2(b), minmn )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                minmn )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( minmn )));
 #endif
-        detail::gelss( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank,
+        detail::gelss( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank,
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
@@ -200,11 +205,11 @@
     static void compute( MatrixA& a, MatrixB& b, VectorS& s,
             real_type const rcond, integer_t& rank, integer_t& info,
             minimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), minmn ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), minmn ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
                 minmn ) );
         compute( a, b, s, rcond, rank, info, workspace( tmp_work,
@@ -216,16 +221,16 @@
     static void compute( MatrixA& a, MatrixB& b, VectorS& s,
             real_type const rcond, integer_t& rank, integer_t& info,
             optimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
                 minmn ) );
-        detail::gelss( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(s),
-                rcond, rank, &opt_size_work, -1,
+        detail::gelss( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(s), rcond, rank, &opt_size_work, -1,
                 traits::vector_storage(tmp_rwork), info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -93,22 +93,24 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::gelsy( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(jpvt),
-                rcond, rank, traits::vector_storage(work.select(real_type())),
+        detail::gelsy( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(jpvt), rcond, rank,
+                traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
 
@@ -118,8 +120,8 @@
             real_type const rcond, integer_t& rank, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         compute( a, b, jpvt, rcond, rank, info, workspace( tmp_work ) );
     }
 
@@ -129,11 +131,12 @@
             real_type const rcond, integer_t& rank, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gelsy( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(jpvt),
-                rcond, rank, &opt_size_work, -1, info );
+        detail::gelsy( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(jpvt), rcond, rank, &opt_size_work, -1,
+                info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, b, jpvt, rcond, rank, info, workspace( tmp_work ) );
@@ -163,24 +166,26 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                std::max(traits::matrix_size1(a),traits::matrix_size2(a))) );
+                std::max(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a))) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_size2(b) )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gelsy( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(jpvt),
-                rcond, rank,
+        detail::gelsy( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(jpvt), rcond, rank,
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())), info );
@@ -192,10 +197,10 @@
             real_type const rcond, integer_t& rank, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( a, b, jpvt, rcond, rank, info, workspace( tmp_work,
                 tmp_rwork ) );
     }
@@ -207,12 +212,12 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
-        detail::gelsy( traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(jpvt),
-                rcond, rank, &opt_size_work, -1,
+                traits::matrix_num_columns(a) ) );
+        detail::gelsy( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(jpvt), rcond, rank, &opt_size_work, -1,
                 traits::vector_storage(tmp_rwork), info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -99,27 +99,27 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixVT >::value_type >::value) );
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
 #ifndef NDEBUG
         assert( jobz == 'A' || jobz == 'S' || jobz == 'O' || jobz == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a), jobz,
-                minmn )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                jobz, minmn )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( minmn )));
 #endif
-        detail::gesdd( jobz, traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(s), traits::matrix_storage(u),
-                traits::leading_dimension(u), traits::matrix_storage(vt),
-                traits::leading_dimension(vt),
+        detail::gesdd( jobz, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(s),
+                traits::matrix_storage(u), traits::leading_dimension(u),
+                traits::matrix_storage(vt), traits::leading_dimension(vt),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())),
                 traits::vector_storage(work.select(integer_t())), info );
@@ -130,11 +130,11 @@
             typename MatrixVT >
     static void compute( char const jobz, MatrixA& a, VectorS& s, MatrixU& u,
             MatrixVT& vt, integer_t& info, minimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a), jobz,
-                minmn ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                jobz, minmn ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
                 minmn ) );
         compute( jobz, a, s, u, vt, info, workspace( tmp_work, tmp_iwork ) );
@@ -182,29 +182,29 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixVT >::value_type >::value) );
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
 #ifndef NDEBUG
         assert( jobz == 'A' || jobz == 'S' || jobz == 'O' || jobz == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(a), jobz, minmn )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), jobz, minmn )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( minmn, jobz )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( minmn )));
 #endif
-        detail::gesdd( jobz, traits::matrix_size1(a), traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(s), traits::matrix_storage(u),
-                traits::leading_dimension(u), traits::matrix_storage(vt),
-                traits::leading_dimension(vt),
+        detail::gesdd( jobz, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(s),
+                traits::matrix_storage(u), traits::leading_dimension(u),
+                traits::matrix_storage(vt), traits::leading_dimension(vt),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
                 traits::vector_storage(work.select(real_type())),
@@ -216,11 +216,11 @@
             typename MatrixVT >
     static void compute( char const jobz, MatrixA& a, VectorS& s, MatrixU& u,
             MatrixVT& vt, integer_t& info, minimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a), jobz,
-                minmn ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                jobz, minmn ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( minmn,
                 jobz ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
@@ -234,15 +234,15 @@
             typename MatrixVT >
     static void compute( char const jobz, MatrixA& a, VectorS& s, MatrixU& u,
             MatrixVT& vt, integer_t& info, optimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( minmn,
                 jobz ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
                 minmn ) );
-        detail::gesdd( jobz, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+        detail::gesdd( jobz, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(s),
                 traits::matrix_storage(u), traits::leading_dimension(u),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,18 +69,19 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::gesv( traits::matrix_size2(a), traits::matrix_size2(b),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::gesv( traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -101,17 +101,17 @@
 #ifndef NDEBUG
         assert( jobu == 'A' || jobu == 'S' || jobu == 'O' || jobu == 'N' );
         assert( jobvt == 'A' || jobvt == 'S' || jobvt == 'O' || jobvt == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a) )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a) )));
 #endif
-        detail::gesvd( jobu, jobvt, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+        detail::gesvd( jobu, jobvt, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(s),
                 traits::matrix_storage(u), traits::leading_dimension(u),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
@@ -126,7 +126,7 @@
             VectorS& s, MatrixU& u, MatrixVT& vt, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a) ) );
         compute( jobu, jobvt, a, s, u, vt, info, workspace( tmp_work ) );
     }
 
@@ -137,8 +137,8 @@
             VectorS& s, MatrixU& u, MatrixVT& vt, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gesvd( jobu, jobvt, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+        detail::gesvd( jobu, jobvt, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(s),
                 traits::matrix_storage(u), traits::leading_dimension(u),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
@@ -173,25 +173,25 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixVT >::value_type >::value) );
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
 #ifndef NDEBUG
         assert( jobu == 'A' || jobu == 'S' || jobu == 'O' || jobu == 'N' );
         assert( jobvt == 'A' || jobvt == 'S' || jobvt == 'O' || jobvt == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
-        assert( traits::vector_size(s) >= std::min(traits::matrix_size1(a),
-                traits::matrix_size2(a)) );
+                traits::matrix_num_rows(a)) );
+        assert( traits::vector_size(s) >= std::min(traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(a), minmn )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), minmn )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( minmn )));
 #endif
-        detail::gesvd( jobu, jobvt, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+        detail::gesvd( jobu, jobvt, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(s),
                 traits::matrix_storage(u), traits::leading_dimension(u),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
@@ -206,10 +206,11 @@
     static void compute( char const jobu, char const jobvt, MatrixA& a,
             VectorS& s, MatrixU& u, MatrixVT& vt, integer_t& info,
             minimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(a), minmn ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(a),
+                minmn ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
                 minmn ) );
         compute( jobu, jobvt, a, s, u, vt, info, workspace( tmp_work,
@@ -222,13 +223,13 @@
     static void compute( char const jobu, char const jobvt, MatrixA& a,
             VectorS& s, MatrixU& u, MatrixVT& vt, integer_t& info,
             optimal_workspace work ) {
-        integer_t minmn = std::min( traits::matrix_size1(a),
-                traits::matrix_size2(a) );
+        integer_t minmn = std::min( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a) );
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
                 minmn ) );
-        detail::gesvd( jobu, jobvt, traits::matrix_size1(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+        detail::gesvd( jobu, jobvt, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(s),
                 traits::matrix_storage(u), traits::leading_dimension(u),
                 traits::matrix_storage(vt), traits::leading_dimension(vt),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -126,25 +126,25 @@
 #ifndef NDEBUG
         assert( fact == 'F' || fact == 'N' || fact == 'E' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( equed == 'N' || equed == 'R' || equed == 'C' || equed == 'B' );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gesvx( fact, trans, traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
+        detail::gesvx( fact, trans, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(x), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(af),
                 traits::leading_dimension(af), traits::vector_storage(ipiv),
                 equed, traits::vector_storage(r), traits::vector_storage(c),
@@ -166,9 +166,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, trans, a, af, ipiv, equed, r, c, b, x, rcond, ferr,
                 berr, info, workspace( tmp_work, tmp_iwork ) );
     }
@@ -233,25 +233,25 @@
 #ifndef NDEBUG
         assert( fact == 'F' || fact == 'N' || fact == 'E' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( equed == 'N' || equed == 'R' || equed == 'C' || equed == 'B' );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::gesvx( fact, trans, traits::matrix_size2(a),
-                traits::matrix_size2(x), traits::matrix_storage(a),
+        detail::gesvx( fact, trans, traits::matrix_num_columns(a),
+                traits::matrix_num_columns(x), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(af),
                 traits::leading_dimension(af), traits::vector_storage(ipiv),
                 equed, traits::vector_storage(r), traits::vector_storage(c),
@@ -273,9 +273,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, trans, a, af, ipiv, equed, r, c, b, x, rcond, ferr,
                 berr, info, workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -134,21 +134,22 @@
         assert( jobvsl == 'N' || jobvsl == 'V' );
         assert( jobvsr == 'N' || jobvsr == 'V' );
         assert( sort == 'N' || sort == 'S' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alphar) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(alphai) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alphar) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(alphai) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
-        detail::gges( jobvsl, jobvsr, sort, selctg, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b), sdim,
+        detail::gges( jobvsl, jobvsr, sort, selctg,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b), sdim,
                 traits::vector_storage(alphar),
                 traits::vector_storage(alphai), traits::vector_storage(beta),
                 traits::matrix_storage(vsl), traits::leading_dimension(vsl),
@@ -168,9 +169,9 @@
             VectorBETA& beta, MatrixVSL& vsl, MatrixVSR& vsr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvsl, jobvsr, sort, selctg, a, b, sdim, alphar, alphai,
                 beta, vsl, vsr, info, workspace( tmp_work, tmp_bwork ) );
     }
@@ -186,9 +187,9 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         detail::gges( jobvsl, jobvsr, sort, selctg,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), sdim,
                 traits::vector_storage(alphar),
@@ -249,23 +250,24 @@
         assert( jobvsl == 'N' || jobvsl == 'V' );
         assert( jobvsr == 'N' || jobvsr == 'V' );
         assert( sort == 'N' || sort == 'S' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
-        detail::gges( jobvsl, jobvsr, sort, selctg, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b), sdim,
+        detail::gges( jobvsl, jobvsr, sort, selctg,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b), sdim,
                 traits::vector_storage(alpha), traits::vector_storage(beta),
                 traits::matrix_storage(vsl), traits::leading_dimension(vsl),
                 traits::matrix_storage(vsr), traits::leading_dimension(vsr),
@@ -284,11 +286,11 @@
             MatrixVSL& vsl, MatrixVSR& vsr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvsl, jobvsr, sort, selctg, a, b, sdim, alpha, beta, vsl,
                 vsr, info, workspace( tmp_work, tmp_rwork, tmp_bwork ) );
     }
@@ -303,11 +305,11 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         detail::gges( jobvsl, jobvsr, sort, selctg,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), sdim,
                 traits::vector_storage(alpha), traits::vector_storage(beta),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -149,22 +149,22 @@
         assert( jobvsr == 'N' || jobvsr == 'V' );
         assert( sort == 'N' || sort == 'S' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alphar) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(alphai) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alphar) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(alphai) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a), sense )));
+                traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a), sense )));
+                min_size_iwork( traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
         detail::ggesx( jobvsl, jobvsr, sort, selctg, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), sdim,
                 traits::vector_storage(alphar),
@@ -191,11 +191,11 @@
             MatrixVSR& vsr, VectorRCONDE& rconde, VectorRCONDV& rcondv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvsl, jobvsr, sort, selctg, sense, a, b, sdim, alphar,
                 alphai, beta, vsl, vsr, rconde, rcondv, info,
                 workspace( tmp_work, tmp_iwork, tmp_bwork ) );
@@ -214,9 +214,9 @@
         real_type opt_size_work;
         integer_t opt_size_iwork;
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         detail::ggesx( jobvsl, jobvsr, sort, selctg, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), sdim,
                 traits::vector_storage(alphar),
@@ -299,24 +299,24 @@
         assert( jobvsr == 'N' || jobvsr == 'V' );
         assert( sort == 'N' || sort == 'S' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a), sense )));
+                min_size_work( traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a), sense )));
+                min_size_iwork( traits::matrix_num_columns(a), sense )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                traits::matrix_size2(a), sort )));
+                traits::matrix_num_columns(a), sort )));
 #endif
         detail::ggesx( jobvsl, jobvsr, sort, selctg, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), sdim,
                 traits::vector_storage(alpha), traits::vector_storage(beta),
@@ -342,13 +342,13 @@
             MatrixVSL& vsl, MatrixVSR& vsr, VectorRCONDE& rconde,
             VectorRCONDV& rcondv, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a), sense ) );
+                traits::matrix_num_columns(a), sense ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         compute( jobvsl, jobvsr, sort, selctg, sense, a, b, sdim, alpha, beta,
                 vsl, vsr, rconde, rcondv, info, workspace( tmp_work,
                 tmp_rwork, tmp_iwork, tmp_bwork ) );
@@ -365,12 +365,12 @@
             VectorRCONDV& rcondv, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         integer_t opt_size_iwork;
         traits::detail::array< bool > tmp_bwork( min_size_bwork(
-                traits::matrix_size2(a), sort ) );
+                traits::matrix_num_columns(a), sort ) );
         detail::ggesx( jobvsl, jobvsr, sort, selctg, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), sdim,
                 traits::vector_storage(alpha), traits::vector_storage(beta),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -120,17 +120,17 @@
 #ifndef NDEBUG
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alphar) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(alphai) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alphar) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(alphai) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
 #endif
-        detail::ggev( jobvl, jobvr, traits::matrix_size2(a),
+        detail::ggev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alphar),
@@ -150,7 +150,7 @@
             VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobvl, jobvr, a, b, alphar, alphai, beta, vl, vr, info,
                 workspace( tmp_work ) );
     }
@@ -164,7 +164,7 @@
             VectorBETA& beta, MatrixVL& vl, MatrixVR& vr, integer_t& info,
             optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ggev( jobvl, jobvr, traits::matrix_size2(a),
+        detail::ggev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alphar),
@@ -216,19 +216,19 @@
 #ifndef NDEBUG
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
-        detail::ggev( jobvl, jobvr, traits::matrix_size2(a),
+        detail::ggev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alpha), traits::vector_storage(beta),
@@ -246,9 +246,9 @@
             MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixVL& vl,
             MatrixVR& vr, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobvl, jobvr, a, b, alpha, beta, vl, vr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
@@ -261,8 +261,8 @@
             MatrixVR& vr, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
-        detail::ggev( jobvl, jobvr, traits::matrix_size2(a),
+                traits::matrix_num_columns(a) ) );
+        detail::ggev( jobvl, jobvr, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alpha), traits::vector_storage(beta),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -161,24 +161,24 @@
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alphar) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(alphai) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alphar) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(alphai) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                balanc, jobvl, jobvr, sense, traits::matrix_size2(a) )));
+                balanc, jobvl, jobvr, sense, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( sense, traits::matrix_size2(a) )));
+                min_size_iwork( sense, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                sense, traits::matrix_size2(a) )));
+                sense, traits::matrix_num_columns(a) )));
 #endif
-        detail::ggevx( balanc, jobvl, jobvr, sense, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(alphar),
+        detail::ggevx( balanc, jobvl, jobvr, sense,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(alphar),
                 traits::vector_storage(alphai), traits::vector_storage(beta),
                 traits::matrix_storage(vl), traits::leading_dimension(vl),
                 traits::matrix_storage(vr), traits::leading_dimension(vr),
@@ -205,11 +205,11 @@
             real_type& bbnrm, VectorRCONDE& rconde, VectorRCONDV& rcondv,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( balanc,
-                jobvl, jobvr, sense, traits::matrix_size2(a) ) );
+                jobvl, jobvr, sense, traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( balanc, jobvl, jobvr, sense, a, b, alphar, alphai, beta, vl,
                 vr, ilo, ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv,
                 info, workspace( tmp_work, tmp_iwork, tmp_bwork ) );
@@ -229,11 +229,11 @@
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::ggevx( balanc, jobvl, jobvr, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::vector_storage(alphar),
                 traits::vector_storage(alphai), traits::vector_storage(beta),
@@ -328,29 +328,30 @@
         assert( jobvl == 'N' || jobvl == 'V' );
         assert( jobvr == 'N' || jobvr == 'V' );
         assert( sense == 'N' || sense == 'E' || sense == 'V' || sense == 'B' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(beta) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(beta) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( sense, traits::matrix_size2(a) )));
+                min_size_work( sense, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( balanc, traits::matrix_size2(a) )));
+                min_size_rwork( balanc, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( sense, traits::matrix_size2(a) )));
+                min_size_iwork( sense, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(bool()) >= min_size_bwork(
-                sense, traits::matrix_size2(a) )));
+                sense, traits::matrix_num_columns(a) )));
 #endif
-        detail::ggevx( balanc, jobvl, jobvr, sense, traits::matrix_size2(a),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                traits::vector_storage(alpha), traits::vector_storage(beta),
-                traits::matrix_storage(vl), traits::leading_dimension(vl),
-                traits::matrix_storage(vr), traits::leading_dimension(vr),
-                ilo, ihi, traits::vector_storage(lscale),
+        detail::ggevx( balanc, jobvl, jobvr, sense,
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::matrix_storage(b),
+                traits::leading_dimension(b), traits::vector_storage(alpha),
+                traits::vector_storage(beta), traits::matrix_storage(vl),
+                traits::leading_dimension(vl), traits::matrix_storage(vr),
+                traits::leading_dimension(vr), ilo, ihi,
+                traits::vector_storage(lscale),
                 traits::vector_storage(rscale), abnrm, bbnrm,
                 traits::vector_storage(rconde),
                 traits::vector_storage(rcondv),
@@ -374,13 +375,13 @@
             VectorRCONDE& rconde, VectorRCONDV& rcondv, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( balanc,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( balanc, jobvl, jobvr, sense, a, b, alpha, beta, vl, vr, ilo,
                 ihi, lscale, rscale, abnrm, bbnrm, rconde, rcondv, info,
                 workspace( tmp_work, tmp_rwork, tmp_iwork, tmp_bwork ) );
@@ -400,13 +401,13 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( balanc,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< bool > tmp_bwork( min_size_bwork( sense,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::ggevx( balanc, jobvl, jobvr, sense,
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::vector_storage(alpha),
                 traits::vector_storage(beta), traits::matrix_storage(vl),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -101,25 +101,26 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >=
-                traits::matrix_size1(b)-traits::matrix_size2(a) );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >=
+                traits::matrix_num_rows(b)-traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(b)) );
+                traits::matrix_num_rows(b)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(d) >= traits::matrix_size1(b) );
-        assert( traits::vector_size(x) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(y) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(d) >= traits::matrix_num_rows(b) );
+        assert( traits::vector_size(x) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(y) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a), traits::matrix_size1(b),
-                traits::matrix_size2(b) )));
+                traits::matrix_num_columns(a), traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::ggglm( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(d),
-                traits::vector_storage(x), traits::vector_storage(y),
+        detail::ggglm( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(d), traits::vector_storage(x),
+                traits::vector_storage(y),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -130,8 +131,8 @@
     static void compute( MatrixA& a, MatrixB& b, VectorD& d, VectorX& x,
             VectorY& y, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a), traits::matrix_size1(b),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(a), traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b) ) );
         compute( a, b, d, x, y, info, workspace( tmp_work ) );
     }
 
@@ -141,12 +142,12 @@
     static void compute( MatrixA& a, MatrixB& b, VectorD& d, VectorX& x,
             VectorY& y, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::ggglm( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(d),
-                traits::vector_storage(x), traits::vector_storage(y),
-                &opt_size_work, -1, info );
+        detail::ggglm( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(d), traits::vector_storage(x),
+                traits::vector_storage(y), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, b, d, x, y, info, workspace( tmp_work ) );
@@ -183,25 +184,26 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorY >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(b) >= 0 );
-        assert( traits::matrix_size2(b) >=
-                traits::matrix_size1(b)-traits::matrix_size2(a) );
+        assert( traits::matrix_num_rows(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >=
+                traits::matrix_num_rows(b)-traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(b)) );
+                traits::matrix_num_rows(b)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(d) >= traits::matrix_size1(b) );
-        assert( traits::vector_size(x) >= traits::matrix_size2(a) );
-        assert( traits::vector_size(y) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(d) >= traits::matrix_num_rows(b) );
+        assert( traits::vector_size(x) >= traits::matrix_num_columns(a) );
+        assert( traits::vector_size(y) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a),
-                traits::matrix_size1(b), traits::matrix_size2(b) )));
+                min_size_work( traits::matrix_num_columns(a),
+                traits::matrix_num_rows(b), traits::matrix_num_columns(b) )));
 #endif
-        detail::ggglm( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(d),
-                traits::vector_storage(x), traits::vector_storage(y),
+        detail::ggglm( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(d), traits::vector_storage(x),
+                traits::vector_storage(y),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -212,8 +214,8 @@
     static void compute( MatrixA& a, MatrixB& b, VectorD& d, VectorX& x,
             VectorY& y, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a), traits::matrix_size1(b),
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(a), traits::matrix_num_rows(b),
+                traits::matrix_num_columns(b) ) );
         compute( a, b, d, x, y, info, workspace( tmp_work ) );
     }
 
@@ -223,12 +225,12 @@
     static void compute( MatrixA& a, MatrixB& b, VectorD& d, VectorX& x,
             VectorY& y, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::ggglm( traits::matrix_size1(b), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(d),
-                traits::vector_storage(x), traits::vector_storage(y),
-                &opt_size_work, -1, info );
+        detail::ggglm( traits::matrix_num_rows(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(d), traits::vector_storage(x),
+                traits::vector_storage(y), &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, b, d, x, y, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -101,24 +101,25 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(c) >= traits::matrix_size1(a) );
-        assert( traits::vector_size(d) >= traits::matrix_size1(b) );
-        assert( traits::vector_size(x) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(c) >= traits::matrix_num_rows(a) );
+        assert( traits::vector_size(d) >= traits::matrix_num_rows(b) );
+        assert( traits::vector_size(x) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b) )));
+                traits::matrix_num_rows(a), traits::matrix_num_columns(b),
+                traits::matrix_num_rows(b) )));
 #endif
-        detail::gglse( traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(c),
-                traits::vector_storage(d), traits::vector_storage(x),
+        detail::gglse( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(c), traits::vector_storage(d),
+                traits::vector_storage(x),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -129,8 +130,8 @@
     static void compute( MatrixA& a, MatrixB& b, VectorC& c, VectorD& d,
             VectorX& x, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(b),
+                traits::matrix_num_rows(b) ) );
         compute( a, b, c, d, x, info, workspace( tmp_work ) );
     }
 
@@ -140,12 +141,12 @@
     static void compute( MatrixA& a, MatrixB& b, VectorC& c, VectorD& d,
             VectorX& x, integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
-        detail::gglse( traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(c),
-                traits::vector_storage(d), traits::vector_storage(x),
-                &opt_size_work, -1, info );
+        detail::gglse( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(c), traits::vector_storage(d),
+                traits::vector_storage(x), &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, b, c, d, x, info, workspace( tmp_work ) );
@@ -182,24 +183,25 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorX >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(c) >= traits::matrix_size1(a) );
-        assert( traits::vector_size(d) >= traits::matrix_size1(b) );
-        assert( traits::vector_size(x) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(c) >= traits::matrix_num_rows(a) );
+        assert( traits::vector_size(d) >= traits::matrix_num_rows(b) );
+        assert( traits::vector_size(x) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size1(a),
-                traits::matrix_size2(b), traits::matrix_size1(b) )));
+                min_size_work( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b) )));
 #endif
-        detail::gglse( traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(c),
-                traits::vector_storage(d), traits::vector_storage(x),
+        detail::gglse( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(c), traits::vector_storage(d),
+                traits::vector_storage(x),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -210,8 +212,8 @@
     static void compute( MatrixA& a, MatrixB& b, VectorC& c, VectorD& d,
             VectorX& x, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b) ) );
+                traits::matrix_num_rows(a), traits::matrix_num_columns(b),
+                traits::matrix_num_rows(b) ) );
         compute( a, b, c, d, x, info, workspace( tmp_work ) );
     }
 
@@ -221,12 +223,12 @@
     static void compute( MatrixA& a, MatrixB& b, VectorC& c, VectorD& d,
             VectorX& x, integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
-        detail::gglse( traits::matrix_size1(a), traits::matrix_size2(b),
-                traits::matrix_size1(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::vector_storage(c),
-                traits::vector_storage(d), traits::vector_storage(x),
-                &opt_size_work, -1, info );
+        detail::gglse( traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::vector_storage(c), traits::vector_storage(d),
+                traits::vector_storage(x), &opt_size_work, -1, info );
         traits::detail::array< value_type > tmp_work(
                 traits::detail::to_int( opt_size_work ) );
         compute( a, b, c, d, x, info, workspace( tmp_work ) );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -131,23 +131,23 @@
         assert( jobu == 'U' || jobu == 'N' );
         assert( jobv == 'V' || jobv == 'N' );
         assert( jobq == 'Q' || jobq == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(b), traits::matrix_size1(a),
-                traits::matrix_size1(b) )));
+                traits::matrix_num_columns(b), traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(b) )));
+                min_size_iwork( traits::matrix_num_columns(b) )));
 #endif
-        detail::ggsvd( jobu, jobv, jobq, traits::matrix_size1(a),
-                traits::matrix_size2(b), traits::matrix_size1(b), k, l,
-                traits::matrix_storage(a), traits::leading_dimension(a),
+        detail::ggsvd( jobu, jobv, jobq, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b), k,
+                l, traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alpha), traits::vector_storage(beta),
                 traits::matrix_storage(u), traits::leading_dimension(u),
@@ -166,10 +166,10 @@
             VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, MatrixV& v,
             MatrixQ& q, integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(b), traits::matrix_size1(a),
-                traits::matrix_size1(b) ) );
+                traits::matrix_num_columns(b), traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         compute( jobu, jobv, jobq, k, l, a, b, alpha, beta, u, v, q, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -231,25 +231,25 @@
         assert( jobu == 'U' || jobu == 'N' );
         assert( jobv == 'V' || jobv == 'N' );
         assert( jobq == 'Q' || jobq == 'N' );
-        assert( traits::matrix_size1(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
-        assert( traits::matrix_size1(b) >= 0 );
+        assert( traits::matrix_num_rows(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
+        assert( traits::matrix_num_rows(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size1(a)) );
+                traits::matrix_num_rows(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size1(b)) );
-        assert( traits::vector_size(alpha) >= traits::matrix_size2(b) );
+                traits::matrix_num_rows(b)) );
+        assert( traits::vector_size(alpha) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(b),
-                traits::matrix_size1(a), traits::matrix_size1(b) )));
+                min_size_work( traits::matrix_num_columns(b),
+                traits::matrix_num_rows(a), traits::matrix_num_rows(b) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(b) )));
+                min_size_rwork( traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(b) )));
+                min_size_iwork( traits::matrix_num_columns(b) )));
 #endif
-        detail::ggsvd( jobu, jobv, jobq, traits::matrix_size1(a),
-                traits::matrix_size2(b), traits::matrix_size1(b), k, l,
-                traits::matrix_storage(a), traits::leading_dimension(a),
+        detail::ggsvd( jobu, jobv, jobq, traits::matrix_num_rows(a),
+                traits::matrix_num_columns(b), traits::matrix_num_rows(b), k,
+                l, traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::vector_storage(alpha), traits::vector_storage(beta),
                 traits::matrix_storage(u), traits::leading_dimension(u),
@@ -269,12 +269,12 @@
             VectorALPHA& alpha, VectorBETA& beta, MatrixU& u, MatrixV& v,
             MatrixQ& q, integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(b), traits::matrix_size1(a),
-                traits::matrix_size1(b) ) );
+                traits::matrix_num_columns(b), traits::matrix_num_rows(a),
+                traits::matrix_num_rows(b) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         compute( jobu, jobv, jobq, k, l, a, b, alpha, beta, u, v, q, info,
                 workspace( tmp_work, tmp_rwork, tmp_iwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -81,16 +81,16 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(dl) >= n-1 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(du) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::gtsv( n, traits::matrix_size2(b), traits::vector_storage(dl),
-                traits::vector_storage(d), traits::vector_storage(du),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                info );
+        detail::gtsv( n, traits::matrix_num_columns(b),
+                traits::vector_storage(dl), traits::vector_storage(d),
+                traits::vector_storage(du), traits::matrix_storage(b),
+                traits::leading_dimension(b), info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -144,19 +144,19 @@
         assert( fact == 'F' || fact == 'N' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(dl) >= n-1 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(du) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(b) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
-        detail::gtsvx( fact, trans, n, traits::matrix_size2(b),
+        detail::gtsvx( fact, trans, n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::vector_storage(dlf),
                 traits::vector_storage(df), traits::vector_storage(duf),
@@ -258,19 +258,19 @@
         assert( fact == 'F' || fact == 'N' );
         assert( trans == 'N' || trans == 'T' || trans == 'C' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(dl) >= n-1 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(du) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(b) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(b) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::gtsvx( fact, trans, n, traits::matrix_size2(b),
+        detail::gtsvx( fact, trans, n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::vector_storage(dlf),
                 traits::vector_storage(df), traits::vector_storage(duf),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -66,16 +66,16 @@
         assert( jobz == 'N' || jobz == 'V' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
         detail::heev( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
@@ -87,9 +87,9 @@
     static void compute( char const jobz, MatrixA& a, VectorW& w,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, a, w, info, workspace( tmp_work, tmp_rwork ) );
     }
 
@@ -99,9 +99,9 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::heev( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 &opt_size_work, -1, traits::vector_storage(tmp_rwork), info );
         traits::detail::array< value_type > tmp_work(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -70,18 +70,18 @@
         assert( jobz == 'N' || jobz == 'V' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( jobz, traits::matrix_size2(a) )));
+                min_size_work( jobz, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( jobz, traits::matrix_size2(a) )));
+                min_size_rwork( jobz, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( jobz, traits::matrix_size2(a) )));
+                min_size_iwork( jobz, traits::matrix_num_columns(a) )));
 #endif
         detail::heevd( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())),
@@ -96,11 +96,11 @@
     static void compute( char const jobz, MatrixA& a, VectorW& w,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work( jobz,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( jobz,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( jobz,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, a, w, info, workspace( tmp_work, tmp_rwork,
                 tmp_iwork ) );
     }
@@ -113,7 +113,7 @@
         real_type opt_size_rwork;
         integer_t opt_size_iwork;
         detail::heevd( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 &opt_size_work, -1, &opt_size_rwork, -1, &opt_size_iwork, -1,
                 info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -85,20 +85,20 @@
         assert( range == 'A' || range == 'V' || range == 'I' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(isuppz) >= 2*std::max(1,m) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
         detail::heevr( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z), traits::vector_storage(isuppz),
@@ -119,11 +119,11 @@
             VectorW& w, MatrixZ& z, VectorISUPPZ& isuppz, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, range, a, vl, vu, il, iu, abstol, m, w, z, isuppz,
                 info, workspace( tmp_work, tmp_rwork, tmp_iwork ) );
     }
@@ -140,7 +140,7 @@
         real_type opt_size_rwork;
         integer_t opt_size_iwork;
         detail::heevr( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z), traits::vector_storage(isuppz),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -83,19 +83,19 @@
         assert( range == 'A' || range == 'V' || range == 'I' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
         detail::heevx( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z),
@@ -115,11 +115,11 @@
             VectorW& w, MatrixZ& z, VectorIFAIL& ifail, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, range, a, vl, vu, il, iu, abstol, m, w, z, ifail, info,
                 workspace( tmp_work, tmp_rwork, tmp_iwork ) );
     }
@@ -134,11 +134,11 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::heevx( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z), &opt_size_work, -1,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -69,19 +69,20 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work(  )));
 #endif
-        detail::hesv( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(ipiv),
-                traits::matrix_storage(b), traits::leading_dimension(b),
+        detail::hesv( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(ipiv), traits::matrix_storage(b),
+                traits::leading_dimension(b),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -100,7 +101,7 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         detail::hesv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
                 traits::leading_dimension(b), &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -90,24 +90,24 @@
         assert( fact == 'F' || fact == 'N' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
         detail::hesvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
@@ -128,9 +128,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, a, af, ipiv, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
@@ -145,9 +145,9 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::hesvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -61,15 +61,16 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
 #endif
-        detail::hpsv( traits::matrix_uplo_tag(ap), traits::matrix_size2(ap),
-                traits::matrix_size2(b), traits::matrix_storage(ap),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::hpsv( traits::matrix_uplo_tag(ap),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(b),
+                traits::matrix_storage(ap), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -88,17 +88,17 @@
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
         detail::hpsvx( fact, traits::matrix_uplo_tag(ap), n,
-                traits::matrix_size2(x), traits::matrix_storage(ap),
+                traits::matrix_num_columns(x), traits::matrix_storage(ap),
                 traits::matrix_storage(afp), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 traits::matrix_storage(x), traits::leading_dimension(x),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -101,15 +101,15 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 1 );
+        assert( traits::matrix_num_columns(b) >= 1 );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                n, smlsiz, nlvl, traits::matrix_size2(b) )));
+                n, smlsiz, nlvl, traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n, nlvl )));
 #endif
-        detail::lalsd( uplo, smlsiz, n, traits::matrix_size2(b),
+        detail::lalsd( uplo, smlsiz, n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 rcond, rank, traits::vector_storage(work.select(real_type())),
@@ -127,7 +127,7 @@
                     1)) /
             std::log(static_cast<real_type>(2.)) ) + 1 );
         traits::detail::array< real_type > tmp_work( min_size_work( n, smlsiz,
-                nlvl, traits::matrix_size2(b) ) );
+                nlvl, traits::matrix_num_columns(b) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( n,
                 nlvl ) );
         compute( uplo, smlsiz, n, d, e, b, rcond, rank, info,
@@ -182,17 +182,18 @@
 #ifndef NDEBUG
         assert( uplo == 'U' || uplo == 'L' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 1 );
+        assert( traits::matrix_num_columns(b) >= 1 );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( n, traits::matrix_size2(b) )));
+                min_size_work( n, traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( n, smlsiz, nlvl, traits::matrix_size2(b) )));
+                min_size_rwork( n, smlsiz, nlvl,
+                traits::matrix_num_columns(b) )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n, nlvl )));
 #endif
-        detail::lalsd( uplo, smlsiz, n, traits::matrix_size2(b),
+        detail::lalsd( uplo, smlsiz, n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),
                 rcond, rank,
@@ -213,9 +214,9 @@
             static_cast<real_type>(smlsiz+1)) /
             std::log(static_cast<real_type>(2.))) + 1 );
         traits::detail::array< value_type > tmp_work( min_size_work( n,
-                traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(b) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork( n,
-                smlsiz, nlvl, traits::matrix_size2(b) ) );
+                smlsiz, nlvl, traits::matrix_num_columns(b) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( n,
                 nlvl ) );
         compute( uplo, smlsiz, n, d, e, b, rcond, rank, info,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,15 +71,16 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(ab) == 'U' ||
                 traits::matrix_uplo_tag(ab) == 'L' );
-        assert( traits::matrix_size2(ab) >= 0 );
+        assert( traits::matrix_num_columns(ab) >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ab)) );
+                traits::matrix_num_columns(ab)) );
 #endif
-        detail::pbsv( traits::matrix_uplo_tag(ab), traits::matrix_size2(ab),
-                kd, traits::matrix_size2(b), traits::matrix_storage(ab),
+        detail::pbsv( traits::matrix_uplo_tag(ab),
+                traits::matrix_num_columns(ab), kd,
+                traits::matrix_num_columns(b), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::matrix_storage(b),
                 traits::leading_dimension(b), info );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -125,20 +125,20 @@
                 traits::matrix_uplo_tag(ab) == 'L' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(afb) >= kd+1 );
         assert( equed == 'N' || equed == 'Y' );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
         assert( traits::vector_size(work.select(integer_t()) >=
                 min_size_iwork( n )));
 #endif
         detail::pbsvx( fact, traits::matrix_uplo_tag(ab), n, kd,
-                traits::matrix_size2(x), traits::matrix_storage(ab),
+                traits::matrix_num_columns(x), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::matrix_storage(afb),
                 traits::leading_dimension(afb), equed,
                 traits::vector_storage(s), traits::matrix_storage(b),
@@ -223,20 +223,20 @@
                 traits::matrix_uplo_tag(ab) == 'L' );
         assert( n >= 0 );
         assert( kd >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(ab) >= kd+1 );
         assert( traits::leading_dimension(afb) >= kd+1 );
         assert( equed == 'N' || equed == 'Y' );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
         detail::pbsvx( fact, traits::matrix_uplo_tag(ab), n, kd,
-                traits::matrix_size2(x), traits::matrix_storage(ab),
+                traits::matrix_num_columns(x), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::matrix_storage(afb),
                 traits::leading_dimension(afb), equed,
                 traits::vector_storage(s), traits::matrix_storage(b),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -70,17 +70,18 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
 #endif
-        detail::posv( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::posv( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -120,25 +120,25 @@
         assert( fact == 'F' || fact == 'Y' || fact == 'N' || fact == 'E' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( equed == 'N' || equed == 'Y' );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
         detail::posvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 equed, traits::vector_storage(s), traits::matrix_storage(b),
@@ -158,9 +158,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, a, af, equed, s, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -220,25 +220,25 @@
         assert( fact == 'F' || fact == 'Y' || fact == 'N' || fact == 'E' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( equed == 'N' || equed == 'Y' );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
         detail::posvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 equed, traits::vector_storage(s), traits::matrix_storage(b),
@@ -258,9 +258,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, a, af, equed, s, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -70,15 +70,15 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
 #endif
-        detail::ppsv( traits::matrix_uplo_tag(ap), traits::matrix_size2(ap),
-                traits::matrix_size2(b), traits::matrix_storage(ap),
-                traits::matrix_storage(b), traits::leading_dimension(b),
-                info );
+        detail::ppsv( traits::matrix_uplo_tag(ap),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(b),
+                traits::matrix_storage(ap), traits::matrix_storage(b),
+                traits::leading_dimension(b), info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -116,21 +116,21 @@
         assert( fact == 'F' || fact == 'Y' || fact == 'N' || fact == 'E' );
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( equed == 'N' || equed == 'Y' );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(ap)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(ap)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(ap) )));
+                traits::matrix_num_columns(ap) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(ap) )));
+                min_size_iwork( traits::matrix_num_columns(ap) )));
 #endif
         detail::ppsvx( fact, traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), traits::matrix_size2(x),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(x),
                 traits::matrix_storage(ap), traits::vector_storage(afp),
                 equed, traits::vector_storage(s), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
@@ -149,9 +149,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         compute( fact, ap, afp, equed, s, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -211,21 +211,21 @@
         assert( fact == 'F' || fact == 'Y' || fact == 'N' || fact == 'E' );
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( equed == 'N' || equed == 'Y' );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(ap)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(ap)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(ap) )));
+                min_size_work( traits::matrix_num_columns(ap) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(ap) )));
+                min_size_rwork( traits::matrix_num_columns(ap) )));
 #endif
         detail::ppsvx( fact, traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), traits::matrix_size2(x),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(x),
                 traits::matrix_storage(ap), traits::vector_storage(afp),
                 equed, traits::vector_storage(s), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
@@ -244,9 +244,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         compute( fact, ap, afp, equed, s, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -78,14 +78,15 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::ptsv( n, traits::matrix_size2(b), traits::vector_storage(d),
-                traits::vector_storage(e), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::ptsv( n, traits::matrix_num_columns(b),
+                traits::vector_storage(d), traits::vector_storage(e),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
@@ -105,14 +106,15 @@
                 MatrixB >::value_type >::value) );
 #ifndef NDEBUG
         assert( n >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
 #endif
-        detail::ptsv( n, traits::matrix_size2(b), traits::vector_storage(d),
-                traits::vector_storage(e), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::ptsv( n, traits::matrix_num_columns(b),
+                traits::vector_storage(d), traits::vector_storage(e),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -118,16 +118,16 @@
 #ifndef NDEBUG
         assert( fact == 'F' || fact == 'N' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 n )));
 #endif
-        detail::ptsvx( fact, n, traits::matrix_size2(x),
+        detail::ptsvx( fact, n, traits::matrix_num_columns(x),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::vector_storage(df), traits::vector_storage(ef),
                 traits::matrix_storage(b), traits::leading_dimension(b),
@@ -204,18 +204,18 @@
 #ifndef NDEBUG
         assert( fact == 'F' || fact == 'N' );
         assert( n >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::vector_size(d) >= n );
         assert( traits::vector_size(e) >= n-1 );
         assert( traits::leading_dimension(b) >= std::max(1,n) );
         assert( traits::leading_dimension(x) >= std::max(1,n) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work( n )));
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_rwork( n )));
 #endif
-        detail::ptsvx( fact, n, traits::matrix_size2(x),
+        detail::ptsvx( fact, n, traits::matrix_num_columns(x),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::vector_storage(df), traits::vector_storage(ef),
                 traits::matrix_storage(b), traits::leading_dimension(b),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -61,26 +61,27 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixX >::value_type >::value) );
 #ifndef NDEBUG
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(ipiv) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(ipiv) >= traits::matrix_num_columns(a) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
                 $CALL_MIN_SIZE )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_swork( traits::matrix_size2(a),
-                traits::matrix_size2(b) )));
+                min_size_swork( traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) )));
 #endif
-        detail::sgesv( traits::matrix_size2(a), traits::matrix_size2(b),
-                traits::matrix_storage(a), traits::leading_dimension(a),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), traits::matrix_storage(x),
-                traits::leading_dimension(x), traits::matrix_storage(work),
+        detail::sgesv( traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b), traits::matrix_storage(a),
+                traits::leading_dimension(a), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                traits::matrix_storage(x), traits::leading_dimension(x),
+                traits::matrix_storage(work),
                 traits::vector_storage(work.select(real_type())), iter, info );
     }
 
@@ -92,7 +93,8 @@
         traits::detail::array< real_type > tmp_work( min_size_work(
                 $CALL_MIN_SIZE ) );
         traits::detail::array< real_type > tmp_swork( min_size_swork(
-                traits::matrix_size2(a), traits::matrix_size2(b) ) );
+                traits::matrix_num_columns(a),
+                traits::matrix_num_columns(b) ) );
         compute( a, ipiv, b, x, iter, info, workspace( tmp_work, tmp_swork ) );
     }
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -71,15 +71,16 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
 #endif
-        detail::spsv( traits::matrix_uplo_tag(ap), traits::matrix_size2(ap),
-                traits::matrix_size2(b), traits::matrix_storage(ap),
-                traits::vector_storage(ipiv), traits::matrix_storage(b),
-                traits::leading_dimension(b), info );
+        detail::spsv( traits::matrix_uplo_tag(ap),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(b),
+                traits::matrix_storage(ap), traits::vector_storage(ipiv),
+                traits::matrix_storage(b), traits::leading_dimension(b),
+                info );
     }
 };
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -113,20 +113,20 @@
         assert( fact == 'F' || fact == 'N' );
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(ap)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(ap)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(ap) )));
+                traits::matrix_num_columns(ap) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(ap) )));
+                min_size_iwork( traits::matrix_num_columns(ap) )));
 #endif
         detail::spsvx( fact, traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), traits::matrix_size2(x),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(x),
                 traits::matrix_storage(ap), traits::matrix_storage(afp),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
@@ -145,9 +145,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         compute( fact, ap, afp, ipiv, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -204,20 +204,20 @@
         assert( fact == 'F' || fact == 'N' );
         assert( traits::matrix_uplo_tag(ap) == 'U' ||
                 traits::matrix_uplo_tag(ap) == 'L' );
-        assert( traits::matrix_size2(ap) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(ap) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(ap)) );
+                traits::matrix_num_columns(ap)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(ap)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(ap)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(ap) )));
+                min_size_work( traits::matrix_num_columns(ap) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(ap) )));
+                min_size_rwork( traits::matrix_num_columns(ap) )));
 #endif
         detail::spsvx( fact, traits::matrix_uplo_tag(ap),
-                traits::matrix_size2(ap), traits::matrix_size2(x),
+                traits::matrix_num_columns(ap), traits::matrix_num_columns(x),
                 traits::matrix_storage(ap), traits::matrix_storage(afp),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(x),
@@ -236,9 +236,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(ap) ) );
+                traits::matrix_num_columns(ap) ) );
         compute( fact, ap, afp, ipiv, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -63,14 +63,14 @@
         assert( jobz == 'N' || jobz == 'V' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
 #endif
         detail::syev( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
@@ -81,7 +81,7 @@
     static void compute( char const jobz, MatrixA& a, VectorW& w,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, a, w, info, workspace( tmp_work ) );
     }
 
@@ -91,7 +91,7 @@
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
         detail::syev( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 &opt_size_work, -1, info );
         traits::detail::array< real_type > tmp_work(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -68,16 +68,16 @@
         assert( jobz == 'N' || jobz == 'V' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                jobz, traits::matrix_size2(a) )));
+                jobz, traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( jobz, traits::matrix_size2(a) )));
+                min_size_iwork( jobz, traits::matrix_num_columns(a) )));
 #endif
         detail::syevd( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())),
@@ -90,9 +90,9 @@
     static void compute( char const jobz, MatrixA& a, VectorW& w,
             integer_t& info, minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work( jobz,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork( jobz,
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, a, w, info, workspace( tmp_work, tmp_iwork ) );
     }
 
@@ -103,7 +103,7 @@
         real_type opt_size_work;
         integer_t opt_size_iwork;
         detail::syevd( jobz, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(w),
                 &opt_size_work, -1, &opt_size_iwork, -1, info );
         traits::detail::array< real_type > tmp_work(
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -83,18 +83,18 @@
         assert( range == 'A' || range == 'V' || range == 'I' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(isuppz) >= 2*std::max(1,m) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
         detail::syevr( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z), traits::vector_storage(isuppz),
@@ -113,9 +113,9 @@
             VectorW& w, MatrixZ& z, VectorISUPPZ& isuppz, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, range, a, vl, vu, il, iu, abstol, m, w, z, isuppz,
                 info, workspace( tmp_work, tmp_iwork ) );
     }
@@ -131,7 +131,7 @@
         real_type opt_size_work;
         integer_t opt_size_iwork;
         detail::syevr( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z), traits::vector_storage(isuppz),
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -80,17 +80,17 @@
         assert( range == 'A' || range == 'V' || range == 'I' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(w) >= traits::matrix_size2(a) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(w) >= traits::matrix_num_columns(a) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
         detail::syevx( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z),
@@ -109,9 +109,9 @@
             VectorW& w, MatrixZ& z, VectorIFAIL& ifail, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( jobz, range, a, vl, vu, il, iu, abstol, m, w, z, ifail, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -126,9 +126,9 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::syevx( jobz, range, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_storage(a),
+                traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), vl, vu, il, iu, abstol, m,
                 traits::vector_storage(w), traits::matrix_storage(z),
                 traits::leading_dimension(z), &opt_size_work, -1,
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -90,19 +90,20 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(real_type()) >=
                 min_size_work(  )));
 #endif
-        detail::sysv( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(ipiv),
-                traits::matrix_storage(b), traits::leading_dimension(b),
+        detail::sysv( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(ipiv), traits::matrix_storage(b),
+                traits::leading_dimension(b),
                 traits::vector_storage(work.select(real_type())),
                 traits::vector_size(work.select(real_type())), info );
     }
@@ -121,7 +122,7 @@
             integer_t& info, optimal_workspace work ) {
         real_type opt_size_work;
         detail::sysv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
                 traits::leading_dimension(b), &opt_size_work, -1, info );
@@ -153,19 +154,20 @@
 #ifndef NDEBUG
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(b) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(b) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::vector_size(work.select(value_type()) >=
                 min_size_work(  )));
 #endif
-        detail::sysv( traits::matrix_uplo_tag(a), traits::matrix_size2(a),
-                traits::matrix_size2(b), traits::matrix_storage(a),
-                traits::leading_dimension(a), traits::vector_storage(ipiv),
-                traits::matrix_storage(b), traits::leading_dimension(b),
+        detail::sysv( traits::matrix_uplo_tag(a),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
+                traits::matrix_storage(a), traits::leading_dimension(a),
+                traits::vector_storage(ipiv), traits::matrix_storage(b),
+                traits::leading_dimension(b),
                 traits::vector_storage(work.select(value_type())),
                 traits::vector_size(work.select(value_type())), info );
     }
@@ -184,7 +186,7 @@
             integer_t& info, optimal_workspace work ) {
         value_type opt_size_work;
         detail::sysv( traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(b),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
                 traits::leading_dimension(b), &opt_size_work, -1, info );
Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -120,24 +120,24 @@
         assert( fact == 'F' || fact == 'N' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(real_type()) >= min_size_work(
-                traits::matrix_size2(a) )));
+                traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(integer_t()) >=
-                min_size_iwork( traits::matrix_size2(a) )));
+                min_size_iwork( traits::matrix_num_columns(a) )));
 #endif
         detail::sysvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
@@ -158,9 +158,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< real_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, a, af, ipiv, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_iwork ) );
     }
@@ -175,9 +175,9 @@
             optimal_workspace work ) {
         real_type opt_size_work;
         traits::detail::array< integer_t > tmp_iwork( min_size_iwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::sysvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
@@ -231,24 +231,24 @@
         assert( fact == 'F' || fact == 'N' );
         assert( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
-        assert( traits::matrix_size2(a) >= 0 );
-        assert( traits::matrix_size2(x) >= 0 );
+        assert( traits::matrix_num_columns(a) >= 0 );
+        assert( traits::matrix_num_columns(x) >= 0 );
         assert( traits::leading_dimension(a) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(af) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(b) >= std::max(1,
-                traits::matrix_size2(a)) );
+                traits::matrix_num_columns(a)) );
         assert( traits::leading_dimension(x) >= std::max(1,
-                traits::matrix_size2(a)) );
-        assert( traits::vector_size(berr) >= traits::matrix_size2(x) );
+                traits::matrix_num_columns(a)) );
+        assert( traits::vector_size(berr) >= traits::matrix_num_columns(x) );
         assert( traits::vector_size(work.select(value_type()) >=
-                min_size_work( traits::matrix_size2(a) )));
+                min_size_work( traits::matrix_num_columns(a) )));
         assert( traits::vector_size(work.select(real_type()) >=
-                min_size_rwork( traits::matrix_size2(a) )));
+                min_size_rwork( traits::matrix_num_columns(a) )));
 #endif
         detail::sysvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
@@ -269,9 +269,9 @@
             VectorFERR& ferr, VectorBERR& berr, integer_t& info,
             minimal_workspace work ) {
         traits::detail::array< value_type > tmp_work( min_size_work(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         compute( fact, a, af, ipiv, b, x, rcond, ferr, berr, info,
                 workspace( tmp_work, tmp_rwork ) );
     }
@@ -286,9 +286,9 @@
             optimal_workspace work ) {
         value_type opt_size_work;
         traits::detail::array< real_type > tmp_rwork( min_size_rwork(
-                traits::matrix_size2(a) ) );
+                traits::matrix_num_columns(a) ) );
         detail::sysvx( fact, traits::matrix_uplo_tag(a),
-                traits::matrix_size2(a), traits::matrix_size2(x),
+                traits::matrix_num_columns(a), traits::matrix_num_columns(x),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(af), traits::leading_dimension(af),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),
Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py	(original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/netlib.py	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -102,9 +102,9 @@
     if properties[ 'trait_type' ] == 'lda':
       result = "traits::leading_dimension(" + properties[ 'trait_of' ].lower() + ")"
     if properties[ 'trait_type' ] == 'num_columns':
-      result = "traits::matrix_size2(" + properties[ 'trait_of' ].lower() + ")"
+      result = "traits::matrix_num_columns(" + properties[ 'trait_of' ].lower() + ")"
     if properties[ 'trait_type' ] == 'num_rows':
-      result = "traits::matrix_size1(" + properties[ 'trait_of' ].lower() + ")"
+      result = "traits::matrix_num_rows(" + properties[ 'trait_of' ].lower() + ")"
     if properties[ 'trait_type' ] == 'size':
       my_name = properties[ 'trait_of' ].lower()
       referring_to_properties = arg_map[ properties[ 'trait_of' ] ]
Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp	(original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelsd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -5,7 +5,7 @@
 $TEMPLATE[gelsd.all.extra_variables]
 MINMN,SMLSIZ,NLVL
 $TEMPLATE[gelsd.all.MINMN.init]
-integer_t minmn = std::min( traits::matrix_size1(a), traits::matrix_size2(a) );
+integer_t minmn = std::min( traits::matrix_num_rows(a), traits::matrix_num_columns(a) );
 $TEMPLATE[gelsd.all.SMLSIZ.init]
 integer_t smlsiz = ilaenv(9, "GELSD", "");
 $TEMPLATE[gelsd.all.NLVL.init]
Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelss.hpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelss.hpp	(original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gelss.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -8,7 +8,7 @@
 $TEMPLATE[gelss.complex.extra_opt_variables]
 MINMN
 $TEMPLATE[gelss.complex.MINMN.init]
-integer_t minmn = std::min( traits::matrix_size1(a), traits::matrix_size2(a) );
+integer_t minmn = std::min( traits::matrix_num_rows(a), traits::matrix_num_columns(a) );
 $TEMPLATE[gelss.complex.min_size_work.args]
 M,N,NRHS,MINMN
 $TEMPLATE[gelss.complex.min_size_work]
Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesdd.hpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesdd.hpp	(original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesdd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -3,7 +3,7 @@
 $TEMPLATE[gesdd.all.extra_opt_variables]
 MINMN
 $TEMPLATE[gesdd.all.MINMN.init]
-integer_t minmn = std::min( traits::matrix_size1(a), traits::matrix_size2(a) );
+integer_t minmn = std::min( traits::matrix_num_rows(a), traits::matrix_num_columns(a) );
 $TEMPLATE[gesdd.all.min_size_work.args]
 M, N, JOBZ, MINMN
 $TEMPLATE[gesdd.real.min_size_work]
Modified: sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesvd.hpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesvd.hpp	(original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/tools/templates/driver/gesvd.hpp	2009-03-08 13:38:57 EDT (Sun, 08 Mar 2009)
@@ -8,7 +8,7 @@
 $TEMPLATE[gesvd.complex.extra_opt_variables]
 MINMN
 $TEMPLATE[gesvd.complex.MINMN.init]
-integer_t minmn = std::min( traits::matrix_size1(a), traits::matrix_size2(a) );
+integer_t minmn = std::min( traits::matrix_num_rows(a), traits::matrix_num_columns(a) );
 $TEMPLATE[gesvd.complex.min_size_work.args]
 M,N,MINMN
 $TEMPLATE[gesvd.complex.min_size_work]