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

线性代数的本质(九)——二次型与合同

文章目录

  • 二次型与合同
    • 二次型与标准型
    • 二次型的分类
    • 度量矩阵与合同

二次型与合同

二次型与标准型

Grant:二次型研究的是二次曲面在不同基下的坐标变换

由解析几何的知识,我们了解到二次函数的一次项和常数项只是对函数图像进行平移,并不会改变图形的形状和大小。以一元二次函数为例

在这里插入图片描述

而二次函数的二次项控制函数图像的大小和形状。以二元二次函数为例,观察 f ( x , y ) = 1 f(x,y)=1 f(x,y)=1 的截面图形

在这里插入图片描述

线性代数主要研究这些图形的二次项,通过线性变换使二次曲面变得规范简洁。

定义 n n n 元二次齐次多项式
f ( x 1 , ⋯ , x n ) = a 11 x 1 2 + 2 a 12 x 1 x 2 + ⋯ + 2 a 1 n x 1 x n + a 22 x 2 2 + 2 a 23 x 2 x 3 + ⋯ + 2 a 2 n x 2 x n + a n n x n 2 \begin{aligned} f(x_1,\cdots,x_n)=&a_{11}x_1^2+2a_{12}x_1x_2+\cdots+2a_{1n}x_1x_n \\ &+a_{22}x_2^2+2a_{23}x_2x_3+\cdots+2a_{2n}x_2x_n \\ &+a_{nn}x_n^2 \end{aligned} f(x1,,xn)=a11x12+2a12x1x2++2a1nx1xn+a22x22+2a23x2x3++2a2nx2xn+annxn2
称为二次型(quadratic form),这其实是二次曲面在一组坐标基下的解析表达式。

利用矩阵乘法,二次型可简记为
f = [ x 1 x 2 ⋯ x n ] [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] [ x 1 x 2 ⋮ x n ] = x T A x f=\begin{bmatrix}x_1&x_2&\cdots&x_n\end{bmatrix} \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n} \\ a_{21}&a_{22}&\cdots&a_{2n} \\ \vdots&\vdots&\ddots&\vdots \\ a_{m1}&a_{m2}&\cdots&a_{mn} \\ \end{bmatrix} \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix} =\mathbf x^TA\mathbf x f=[x1x2xn] a11a21am1a12a22am2a1na2namn x1x2xn =xTAx
其中 A A A 是对称阵,其主对角线元素是平方项的系数,其余元素 a i j = a j i a_{ij}=a_{ji} aij=aji 是二次项 x i x j x_ix_j xixj 系数 2 a i j 2a_{ij} 2aij 的一半。显然,对称矩阵 A A A 与二次型 f f f 是相互唯一确定的。矩阵 A A A 及其秩分别称为二次型的矩阵和秩。

在某些情况下,没有交叉乘积项的二次型会更容易使用,即通过线性变换 x = C y \mathbf x=C\mathbf y x=Cy 来消除交叉乘积项
f = x T A x = x = C y y T ( C T A C ) y = y T Λ y f=\mathbf x^TA\mathbf x\xlongequal{\mathbf x=C\mathbf y}\mathbf y^T(C^TAC)\mathbf y=\mathbf y^T\Lambda\mathbf y f=xTAxx=Cy yT(CTAC)y=yTΛy
由于矩阵 A A A 是对称阵,由上节对称矩阵的对角化知道,总有正交矩阵 C C C,使
C − 1 A C = C T A C = Λ C^{-1}AC=C^TAC=\Lambda C1AC=CTAC=Λ
Λ \Lambda Λ 的对角线元素是 A A A 的特征值,于是二次型可简化为
f = λ 1 y 1 2 + λ 2 y 2 2 + ⋯ + λ n y n 2 f=\lambda_1y_1^2+\lambda_2y_2^2+\cdots+\lambda_ny_n^2 f=λ1y12+λ2y22++λnyn2
这种只含平方项的二次型称为标准型(standard form)。显然,标准形的矩阵是对角阵。任何二次型都可通过正交变换化为标准型。系数全为 +1,-1或 0 的标准型叫做规范型(gauge form)。

定义:设 A A A B B B n n n阶矩阵,若有 n n n阶可逆矩阵 C C C,使
B = C T A C B=C^TAC B=CTAC
则称矩阵 A A A B B B合同,记为 A ≃ B A\simeq B AB 。显然,合同矩阵即为二次型在不同基下的矩阵。

性质:设矩阵 A ≃ B A\simeq B AB

  1. A A A 为对称阵,则 B B B 也为对称阵;
  2. 合同矩阵的秩相等 rank ( A ) = rank ( B ) \text{rank}(A)=\text{rank}(B) rank(A)=rank(B)

化二次型为标准型的三种方法:

  1. 求矩阵 A A A 的特征值和特征向量化为标准型;
  2. 使用多项式配方法化为标准型;
  3. 使用初等变换法将上方的矩阵 A A A 的位置变为对角阵(左乘为行变换,不影响下方单位阵变换)
    [ A I ] → [ C T A C C ] \begin{bmatrix}A\\I\end{bmatrix}\xrightarrow{}\begin{bmatrix}C^TAC\\C\end{bmatrix} [AI] [CTACC]

例:将椭圆方程 5 x 1 2 − 4 x 1 x 2 + 5 x 2 2 = 48 5x_1^2-4x_1x_2+5x_2^2=48 5x124x1x2+5x22=48 标准化

解:二次型的矩阵 A = [ 5 − 2 − 2 5 ] A=\begin{bmatrix}5&-2\\-2&5\end{bmatrix} A=[5225] ,特征值分别为 3和 7,对应的单位特征向量为
u 1 = [ 1 / 2 1 / 2 ] , u 2 = [ − 1 / 2 1 / 2 ] \mathbf u_1=\begin{bmatrix}1/\sqrt{2}\\1/\sqrt{2}\end{bmatrix}, \mathbf u_2=\begin{bmatrix}-1/\sqrt{2}\\1/\sqrt{2}\end{bmatrix} u1=[1/2 1/2 ],u2=[1/2 1/2 ]
可使用特征向量 u 1 , u 2 \mathbf u_1,\mathbf u_2 u1,u2 作为二次型的标准正交基。正交变换矩阵和标准型矩阵分别为
C = ( u 1 , u 2 ) = [ 1 / 2 − 1 / 2 1 / 2 1 / 2 ] , Λ = [ 3 0 0 7 ] C=(\mathbf u_1,\mathbf u_2)=\begin{bmatrix}1/\sqrt{2}&-1/\sqrt{2}\\1/\sqrt{2}&1/\sqrt{2}\end{bmatrix},\quad \Lambda=\begin{bmatrix}3&0\\0&7\end{bmatrix} C=(u1,u2)=[1/2 1/2 1/2 1/2 ],Λ=[3007]
C C C 可将 A A A 正交对角化, Λ = C T A C \Lambda=C^TAC Λ=CTAC 。所以正交变换 x = P y \mathbf x=P\mathbf y x=Py 得到的标准型为
y T C y = 3 y 1 2 + 7 y 2 2 \mathbf y^TC\mathbf y=3y_1^2+7y_2^2 yTCy=3y12+7y22
新的坐标轴如图

在这里插入图片描述

二次型的分类

定义:设二次型 f = x T A x f=\mathbf x^TA\mathbf x f=xTAx ,如果对于任何 x ≠ 0 \mathbf x\neq 0 x=0

  1. 都有 f ( x ) > 0 f(\mathbf x)>0 f(x)>0,则称 f f f正定二次型,称 A A A正定矩阵
  2. 都有 f ( x ) < 0 f(\mathbf x)<0 f(x)<0,则称 f f f负定二次型,称 A A A负定矩阵
  3. 如果 f ( x ) f(\mathbf x) f(x) 既有正值又有负值,则称为不定二次型

从上节可以看出二次型的标准型是不唯一的,但二次型的秩是唯一的,在化成标准型的过程中是不变的,即标准型中含有的非零平方项的个数是不变的。

惯性定理:二次型和标准型中系数为正的平方项的个数相同,称为正惯性指数;系数为负的平方项的个数也相同,称为负惯性指数;正负惯性指数之差称为符号差

定理

  1. n n n元二次型为正定的充要条件是它的正惯性指数为 n n n
  2. 对称阵 A A A正定 ⟺ \iff 特征值全为正 ⟺ \iff 与单位阵合同 A ≃ I A\simeq I AI
  3. 对称阵 A A A 正定 ⟹ \implies A − 1 A^{-1} A1 正定;

度量矩阵与合同

Grant:合同矩阵为不同坐标系下的度量矩阵。

以二维空间为例,Grant 选用标准坐标系下的基向量 i , j \mathbf i,\mathbf j i,j,度量矩阵
A = [ ⟨ i , i ⟩ ⟨ i , j ⟩ ⟨ j , i ⟩ ⟨ j , j ⟩ ] A=\begin{bmatrix} \lang\mathbf i,\mathbf i\rang&\lang\mathbf i,\mathbf j\rang \\ \lang\mathbf j,\mathbf i\rang&\lang\mathbf j,\mathbf j\rang \end{bmatrix} A=[i,ij,ii,jj,j]

而 Jennifer 使用另外一组基向量 i ′ , j ′ \mathbf i',\mathbf j' i,j,过渡矩阵 P = [ a b c d ] P=\begin{bmatrix} a&b \\ c&d \end{bmatrix} P=[acbd]。即基向量 i ′ , j ′ \mathbf i',\mathbf j' i,j 在 Grant 的坐标系下的坐标表示为
p 1 = [ a c ] , p 2 = [ b d ] \mathbf p_1=\begin{bmatrix} a \\ c \end{bmatrix},\quad \mathbf p_2=\begin{bmatrix} b \\ d \end{bmatrix} p1=[ac],p2=[bd]
因此, Jennifer 的基向量间的内积
⟨ i ′ , i ′ ⟩ = p 1 T A p 1 ⟨ i ′ , j ′ ⟩ = p 1 T A p 2 ⟨ j ′ , i ′ ⟩ = p 2 T A p 1 ⟨ j ′ , j ′ ⟩ = p 2 T A p 2 \lang\mathbf i',\mathbf i'\rang=\mathbf p_1^TA\mathbf p_1\\ \lang\mathbf i',\mathbf j'\rang=\mathbf p_1^TA\mathbf p_2 \\ \lang\mathbf j',\mathbf i'\rang=\mathbf p_2^TA\mathbf p_1 \\ \lang\mathbf j',\mathbf j'\rang=\mathbf p_2^TA\mathbf p_2 i,i=p1TAp1i,j=p1TAp2j,i=p2TAp1j,j=p2TAp2
于是,Jennifer坐标系的度量矩阵
B = [ p 1 T A p 1 p 1 T A p 2 p 2 T A p 1 p 2 T A p 2 ] = [ p 1 T p 2 T ] A [ p 1 p 2 ] = P T A P B=\begin{bmatrix} \mathbf p_1^TA\mathbf p_1&\mathbf p_1^TA\mathbf p_2 \\ \mathbf p_2^TA\mathbf p_1&\mathbf p_2^TA\mathbf p_2 \end{bmatrix}= \begin{bmatrix} \mathbf p_1^T \\ \mathbf p_2^T \end{bmatrix}A\begin{bmatrix} \mathbf p_1 & \mathbf p_2 \end{bmatrix} =P^TAP B=[p1TAp1p2TAp1p1TAp2p2TAp2]=[p1Tp2T]A[p1p2]=PTAP
由此可知,合同矩阵刻画了两度量矩阵间的关系

当然,也可通过两个向量的内积在不同的坐标系中的计算公式获得两个度量矩阵间的关系。由过渡矩阵知道,同一个向量从 Jennifer 的坐标到 Grant 的坐标变换公式为
y = P x \mathbf y=P\mathbf x y=Px
在 Jennifer 的坐标系中,两向量 u , v \mathbf u,\mathbf v u,v 的坐标为 x 1 , x 2 \mathbf x_1,\mathbf x_2 x1,x2 ,度量矩阵为 B B B 。内积计算公式
⟨ u , v ⟩ = x 1 T B x 2 \lang\mathbf u,\mathbf v\rang=\mathbf x_1^TB\mathbf x_2 u,v=x1TBx2
在 Grant 的坐标系中,两向量 u , v \mathbf u,\mathbf v u,v 的的坐标为 y 1 , y 2 \mathbf y_1,\mathbf y_2 y1,y2,度量矩阵为 A A A 。内积计算公式
⟨ u , v ⟩ = y 1 T A y 2 = ( P x 1 ) T A ( P x 2 ) = x 1 T ( P T A P ) x 2 \lang\mathbf u,\mathbf v\rang=\mathbf y_1^TA\mathbf y_2 =(P\mathbf x_1)^TA(P\mathbf x_2)=\mathbf x_1^T(P^TAP)\mathbf x_2 u,v=y1TAy2=(Px1)TA(Px2)=x1T(PTAP)x2
于是,我们得到了两坐标系中度量矩阵的关系
B = P T A P B=P^TAP B=PTAP

相关文章:

线性代数的本质(九)——二次型与合同

文章目录 二次型与合同二次型与标准型二次型的分类度量矩阵与合同 二次型与合同 二次型与标准型 Grant&#xff1a;二次型研究的是二次曲面在不同基下的坐标变换 由解析几何的知识&#xff0c;我们了解到二次函数的一次项和常数项只是对函数图像进行平移&#xff0c;并不会改变…...

STM32WB55开发(4)----配置串口打印Debug调试信息

STM32WB55开发----4.配置串口打印Debug调试信息 概述硬件准备视频教学样品申请选择芯片型号配置时钟源配置时钟树RTC时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙开启串口调试配置蓝牙参数设置工程信息工程文件设置Keil工程配置代码配置结果演示 概述…...

云原生服务无状态(Stateless)特性的实现

文章目录 为何要使用无状态服务&#xff1f;无状态服务的实现方法1. 会话状态外部化2. 负载均衡3. 自动伸缩4. 容器编排5. 数据存储6. 安全性 示例&#xff1a;使用Spring Boot实现无状态服务结论 &#x1f389;欢迎来到云计算技术应用专栏~云原生服务无状态&#xff08;Statel…...

zookeeper最基础教程

文章目录 一、简介1、工作机制2、特点3、数据结构4、应用场景5、选举机制 二、软件安装1、单机版安装2、集群安装3、配置参数解读(zoo.cfg)4、ZK集群启动脚本 三、命令行操作1、语法2、使用3、节点相关4、监听器原理5、节点删除与查看 三、写数据流程 一、简介 1、工作机制 官…...

又一重磅利好来袭!Zebec Payroll 集成至 Nautilus Chain 主网

流支付协议 Zebec Protocol 正在积极的拓展自身生态&#xff0c;随着此前其全新路线图的发布&#xff0c;揭示了该生态从 Web3 世界向 Web2 世界跨越的决心。根据其最新路线图&#xff0c;Zebec Protocol 正在从最初构建在 Solana 上的流支付协议&#xff0c;拓展为囊括模块化公…...

NLP模型的tokenize方法中return_tensors参数

NLP模型的tokenize方法中return_tensors参数 在许多NLP模型的tokenize方法中,return_tensors参数可以指定tokenize之后返回的张量类型,常见的可选值包括: ‘tf’: 返回TensorFlow的张量对象Tensor。 ‘pt’: 返回PyTorch的张量对象torch.Tensor。 ‘np’: 返回NumPy的ndarray对…...

模方新建工程时,显示空三与模型坐标系不一致怎么解决

答:检查空三xml与模型的metadata.xml的坐标系是否一致&#xff0c;metadata文件是否有在data目录外面。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.0新增单体化建模模块&#xff0c;…...

氧化锌避雷器绝缘电阻测试

氧化锌避雷器 绝缘电阻测试 试验目的 避雷器绝缘电阻包括本体绝缘电阻和底座绝缘电阻, 主要目的在于初步检查避雷 器内部是否受潮; 有并联电阻者可检查其通、 断、 接触和老化等情况。 试验设备 高压绝缘电阻测试仪 厂家&#xff1a; 湖北众拓高试 试验方法 本体绝缘电阻试验…...

链动2+1系统开发

什么是链动21模式&#xff1f; 链动21主要是一个集团队搭设、快速提升产品销量&#xff0c;与消费者做到合作共赢的一个商业模式&#xff0c;让用户在享受购物折扣的同时&#xff0c;也能获得相对收益&#xff0c;同时公司也能达到产品快速销售这样的一个目的&#xff0c;而链…...

AIGC(生成式AI)试用 4 -- 从模糊到精确

从模糊到精确&#xff0c;也许差异在于 更多的描述&#xff0c;更多的信息更具像的描述&#xff0c;更多的数据&#xff0c;更有效的信息主题明确和目标清晰层次感与条理性更简洁清晰的逻辑 “说清楚点&#xff0c;不太明白&#xff0c;提供更多的信息也许能知道要做什么。” …...

Linux中使用Docker安装ElasticSearch7.10.x集群

使用Docker安装ElasticSearch7.10.x单节点请访问这里 一、集群环境说明 服务器IP地址192.168.137.1&#xff0c;192.168.137.2&#xff0c;192.168.137.3 二、前期准备 1. 拉取镜像 docker pull elasticsearch:7.10.12. 首先需要创建一个用于生成秘钥的初始容器&#xff0…...

electron 左上角图标 dev(开发环境)可显示 build(打包)后无法显示

先说解决方法&#xff0c;用于作为图标的ico文件需要富集多种尺寸&#xff0c;必须包含256*256&#xff0c;且同时应当包含其他更小的尺寸。 例如&#xff1a; 接下来解释一下这么做的原因 ico是Iconfile的缩写&#xff0c;是Windows计算机中的一种图标文件格式&#xff0c;…...

全球与中国BGO晶体市场:增长趋势、竞争格局与前景展望

BGO晶体&#xff0c;全名为Bismuth Germanate Scintillation Crystal&#xff08;铋锗酸盐闪烁晶体&#xff09;&#xff0c;是一种用于探测放射性粒子和射线的闪烁晶体材料。它的主要成分是铋氧化物&#xff08;Bi4Ge3O12&#xff09;&#xff0c;其中铋和锗的特性使得这种晶体…...

华三路由交换技术基础——计算机网络基础

计算机网络&#xff1a; 定义&#xff1a;一组具有自治权的计算机互联的集合 作用&#xff1a; 1.共享信息资源 2.分解式处理信息 4.负载均衡 5.综合信息服务 它是计算机技术与通信技术的两个领域的结合 一&#xff0c;计算机网络中的基本概念&#xff1a; 局域网&#xff…...

Docker搭建RK3568开发环境

推荐&#xff1a;Ubuntu 20.04 版本 Docker加速 # 编辑 Docker 配置文件 $ sudo vim /etc/docker/daemon.json# 加入以下配置项 {"registry-mirrors": ["https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirror.baidu…...

【GAMES202】Real-Time Ray Tracing 1—实时光线追踪1

一、前言 这篇我们开始新的话题—Real-Time Ray Tracing简称RTRT&#xff0c;也就是实时光线追踪&#xff0c;关于光线追踪&#xff0c;我们已经不止一次提到过它的优点&#xff0c;无论是软阴影还是全局光照&#xff0c;光线追踪都很容易做&#xff0c;唯一的缺点就是速度太慢…...

Linux修复损坏的文件系统

如何判断文件系统是否损坏 当文件系统受损时&#xff0c;将会出现一些明显的迹象。例如&#xff0c;文件或文件夹无法访问、文件大小异常、系统启动慢或无法启动等。此外&#xff0c;系统也可能发出一些错误信息&#xff0c;如"Input/output error"、"Filesyst…...

三分钟学会一个新技能——使用Java操作Redis

目录 1、前置准备操作 1.1、为什么要进行前置准备操作 1.2、本地如何访问到云服务上Redis的6379端口号 1.3、配置步骤&#xff1a; 2、配置后本地主机如何操作 3、常用命令举例 3.1、通用命令举例 3.2、string相关命令举例 3.3、hash相关命令举例 3.4、list相关命令…...

Java学习笔记------内部类

内部类的定义&#xff1a; 在一个类的里面再定义一个类 内部类的使用场景&#xff1a; 内部类表示的事物是外部类的一部分&#xff08;B类表示的事物是A类的一部分&#xff0c;且B单独存在没有意义&#xff09;内部类单独出现没有任何意义 内部类的访问特点 内部类可以直接…...

面试题:问js的forEach和map的区别

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 【国庆头像】- 国庆爱国 程序员头像&#xff01;总有一款适合你&#xff01; 前言 为什么要写这么一篇文章&#xff0c;原因是今天下午水群的时候&…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...