Generalize tensor product spaces (#41)
* add a generic tensor product function space * extend tensor_product_nodes to non-homogeneous dimensions * fix up tensor product basis * add a TensorProductShape too * add TensorProductShape to docs * do not use math.prod * simplify tensor product basis * add some more types and docs * fix tensor product gradient and add tests * remove useless prints * start modifying QN and Hypercube to inherit TensorProduct * fix or silence some mypy errors * fix remaining issues with tensor product spaces * update docs to mention tensor products * remove some unnecessary changes * test and fix node tuples for tensor products * extend submesh_for_shape to tensor product shapes * Use ABC for Shape, FunctionSpace, Basis * improve variable names Co-authored-by: Andreas Klöckner <inform@tiker.net> * attempt a cleaner _node_tuples_for_tp implementation Co-authored-by: Andreas Klöckner <inform@tiker.net> * fix variable renaming * remove _quadrature_for_qn * document order in space_for_shape * remove _space_for_hypercube * remove _random_nodes_for_hypercube * add some docs for the internal _TensorProductBasis classes * abstractproperty is deprecated * reword docs a bit * do not squeeze in random_nodes_for_shape Co-authored-by: Andreas Kloeckner <inform@tiker.net>
Loading
Please register or sign in to comment