From 6d702d7061a0639c024c2dc1f12643b314a7c3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaman=20G=C3=BC=C3=A7l=C3=BC?= Date: Tue, 6 May 2025 12:23:39 +0200 Subject: [PATCH 1/2] Move 'eval' classmethod to InnerBasic from its subclasses --- sympde/core/algebra.py | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/sympde/core/algebra.py b/sympde/core/algebra.py index 7b626117..476dc370 100644 --- a/sympde/core/algebra.py +++ b/sympde/core/algebra.py @@ -274,48 +274,29 @@ def __new__(cls, *args, **options): else: return r -class Inner_2d(InnerBasic): - @classmethod def eval(cls, *_args): - """.""" if not _args: return - if not( len(_args) == 2): + if len(_args) != 2: raise ValueError('Expecting two arguments') - u = _args[0] - v = _args[1] + u, v = _args u = Matrix(u) v = Matrix(v) # TODO add conjugate - M = u.transpose()*v + M = u.transpose() * v return M.trace() -class Inner_3d(InnerBasic): - - @classmethod - def eval(cls, *_args): - """.""" - - if not _args: - return - - if not( len(_args) == 2): - raise ValueError('Expecting two arguments') - - u = _args[0] - v = _args[1] - - u = Matrix(u) - v = Matrix(v) +# ... +class Inner_2d(InnerBasic): + pass - # TODO add conjugate - M = u.transpose()*v - return M.trace() # ... +class Inner_3d(InnerBasic): + pass From dbbea1b10064bc424c98303c047403e3f1fbb08c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaman=20G=C3=BC=C3=A7l=C3=BC?= Date: Tue, 6 May 2025 12:24:34 +0200 Subject: [PATCH 2/2] Add Inner_1d class --- sympde/core/algebra.py | 3 +++ sympde/expr/evaluation.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sympde/core/algebra.py b/sympde/core/algebra.py index 476dc370..bd2513d1 100644 --- a/sympde/core/algebra.py +++ b/sympde/core/algebra.py @@ -292,6 +292,9 @@ def eval(cls, *_args): M = u.transpose() * v return M.trace() +# ... +class Inner_1d(InnerBasic): + pass # ... class Inner_2d(InnerBasic): diff --git a/sympde/expr/evaluation.py b/sympde/expr/evaluation.py index 9edda70a..85dbb039 100644 --- a/sympde/expr/evaluation.py +++ b/sympde/expr/evaluation.py @@ -16,7 +16,7 @@ from sympde.core.basic import _coeffs_registery from sympde.core.basic import CalculusFunction -from sympde.core.algebra import (Dot_1d, +from sympde.core.algebra import (Dot_1d, Inner_1d, Dot_2d, Inner_2d, Cross_2d, Dot_3d, Inner_3d, Cross_3d) from sympde.core.utils import random_string