Hi guys!
I have this function on theta:
$R_{x}(\theta) = R_{tx} + \cos \theta \cdot \left( f_{vp} + \sum_{i=1}^{n} \left(p S_i \sin^2 \alpha_i \right) \right) - \sin \theta \cdot \frac{1}{2} \sum_{i=1}^{n} \left(p S_i \sin 2\alpha_i \right)$
Since I cannot define an n-dimensional vector, I reduced n to 5, and wrote the following code down in SAGE:
var('alpha1, alpha2, alpha3, alpha4, alpha5'); # some angles
var('area1, area2, area3, area4, area5'); # some areas
var('Rtx, Rty'); # components of some force
var('fvp'); # modulus of yet another force
var('pv'); # wind pressure
var('theta'); # wind direction
var('i'); # variable to iterate over the angles and areas
# this vector contains all the angles
alpha = vector([alpha1, alpha2, alpha3, alpha4, alpha5]);
# this vector contains all the areas
area = vector([area1, area2, area3, area4, area5]);
Upto this point everything seems to go fine.
Then I try to define my function like this:
# The function I am trying to define, depending on the wind direction
Rx(theta) = Rtx + cos(theta) * (fvp + sum(pv * area[i] * sin(alpha[i])^2, i, 1, 5)) - sin(theta) * 1/2 * sum(area[i] * sin(2*alpha[i])^2, i, 1, 5)
And sage complains:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-18-4889d5aee183> in <module>()
----> 1 __tmp__=var("theta"); Rx = symbolic_expression(Rtx + cos(theta) * (fvp + sum(pv * area[i] * sin(alpha[i])**Integer(2), i, Integer(1), Integer(5))) - sin(theta) * Integer(1)/Integer(2) * sum(area[i] * sin(Integer(2)*alpha[i])**Integer(2), i, Integer(1), Integer(5))).function(theta)
sage/modules/free_module_element.pyx in sage.modules.free_module_element.FreeModuleElement.__getitem__ (/build/sagemath-x4mQwo/sagemath-7.4/sage/src/build/cythonized/sage/modules/free_module_element.c:12935)()
sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.__index__ (/build/sagemath-x4mQwo/sagemath-7.4/sage/src/build/cythonized/sage/symbolic/expression.cpp:31916)()
sage/symbolic/expression.pyx in sage.symbolic.expression.Expression._integer_ (/build/sagemath-x4mQwo/sagemath-7.4/sage/src/build/cythonized/sage/symbolic/expression.cpp:8623)()
TypeError: unable to convert i to an integer
Any ideas on what may be happening? And, Is there a way to make it work?
Apparently, my question is similar to: Symbolic function that sums over variable sequence (sorry: my karma is insufficient to post links).
Still, it is different in that I have two vectors of variables and need to define a computation using variables from both vectors. And I was trying to get it done in a different way.
Thank you for your time.