2017-04-08 1 views
0

Comment puis-je créer et calculer en python des solutions pour des matrices avec des éléments arbitraires? Par exemple, disons que je veux créer une matrice carrée avec des éléments: a, a, a, a et l'ajouter à une matrice carrée avec des éléments: b, b, b, b. Le résultat devrait alors être a + b pour chaque élément de la nouvelle matrice, sous forme de lettres.Python: calcul de matrices avec des éléments arbitraires?

Autre exemple, je multiplie une matrice par scalaire k et je veux que les k soient à l'intérieur de la matrice. Je vais recevoir une erreur si je ne spécifie pas la valeur exacte de k, mais je veux qu'elle soit arbitrairement évaluée et apparaisse comme "k".

+1

Jetez un oeil à sympy http://www.sympy.org/en/index.html –

Répondre

1

EDIT: comme suggéré par PM 2Ring, SymPy peut être solution.

autre réponse:

Je pense que TensorFlow pourrait vous aider dans ce cas. Bien que, écrire des équations pourrait être légèrement différente dans ce cas.

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})) 
+0

Pas tout à fait, je voudrais avoir le « k » à l'intérieur de la matrice. Comme si je faisais un problème mathématique arbitrairement évalué sur papier. – Dole

+0

J'ai mis à jour la réponse. Dans celui-ci, vous pouvez avoir une équation mathématique arbitraire et évaluer, vous devez fournir les valeurs. –