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

jnp.diag

jnp.diag 是 JAX 库中用于创建对角矩阵或提取对角线元素的函数。具体功能取决于输入的形状:

  • 当输入是一维数组时,jnp.diag 创建一个以该数组为对角线元素的对角矩阵。
  • 当输入是二维数组时,jnp.diag 提取并返回对角线元素。

函数签名

jnp.diag(v, k=0)

参数说明

  • v (array_like): 输入数组。一维数组时,jnp.diag 创建一个对角矩阵;二维数组时,jnp.diag 提取并返回对角线元素。
  • k (int, optional): 对角线的索引。k=0 表示主对角线,k>0 表示上方的偏移对角线,k<0 表示下方的偏移对角线。默认值为 0。

返回值

  • 如果 v 是一维数组,返回一个二维对角矩阵。
  • 如果 v 是二维数组,返回包含对角线元素的一维数组。

示例

  1. 创建对角矩阵
import jax.numpy as jnp# 一维数组
v = jnp.array([1, 2, 3])# 创建对角矩阵
diag_matrix = jnp.diag(v)print("对角矩阵:\n", diag_matrix)

输出:

对角矩阵:[[1 0 0][0 2 0][0 0 3]]
  1. 提取对角线元素
import jax.numpy as jnp# 二维数组
A = jnp.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])# 提取主对角线元素
diag_elements = jnp.diag(A)print("主对角线元素:", diag_elements)

输出:

主对角线元素: [1 5 9]
  1. 提取偏移对角线元素
import jax.numpy as jnp# 二维数组
A = jnp.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])# 提取上方偏移对角线元素 (k=1)
diag_elements_upper = jnp.diag(A, k=1)print("上方偏移对角线元素:", diag_elements_upper)# 提取下方偏移对角线元素 (k=-1)
diag_elements_lower = jnp.diag(A, k=-1)print("下方偏移对角线元素:", diag_elements_lower)

输出:

上方偏移对角线元素: [2 6]
下方偏移对角线元素: [4 8]

总结

jnp.diag 是一个非常有用的函数,可以根据需要创建对角矩阵或提取矩阵的对角线元素。在线性代数和矩阵计算中,这个功能常用于各种数值计算和矩阵操作中。

相关文章:

  • 09-axios在Vue中的导入与配置
  • SGPT论文阅读笔记
  • 周末总结(2024/06/22)
  • 14K屏FPGA通过MIPI接口点亮
  • 编程书籍的枯燥真相:你也有同样的感受吗?
  • 什么是距离选通型水下三维激光扫描仪?(下)
  • AU音频重新混合音频,在 Adobe Audition 中无缝延长背景音乐,无缝缩短BGM
  • Markdown基础教程
  • 用AI绘画-Stable Diffusion稳定生成指定人物的2-3人场景图,制作小说配图从未如此轻松!
  • 【经验分享】RT600 serial boot mode测试
  • textarea标签改写为富文本框编辑器KindEditor
  • 基于java+springboot+vue实现的智慧生活商城系统(文末源码+Lw)244
  • JVM 性能分析案列——使用 JProfiler 工具分析 dump.hprof 堆内存快照文件排查内存溢出问题
  • Android网络收集和ping封装库
  • AI大眼萌探索 AI 新世界:Ollama 使用指南【1】
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【391天】每日项目总结系列128(2018.03.03)
  • 30天自制操作系统-2
  • CentOS7简单部署NFS
  • CSS盒模型深入
  • JavaScript设计模式之工厂模式
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Nodejs和JavaWeb协助开发
  • storm drpc实例
  • vagrant 添加本地 box 安装 laravel homestead
  • Webpack 4 学习01(基础配置)
  • 对象引论
  • 一份游戏开发学习路线
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​iOS安全加固方法及实现
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • # 数据结构
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (过滤器)Filter和(监听器)listener
  • (黑马点评)二、短信登录功能实现
  • (七)Java对象在Hibernate持久化层的状态
  • (三)docker:Dockerfile构建容器运行jar包
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • **python多态
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET delegate 委托 、 Event 事件
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET/C# 使用反射注册事件
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET面试题(二)
  • .NET中分布式服务
  • .NET中统一的存储过程调用方法(收藏)
  • /etc/fstab和/etc/mtab的区别
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @RequestParam详解