When using simple lu_factorize and lu_substitute, I get lots of compiler warnings. I do get the right results, but I'm bugged about the warnings.
Is ublas not part of the boost code base ? is there something wrong with my usage? how do i stop the warnings without suppressing individual warnings in my Visual Studio project?

Warnings are as below:

TYPE 1

C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/traits.hpp(54) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/matrix_expression.hpp(288) : see reference to class template instantiation 'boost::numeric::ublas::promote_traits<X,Y>' being compiled
1>        with
1>        [
1>            X=__w64 unsigned int,
1>            Y=__w64 unsigned int
1>        ]
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/lu.hpp(157) : see reference to class template instantiation 'boost::numeric::ublas::vector_matrix_binary<E1,E2,F>' being compiled
1>        with
1>        [
1>            E1=boost::numeric::ublas::vector_range<boost::numeric::ublas::matrix_column<boost::numeric::ublas::matrix<double>>>,
1>            E2=boost::numeric::ublas::vector_range<boost::numeric::ublas::matrix_row<boost::numeric::ublas::matrix<double>>>,
1>            F=boost::numeric::ublas::scalar_multiplies<double,double>
1>        ]
1>        ..\..\src\CoxIngersollRossCalibration.cpp(78) : see reference to function template instantiation '__w64 unsigned int boost::numeric::ublas::lu_factorize<boost::numeric::ublas::matrix<T>,boost::numeric::ublas::permutation_matrix<T>>(M &,PM &)' being compiled
1>        with
1>        [
1>            T=double,
1>            M=boost::numeric::ublas::matrix<double>,
1>            PM=boost::numeric::ublas::permutation_matrix<double>
1>        ]

TYPE 2
C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/storage.hpp(204) : warning C4996: 'std::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
1>        C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(2370) : see declaration of 'std::copy'
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/storage.hpp(201) : while compiling class template member function 'boost::numeric::ublas::unbounded_array<T> &boost::numeric::ublas::unbounded_array<T>::operator =(const boost::numeric::ublas::unbounded_array<T> &)'
1>        with
1>        [
1>            T=double
1>        ]
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/vector.hpp(36) : see reference to class template instantiation 'boost::numeric::ublas::unbounded_array<T>' being compiled
1>        with
1>        [
1>            T=double
1>        ]
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/lu.hpp(28) : see reference to class template instantiation 'boost::numeric::ublas::vector<T,A>' being compiled
1>        with
1>        [
1>            T=double,
1>            A=boost::numeric::ublas::unbounded_array<double>
1>        ]
1>        ..\..\src\CoxIngersollRossCalibration.cpp(64) : see reference to class template instantiation 'boost::numeric::ublas::permutation_matrix<T>' being compiled
1>        with
1>        [
1>            T=double
1>        ]

TYPE 3
C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/traits.hpp(54) : warning C4244: 'argument' : conversion from '__w64 int' to 'const int', possible loss of data
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/matrix_expression.hpp(289) : see reference to class template instantiation 'boost::numeric::ublas::promote_traits<X,Y>' being compiled
1>        with
1>        [
1>            X=__w64 int,
1>            Y=__w64 int
1>        ]
1>        C:\Program Files\boost\boost_1_42_0\boost/numeric/ublas/lu.hpp(157) : see reference to class template instantiation 'boost::numeric::ublas::vector_matrix_binary<E1,E2,F>' being compiled
1>        with
1>        [
1>            E1=boost::numeric::ublas::vector_range<boost::numeric::ublas::matrix_column<boost::numeric::ublas::matrix<double>>>,
1>            E2=boost::numeric::ublas::vector_range<boost::numeric::ublas::matrix_row<boost::numeric::ublas::matrix<double>>>,
1>            F=boost::numeric::ublas::scalar_multiplies<double,double>
1>        ]
1>        ..\..\src\CoxIngersollRossCalibration.cpp(78) : see reference to function template instantiation '__w64 unsigned int boost::numeric::ublas::lu_factorize<boost::numeric::ublas::matrix<T>,boost::numeric::ublas::permutation_matrix<T>>(M &,PM &)' being compiled
1>        with
1>        [
1>            T=double,
1>            M=boost::numeric::ublas::matrix<double>,
1>            PM=boost::numeric::ublas::permutation_matrix<double>
1>        ]

This e-mail is confidential and, if you are not the intended recipient, please return it to us and do not retain or disclose it. We filter and monitor e-mails in order to protect our system and the integrity, confidentiality and availability of e-mails. We cannot guarantee that e-mails are risk free and are not responsible for any related damage or unauthorised alteration of e-mails by third parties after sending.

For more information on Standard Life group, visit our website http://www.standardlife.com/

Standard Life plc (SC286832), Standard Life Assurance Limited* (SC286833) and Standard Life Employee Services Limited (SC271355) are all registered in Scotland at Standard Life House, 30 Lothian Road, Edinburgh EH1 2DH. *Authorised and regulated by the Financial Services Authority. 0131 225 2552. Calls may be recorded/monitored. Standard Life group includes Standard Life plc and its subsidiaries.

Please consider the environment. Think - before you print.