当前位置: 首页 > news >正文

建立网站可以赚钱吗中国住房和城乡建设部招标网站

建立网站可以赚钱吗,中国住房和城乡建设部招标网站,广告宣传设计图,网站内链代码对于有数学库的时候,进行矩阵相关计算还是不复杂,但是没有数学库就很麻烦,利用算法实现了矩阵奇异值分解。 void decompose(const std::vector<std::vector<double>>& A, std::vector<std::vector<double>>& U, std::vector<dou…

对于有数学库的时候,进行矩阵相关计算还是不复杂,但是没有数学库就很麻烦,利用算法实现了矩阵奇异值分解。

void decompose(const std::vector<std::vector<double>>& A,
        std::vector<std::vector<double>>& U, std::vector<double>& S,
        std::vector<std::vector<double>>& V) 
{
        if (A.empty() || A[0].empty()) 
        {
            throw std::invalid_argument("Matrix A cannot be empty");
        }

        size_t m = A.size();
        size_t n = A[0].size();

        if (m < n) 
        {
            throw std::invalid_argument("Number of rows must be >= number of columns in SVD");
        }

        U = A;
        S.resize(n);
        V.assign(n, std::vector<double>(n, 0.0));
        
        std::vector<double> rv1(n);
        double g = 0.0, scale = 0.0, anorm = 0.0;

        for (size_t i = 0; i < n; ++i) {
            size_t l = i + 1;
            rv1[i] = scale * g;
            g = scale = 0.0;

            if (i < m) {
                for (size_t k = i; k < m; ++k) scale += std::abs(U[k][i]);
                if (scale != 0.0) {
                    for (size_t k = i; k < m; ++k) {
                        U[k][i] /= scale;
                        g += U[k][i] * U[k][i];
                    }
                    double f = U[i][i];
                    g = -sign(std::sqrt(g), f);
                    double h = f * g - g * g;
                    U[i][i] = f - g;
                    for (size_t j = l; j < n; ++j) {
                        double s = 0.0;
                        for (size_t k = i; k < m; ++k) s += U[k][i] * U[k][j];
                        f = s / h;
                        for (size_t k = i; k < m; ++k) U[k][j] += f * U[k][i];
                    }
                    for (size_t k = i; k < m; ++k) U[k][i] *= scale;
                }
            }
            S[i] = scale * g;

            g = scale = 0.0;
            if (i < m && i != n - 1) {
                for (size_t k = l; k < n; ++k) scale += std::abs(U[i][k]);
                if (scale != 0.0) {
                    for (size_t k = l; k < n; ++k) {
                        U[i][k] /= scale;
                        g += U[i][k

http://www.dtcms.com/a/531137.html

相关文章:

  • 西安企业建站机构那里有织梦怎么修改网站模板
  • 建什么网站能百度收录网站正在建设中9797
  • 江门网站建设总部电话单页面网站怎么做seo
  • 东莞 营销网站建设中冶东北建设最新网站
  • 合肥建设网网站做苗木网站哪家好
  • 东莞做网站推广公司WordPress注册添加
  • php 开发手机网站哈尔滨网站建设科技公司
  • 网站LOGO透明底色PNG格式怎么做的博物馆设计公司哪个好
  • 苏州网站建设费用怎样申请建立自助网站
  • 产品推广网站排名浙江新华建设有限公司官方网站
  • 建立网站需要服务器吗电子商务如何设计网站建设
  • 免费的软件网站建设wordpress 换 ip
  • 网站城市分站织梦系统杭州网站开发制作公司
  • 宁波网站建设培训学校wordpress 广告关闭
  • 哈尔滨网站seo公司wordpress 国外 企业主题
  • 给个网站急急急2022021免费正能量网站
  • 在俄罗斯做网站需要多少卢布品牌建设的好处
  • 怎样在百度免费做网站手机网站 input
  • 网站默认首页设置seo关键词优化的技巧
  • 如何做一家类似携程的网站全国公共资源交易中心官网
  • 邹城建网站初学网站开发需要书籍
  • 建设银行客户投诉网站淮安做网站建设的网络公司
  • 网站后台管理系统如何安装自在源码网官网
  • 导航网站模板免费ftp服务器租用
  • 医院门户网站建设方案用户体验差有哪些网站
  • 重庆品牌网站建设江门市住房和城乡建设部网站
  • 网站构建工具网站怎么做更好推广
  • 还能做网站的分类做网站 套用模板之后用什么改
  • 网站设计 psd用php做图书管理网站
  • 做网站什么是三网合一网站源码怎么写