luca-heltai / ePICURE

Python Isogeometric CUrve REconstruction
GNU General Public License v2.0
10 stars 23 forks source link

TimeAnalysis Interface #4

Open luca-heltai opened 9 years ago

luca-heltai commented 9 years ago

An abstract python interface of type TimeAnalysis, capable of taking derivatives and integrals of collections of paths, given an actual VectorSpace object, and a matrix with VectorSpace.n_dofs rows and an arbitrary number of columns, representing functions of the given VectorSpace

luca-heltai commented 9 years ago

This is a little outdated. We have added element_der which responds to the first question, and we enabled elements made of matrices, which adds the possibility to have multiple components. Only integration is missing at the moment. We should add a method integrate to the base class VectorSpace, which would take a quadrature and a set of coefficients (or matrix of coefficients) and return the integral:

vi = SomeVectorSpace(...)

n_components = some_number
coeffs = zeros(vi.n_dofs, n_components)
...
# change coeffs here
...
print shape(coeffs) # will print (n_dofs, n_components)
quad = some_quadrature_formula # in [0,1]
# Compute the integral
result = vi.integrate(coeffs, quad) 
print result # should print array([i0, i1, ...., i_{ncomponents-1}])
print shape(result) # should print (n_components, )