コード例 #1
0
def test_isub(basis):
    e = shenfun.Expr(basis)
    e2 = shenfun.Expr(basis)
    e -= e2
    assert np.allclose(e.terms(), np.concatenate((e2.terms(), e2.terms()), axis=1))
    assert np.allclose(e.scales(), np.concatenate((e2.scales(), -e2.scales()), axis=1))
    assert np.allclose(e.indices(), np.concatenate((e2.indices(), e2.indices()), axis=1))
コード例 #2
0
ファイル: test_forms.py プロジェクト: mstf1985/shenfun
def test_isub(basis):
    e = shenfun.Expr(basis)
    e2 = shenfun.Expr(basis)
    e -= e2
    assert np.allclose(np.array(e.terms()), np.concatenate((np.array(e2.terms()), np.array(e2.terms())), axis=1))
    assert np.allclose(np.array(e.scales()).astype(np.int), np.concatenate((np.array(e2.scales()).astype(np.int), -np.array(e2.scales()).astype(np.int)), axis=1))
    assert np.allclose(np.array(e.indices()), np.concatenate((np.array(e2.indices()), np.array(e2.indices())), axis=1))
コード例 #3
0
def test_add(basis):
    e = shenfun.Expr(basis)
    e2 = shenfun.Expr(basis)
    e3 = e + e2
    assert np.allclose(e3.terms(), np.concatenate((e.terms(), e2.terms()), axis=1))
    assert np.allclose(e3.scales(), np.concatenate((e.scales(), e2.scales()), axis=1))
    assert np.allclose(e3.indices(), np.concatenate((e.indices(), e2.indices()), axis=1))
コード例 #4
0
ファイル: test_forms.py プロジェクト: sciencewiki/shenfun
def test_sub(basis):
    e = shenfun.Expr(basis)
    e2 = shenfun.Expr(basis)
    e3 = e - e2
    assert np.allclose(e3.terms(),
                       np.concatenate((e.terms(), e2.terms()), axis=1))
    assert np.allclose(
        e3.scales().astype(np.int),
        np.concatenate(
            (e.scales().astype(np.int), -e2.scales().astype(np.int)), axis=1))
    assert np.allclose(e3.indices(),
                       np.concatenate((e.indices(), e2.indices()), axis=1))
コード例 #5
0
ファイル: test_forms.py プロジェクト: mstf1985/shenfun
def test_mul(basis):
    e = shenfun.Expr(basis)
    e2 = 2*e
    assert np.allclose(np.array(e2.scales()).astype(np.int), 2)
    e2 = e*2
    assert np.allclose(np.array(e2.scales()).astype(np.int), 2.)
    if e.expr_rank() == 1:
        a = tuple(range(e.dimensions))
        e2 = a*e
        assert np.allclose(np.array(e2.scales()).astype(np.int)[:, 0], (0, 1))
コード例 #6
0
def test_imul(basis):
    e = shenfun.Expr(basis)
    e *= 2
    assert np.allclose(e.scales(), 2.)
    e *= 2
    assert np.allclose(e.scales(), 4.)
    if e.expr_rank() == 1:
        a = tuple(range(e.dimensions))
        e *= a
        assert np.allclose(e.scales()[:, 0], (0, 4))
コード例 #7
0
def test_mul(basis):
    e = shenfun.Expr(basis)
    e2 = 2*e
    assert np.allclose(e2.scales(), 2.)
    e2 = e*2
    assert np.allclose(e2.scales(), 2.)
    if e.expr_rank() == 2:
        a = tuple(range(e.dim()))
        e2 = a*e
        assert np.allclose(e2.scales()[:, 0], (0, 1))
コード例 #8
0
ファイル: test_forms.py プロジェクト: mstf1985/shenfun
def test_imul(basis):
    e = shenfun.Expr(basis)
    e *= 2
    assert np.allclose(np.array(e.scales()).astype(np.int), 2)
    e *= 2
    assert np.allclose(np.array(e.scales()).astype(np.int), 4)
    x = sp.symbols('x', real=True)
    e *= x
    assert np.alltrue(np.array(e.scales()) == 4*x)
    if e.expr_rank() == 1:
        a = tuple(range(e.dimensions))
        e *= a
        assert np.alltrue(np.array(e.scales())[:, 0] == (0, 4*x))
コード例 #9
0
ファイル: test_forms.py プロジェクト: mstf1985/shenfun
def test_neg(basis):
    e = shenfun.Expr(basis)
    e2 = -e
    assert np.allclose(np.array(e.scales()).astype(np.int), (-np.array(e2.scales())).astype(np.int))
コード例 #10
0
def test_neg(basis):
    e = shenfun.Expr(basis)
    e2 = -e
    assert np.allclose(e.scales(), -e2.scales())