【问题标题】:Python: Computing matrices with arbitrary elements?Python:计算具有任意元素的矩阵?
【发布时间】:2017-04-08 11:23:25
【问题描述】:

如何在 python 中为具有任意元素的矩阵创建和计算解?

例如,假设我想创建包含元素的方阵:a,a,a,a 并将其添加到包含元素的方阵中:b,b,b,b。

对于新矩阵中的每个元素,结果应该是 a+b,如字母。

其他示例,我将矩阵乘以标量 k,并希望 k 在矩阵内。如果我没有指定 k 的确切值,我会收到一个错误,但我希望它被任意赋值并显示为“k”。

【问题讨论】:

标签: python linear-algebra


【解决方案1】:

编辑:根据PM 2Ring 的建议,SymPy 可能是解决方案。

其他答案

我认为TensorFlow 在这种情况下可能会对您有所帮助。

不过,在这种情况下,编写方程式可能会略有不同。

import tensorflow as tf

# define your variables before hand.
# tf.placeholder(<type of element>, <dimensions>)
arr1 = tf.placeholder(tf.float32, [2,2])
arr2 = tf.placeholder(tf.float32, [2,2])

# if it doesn't have dimension no need to mention.
scalar = tf.placeholder(tf.float32)

# these are your arrays which contain those arbitrary values you mentioned
multiplied_array = arr1*scalar
added_array = arr1+arr2
adding_to_multiplied = multiplied_array+arr1

# to evaluate these into any number, you need a session
sess = tf.Session()

# just provide values of arr1, scalar, arr2 to evaluate the results
print(sess.run(multiplied_array,{arr1:[[1,2],[3,4]],scalar:22}))
print(sess.run(added_array,{arr1:[[1,2],[3,4]],arr2:[[5,6],[7,8]]}))
print(sess.run(adding_to_multiplied,{arr1:[[1,2],[3,4]],arr2:[[5,6],[7,8]],scalar:22}))

【讨论】:

  • 不完全是,我希望矩阵中包含“k”。好像我在纸上做任意值的数学题。
  • 我已经更新了答案。在这一个中,您可以拥有任意值的数学方程并进行评估,您需要提供值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 2013-07-02
  • 1970-01-01
相关资源
最近更新 更多