C#,码海拾贝(33)——约化“一般实矩阵”为“赫申伯格矩阵”的“初等相似变换法”之C#源代码

news2024/11/22 11:57:01

using System;

namespace Zhou.CSharp.Algorithm
{
    /// <summary>
    /// 矩阵类
    /// 作者:周长发
    /// 改进:深度混淆
    /// https://blog.csdn.net/beijinghorn
    /// </summary>
    public partial class Matrix
    {

        /// <summary>
        /// 约化一般实矩阵为赫申伯格矩阵的初等相似变换法
        /// </summary>
        /// <param name="src">源矩阵</param>
        public static void MakeHberg(Matrix src)
        {
            int i = 0, j, k, u, v;
            double d, t;

            for (k = 1; k <= src.Columns - 2; k++)
            {
                d = 0.0;
                for (j = k; j <= src.Columns - 1; j++)
                {
                    u = j * src.Columns + k - 1;
                    t = src[u];
                    if (Math.Abs(t) > Math.Abs(d))
                    {
                        d = t;
                        i = j;
                    }
                }

                if (Math.Abs(d) > float.Epsilon) //d != 0.0)
                {
                    if (i != k)
                    {
                        for (j = k - 1; j <= src.Columns - 1; j++)
                        {
                            u = i * src.Columns + j;
                            v = k * src.Columns + j;
                            t = src[u];
                            src[u] = src[v];
                            src[v] = t;
                        }

                        for (j = 0; j <= src.Columns - 1; j++)
                        {
                            u = j * src.Columns + i;
                            v = j * src.Columns + k;
                            t = src[u];
                            src[u] = src[v];
                            src[v] = t;
                        }
                    }

                    for (i = k + 1; i <= src.Columns - 1; i++)
                    {
                        u = i * src.Columns + k - 1;
                        t = src[u] / d;
                        src[u] = 0.0;
                        for (j = k; j <= src.Columns - 1; j++)
                        {
                            v = i * src.Columns + j;
                            src[v] = src[v] - t * src[k * src.Columns + j];
                        }

                        for (j = 0; j <= src.Columns - 1; j++)
                        {
                            v = j * src.Columns + k;
                            src[v] = src[v] + t * src[j * src.Columns + i];
                        }
                    }
                }
            }
        }
     }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/618668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【React】脚手架,组件化开发,类组件/函数式组件,声明周期,组件的嵌套,子父传递,插槽,Context,事件总线,setState原理

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 脚手架目录结构组件化开发类组件函数式组件 声明周期组件的嵌套组件之间的通信插槽 Context事件…

vscode实现代码片段快捷输入设置

1.编写想要的代码片段 <template> <div>AppContent</div> </template> <script> export default { } </script> <style scoped> </style> 2.打开网站:snippet generator 如下图添加描述,快捷键和代码片段.右边会有生成内容 …

93.构建样品餐部分第一节

之前我们实现得页面是这个样子的 现在让我们来完成剩下的样品餐部分吧&#xff01; ● 大致实现的页面是这样的 ● 让我们先简单的生成这些框架 <section class"section-meals"><div class"container"><span class"subheading&qu…

SpringCloud Alibaba Seata配置到Nacos

SpringCloud Alibaba Seata 1 Seata 简介 单体应用被拆分成微服务应用&#xff0c;原来的三个模块被拆分成三个独立的应用&#xff0c;分别使用 三个独立的数据源业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保 证但是全局的数据—致性问题没法…

H5嵌入原生开发小结----兼容安卓与ios的填坑之路

一开始听说开发H5&#xff0c;以为就是做适配现代浏览器的移动网页&#xff0c;心想不用管IE了&#xff0c;欧也。到今天&#xff0c;发现当初too young too simple&#xff0c;兼容IE和兼容安卓与IOS&#xff0c;后者让你更抓狂。接下来数一下踩过的坑。主要分UI展示&#xff…

如何借助AI,产品文案语音配图片一键生成视频

const name "AI生成视频";console.log(name); 以前我们做视频都是要找素材、剪辑、配音&#xff0c;太费时间了&#x1f629;&#xff0c;现在只需要通过AI&#xff0c;输入文字&#xff0c;它就能自动帮我们生成一段有声有色的视频。 我们来看看文本生成的视频效…

案例35:基于Springboot图书商城管理系统开题报告设计

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

面向流媒体的确定时延传输:从QUIC出发,走向未来

QUIC&#xff08;Quick UDP Internet Connections&#xff09;是Google设计的一套可靠UDP传输协议&#xff0c;旨在为HTTP提供一个安全、可靠、高效和低延时的通信基础。QUIC协议已被IETF采纳为标准&#xff0c;并且HTTP/3已选择使用QUIC来代替TCP作为其传输层协议。LiveVideoS…

python怎么退出执行/退出程序语句

python怎么退出执行/退出程序语句 文章目录 python怎么退出执行/退出程序语句sys.exit()函数 raise SystemExit()异常os._exit()函数CtrlC中断程序执行具体情况具体处理参考资料 在Python中&#xff0c;退出执行是一个常见的操作。退出方法介绍&#xff1a; sys.exit()函数 sy…

最近几年,国内好多家实体企业都开始用上低代码了,它有什么好?

前言&#xff1a; 裹挟大数据、云计算、人工智能等数字技术的第四次工业革命浪潮正加速来袭&#xff0c;全球经济已行至历史的十字路口。 站上技术浪潮潮头者澎湃生长&#xff0c;错过技术浪潮者黯然败退。那么&#xff0c;对于中国的普通制造企业来说&#xff0c;如何抓住向…

【媒体广告】的现状与未来发展趋势!

媒体广告是一种重要的市场推广手段&#xff0c;随着技术的不断发展和市场环境的变化&#xff0c;媒体广告也在不断地演变和发展。本文将从以下几个方面探讨媒体广告的发展趋势。 一、数字化、数据化和智能化趋势 随着互联网和移动互联网技术的发展&#xff0c;数字化、数据化…

2.1 初探MyBatis实现简单查询

一、创建数据库与表 1、创建数据库 在Navicat里创建MySQL数据库 - testdb&#xff0c;采用utf8mb4字符集 2、创建用户表 用户表 - t_user CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(50) DEFAULT NULL,age int(11) DEFAULT NULL,address var…

LLM-Pruner: 剪枝+少量数据+少量训练 = 高效的LLM压缩

概要 大语言模型&#xff08;LLMs, Large Language Models&#xff09;在各种任务上展现出了惊人的能力&#xff0c;这些能力很大程度上来自于模型庞大的模型规模以及海量的训练语料。为了应对这些模型部署上存在的挑战&#xff0c;许多研究者开始关注大语言模型的轻量化问题。…

华为认证 | HCIE-存储 V3.0 即将发布!

华为认证HCIE-Storage V3.0&#xff08;中文版&#xff09;预计将于2023年6月30日正式对外发布。为了帮助您做好学习、培训和考试计划&#xff0c;现进行预发布通知&#xff0c;请您关注。 01 发布概述 基于“平台生态”战略&#xff0c;围绕“云-管-端”协同的新ICT技术架构&…

5周年更新 | OpenVINO™  2023.0,让AI部署和加速更容易

时光匆匆&#xff0c;岁月荏苒&#xff0c;OpenVINO™迎来了5岁生日。5岁&#xff0c;对于OpenVINO™来说还是个很年轻的年纪&#xff0c;一如正在茁壮成长的少年&#xff0c;每天都迸发着无穷的生命力。 在这5年里&#xff0c;OpenVINO™密切关注市场需求&#xff0c;着眼未来…

JavaScript拖动元素在一个范围内移动

基于 jQuery移动范围由 div 搭建(div 模仿表格)&#xff0c;卡片的移动不允许超出该范围移动卡片会有一个淡蓝色卡片的标记出将要放置的位置有禁止放置标记的位置&#xff0c;不允许卡片放置&#xff08;会放到前一个可放置的位置&#xff09;卡片放置会覆盖单元格中的文字卡片…

TSS半导体放电管八大属性总结

​之前在写关于GDT放电管与TSS放电管之间的差异时&#xff0c;其实有谈到TSS&#xff08;固体放电管&#xff09;它拥有的一些特性&#xff0c;今天优恩小编还是想重复一下&#xff0c;希望更多小伙伴能够记住。 TSS&#xff0c;有人叫它固体放电管、也有人叫它半导体放电管&am…

智能交通车路协同系统的应用场景和发展趋势

随着城市化进程的加速和汽车保有量的增加&#xff0c;城市交通拥堵、交通事故等问题日益突出。为了解决这些问题&#xff0c;智能交通车路协同系统应运而生。智能交通车路协同系统是一种基于车载终端、路侧设备和交通管理中心等多个组成部分构成的智能交通系统&#xff0c;可以…

io之netty

写在前面 netty当前是网络io框架的事实标准&#xff0c;基于nio实现&#xff0c;框架的作者是韩国一位姓李的朋友&#xff0c;开始我们这位行李的韩国朋友开发一个io框架mina&#xff0c;但后来其离职&#xff0c;mina也就和其没有关系了&#xff0c;所以后来其改进了mina的不…

Maxcompute数据上云一致性比对

我写过很多如何去对数、如何批量对数的技术文档&#xff0c;最近项目遇到这个问题&#xff0c;我才发现在官方博客上还没有发布过这个课题的文章。这就像灯下黑&#xff0c;太长用到的知识点&#xff0c;反而没有意识到其重要性。 注&#xff1a;这里对数的场景就是指在阿里云…