如何用 NumPy 求解齐次线性方程?

2024-05-04

如果我有这样的齐次线性方程

array([[-0.75,  0.25,  0.25,  0.25],
       [ 1.  , -1.  ,  0.  ,  0.  ],
       [ 1.  ,  0.  , -1.  ,  0.  ],
       [ 1.  ,  0.  ,  0.  , -1.  ]])

我想得到它的非零解。怎样才能做到NumPy http://en.wikipedia.org/wiki/NumPy?

EDIT

linalg.solve 仅适用于 A * x = b,其中 b 不只包含 0。


您可以使用 SVD 或 QR 分解来计算线性系统的零空间,例如:

import numpy

def null(A, eps=1e-15):
    u, s, vh = numpy.linalg.svd(A)
    null_space = numpy.compress(s <= eps, vh, axis=0)
    return null_space.T

对于您的示例,这会产生:

>>> A
matrix([[-0.75,  0.25,  0.25,  0.25],
        [ 1.  , -1.  ,  0.  ,  0.  ],
        [ 1.  ,  0.  , -1.  ,  0.  ],
        [ 1.  ,  0.  ,  0.  , -1.  ]])

>>> null(A).T
array([[-0.5, -0.5, -0.5, -0.5]])

>>> (A*null(A)).T
matrix([[ 1.66533454e-16, -1.66533454e-16, -2.22044605e-16, -2.22044605e-16]])

另请参阅本节零空间的数值计算 https://en.wikipedia.org/wiki/Kernel_(linear_algebra)#Numerical_computation在维基百科上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用 NumPy 求解齐次线性方程? 的相关文章

  • 使用 NumPy 编写一个函数来计算具有特定公差的积分

    我想编写一个自定义函数来以特定容差对表达式 python 或 lambda 函数 进行数字积分 我知道与scipy integrate quad人们可以简单地改变epsabs但我想使用 numpy 自己编写该函数 From 这篇博文 htt
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • 合并张量流数据集批次

    请考虑下面的代码 import tensorflow as tf import numpy as np simple features np array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 simple labels
  • python numpy:更改 numpy 矩阵的列类型

    我有一个 numpy 矩阵 X 我尝试使用以下代码更改第 1 列的数据类型 X 1 astype str print type X 0 1 但我得到了以下结果
  • C++ Exp 与 Log:哪个更快?

    我有一个 C 应用程序 需要比较两个值并决定哪个值更大 唯一的复杂之处是一个数字在对数空间中表示 而另一个则不是 例如 double log num 1 log 1 23 double num 2 1 24 如果我想比较num 1 and
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 批处理文件中是否存在“Power to”功能? (指数)

    Problem 有没有办法将变量 乘以 数字或其他变量的批处理文件 有这个功能吗 Python 中的一个示例是您可以使用 为 到 的力量 EDIT 您可以在批处理文件中进行数学运算 http en wikipedia org wiki Ba
  • C# 中的工作百分比

    我有两个值 其中一个是十进制值 和另一个值 该值将计算该小数值的百分比 例如 10 的 60 6 decimal value1 10 decimal percentage 60 textbox1 text mathsum here toSt
  • pandas - 枢轴 ||创建比率/百分比的自定义列

    import numpy as np import pandas as pd data experiment name exp1 exp1 exp1 exp1 exp1 exp1 variant A B A B A B sessions w
  • 如何合并非常大的 numpy 数组?

    我会有很多Numpy https docs scipy org doc numpy 1 14 0 reference arrays https docs scipy org doc numpy 1 14 0 reference arrays
  • 将 scipy 稀疏矩阵的几行采样到另一个中

    如何对 scipy 稀疏矩阵的某些行进行采样 并从这些采样的行中形成一个新的 scipy 稀疏矩阵 例如 如果我有一个 10 行的 scipy 稀疏矩阵 A 并且我想创建一个新的 scipy 稀疏矩阵 B 其中 A 的第 1 3 4 行 该
  • 在按顺序读取的多个特征文件上训练 Keras 模型以节省内存

    当我尝试读取大量功能文件时 我遇到了内存问题 见下文 我想我应该分割训练文件并按顺序读取它们 做到这一点的最佳方法是什么 x train np load path features x train npy y train np load p
  • numpy.empty 给出非空数组

    当我使用创建一个空的 numpy 数组时foo np empty 1 结果数组包含一个 float64 gt gt gt foo np empty 1 gt gt gt foo array 0 gt gt gt type foo 0
  • IndexError:索引 10 超出尺寸为 10 的轴 0 的范围

    我正在以数字方式为 x 网格和 x 向量以及时间网格设置网格 但我再次设置了一个数组x 位置 只能在 0 到 20 之间并且t 时间 将从 0 到 1000 以便求解热方程 但每次我想要 例如 我将步数设置为 10 时 都会收到错误 Tra
  • 将数字的各个数字部分相加/求和的最快方法

    不久前 我在数学论坛上看到一个问题 其中一个人正在讨论一遍又一遍地将数字中的数字相加 直到达到个位数 即 362 将变成 3 6 2 这将变成 11 然后 11 将变成 1 1 将变成 2 因此 362 将返回2 我写了一些很好的代码来得到
  • 可以使用哪些技术来衡量 pandas/numpy 解决方案的性能

    Question 如何简洁全面地衡量下面各个功能的性能 Example 考虑数据框df df pd DataFrame Group list QLCKPXNLNTIXAWYMWACA Value 29 52 71 51 45 76 68 6
  • NumPy 或 SciPy 计算加权中位数

    我正在尝试自动化 JMP 执行的流程 分析 gt 分布 输入 A 列作为 Y 值 使用后续列 作为 权重 值 在 JMP 中 您必须一次执行一列 我想使用 Python 循环所有列并创建一个数组 显示每列的中位数 例如 如果质量数组为 0
  • 为什么 np.linalg.norm(..., axis=1) 比写出向量范数公式慢?

    标准化矩阵的行X对于单位长度 我通常使用 X np linalg norm X axis 1 keepdims True 在尝试优化算法的此操作时 我非常惊讶地发现在我的机器上写出标准化的速度大约快了 40 X np sqrt X 0 2
  • 打包布尔数组需要通过 int (numpy 1.8.2)

    我正在寻找更紧凑的方式来存储布尔值 numpy 内部需要 8 位来存储一个布尔值 但是np packbits允许打包 他们 这真是太酷了 问题是要打包在4e6字节数组a32e6字节我们需要首先使用的布尔值数组256e6字节将布尔数组转换为

随机推荐

  • 无法安装 pygame [重复]

    这个问题在这里已经有答案了 所以我对 python 和 或 pip 有一些问题 Python 当要求在 CMD 中下载 pygame 时py m pip install U pygame user 给我这个错误 WARNING No Set
  • Webhook 不执行订阅验证

    我们正在使用 Microsoft Graph 创建 Webhook 订阅 但是 返回以下 JSON 我们可以看到没有相应的 HTTP 请求发送到我们的验证公共 Web 服务器 error code InvalidRequest messag
  • TextView、iOS 和 OSX 中的彩虹文本

    我正在尝试向我的应用程序添加一些不同的文本颜色以融合到图像中 我收到了很多用户想要彩虹文本颜色并重复的输入 例如这个词 stackoverflow看起来像这样 s red t orange a yellow c green k blue o
  • 如何使用j2me(midp2.0)从收件箱读取短信?

    我想从 j2me 应用程序访问收件箱消息文本 我不知道如何访问收件箱 使用 j2me 无法实现这一点 我已经在诺基亚论坛讨论过 看
  • 双边移动平均线?

    如何获得两侧的 移动平均值 该函数对向量右侧和左侧的 n 个数字进行平均 并根据它们与中心值的距离赋予它们权重 我尝试使用 TTR 但它的移动平均线仅从左到右工作 并将最左边的值设置为 NA 所以我不能使用该平滑向量作为 smooth sp
  • authenticationEntryPoint 不适用于提交凭据的 Permit() http 方法

    Override protected void configure HttpSecurity httpSecurity throws Exception formatter off httpSecurity csrf disable aut
  • 使用动态链接器包装 glibc 函数

    我正在尝试包装 GLIBCfstat通过将我的库注入可执行文件来实现函数 可以是任何其他 这只是概念证明 我通过将我的库放置在可执行文件的位置来做到这一点RPATH用名字指着libc so 6 我的库的源代码如下 define GNU SO
  • 从命令行获取设备的 Android SDK 版本

    我计划构建一个自动化系统 用于将 Android 版本部署到各种设备 以便使多平台开发更加轻松 有没有办法通过android shell或adb获取连接设备的sdk版本 将有一台计算机连接多个测试设备 我计划编写一个脚本 该脚本将从构建服务
  • JUnit、测试和线程

    当我连续运行多个 JUnit 测试时 JUnit 是否为每次执行创建一个新线程 或者所有内容都包装在一个线程中 Thanks 这一切都在一个线程上 您没有说明如何调用测试 但例如 运行 TestSuite 将按顺序运行套件中的所有测试 如果
  • Angular Material 10 日期选择器(mat-datepicker)与其他输入字段不对齐

    使用 Angular 10 和 Angular Material 10 在表单中使用日期选择器与其他输入表单字段不对齐 如下图所示 字段未对齐 https i stack imgur com D4Hc4 png component html
  • 如何使用 emacs prettify-symbols-mode?

    我有 emacs 版本 25 0 我启用prettify symbols mode 然后输入 lambda t 但它并不能美化 我该如何使用这个模式 还有哪些符号可用以及如何配置它 任何参考都值得赞赏 Edit 什么也没发生在scratch
  • 强制 Makefile 中依赖项的顺序

    我有一个 Makefile 我想并行使用它来编译一组单独的程序 它看起来像这样 compileall program1 program2 program3 echo Compilation completed program1 progra
  • MongoDB BasicDBObject 与 Java 中的文档

    我正在使用 MongoDB v3 2 0 和 Mongo Java Driver 3 0 4 版本 我正在使用BasicDBObject 已弃用 而不是使用Document在 java 中 因为我需要在独立的 java 项目中进行许多更改才
  • 无参数行为的 C 函数

    有人可以向我解释为什么下面的代码编译时没有警告或错误吗 我希望编译器警告我该函数no args不期望任何争论 但代码编译并运行功能no args递归地 static void has args int a int b int c print
  • DeprecationWarning:移动应用程序时的功能(删除标题栏)-PySide6

    当我移动应用程序时 我收到此警告 C Qt Login Test main py 48 DeprecationWarning Function globalPos const is marked as deprecated please c
  • 在 C# 中是否存在用于将 List 元素向左或向右移动指定量的代码?

    在 C 中是否存在用于将 List 元素向左或向右移动指定量的代码 这是很棘手的代码 需要一些时间来编写和测试特殊情况 我宁愿 重用某些东西 如果存在 Thanks 像这样的左移 public static void ShiftLeft
  • 如何使用柯里化函数删除事件监听器

    我很难删除事件侦听器类型柯里化函数 I register first at some time I want to remove using freezeHighlight but it doesn t working without cu
  • 如何向 hr 标签添加一些文本?

    我试图在 hr 标签末尾添加一些文本 但到目前为止我还没有设法让它正常工作 我期待有一行 顶部有一些文字到最后 你可以在这里看到我的小提琴http jsfiddle net 2BHYr http jsfiddle net 2BHYr Edi
  • iOS Facebook 应用邀请:错误

    我必须在我的 iOS 应用程序中实现 Facebook 邀请 我正在关注以下参考链接 https developers facebook com docs app invites ios https developers facebook
  • 如何用 NumPy 求解齐次线性方程?

    如果我有这样的齐次线性方程 array 0 75 0 25 0 25 0 25 1 1 0 0 1 0 1 0 1 0 0 1 我想得到它的非零解 怎样才能做到NumPy http en wikipedia org wiki NumPy E