Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to create/use matrices valued in differential forms?

First, for context, I am working with holomorphic Hermitian vector bundles, and I need to compute the connection and curvature matrices, and compute some representatives for Chern classes and the Chern form.
Ultimately I want to have a matrix which is valued in differential froms, and when I multiply matrices, I want the component-wise multiplication to be the wedge product of forms.
When I naively try to build a matrix of forms 'by hand', or when I pre-define my matrix space to be valued in the module of differential forms, I get an error telling me that the space of differential forms is a not a ring.

How to create/use matrices valued in differential forms?

First, for context, I am working with holomorphic Hermitian vector bundles, and I need to compute the connection and curvature matrices, and compute some representatives for Chern classes and the Chern form.
Ultimately I want to have a matrix which is valued in differential froms, and when I multiply matrices, I want the component-wise multiplication to be the wedge product of forms.
When I naively try to build a matrix of forms 'by hand', or when I pre-define my matrix space to be valued in the module of differential forms, I get an error telling me that the space of differential forms is a not a ring.

EDIT: For example,

import sys import mpmath sys.modules['sympy.mpmath'] = mpmath M = Manifold(2, 'M', field='complex') U = M.open_subset('U') c_xy.<x,y> = U.chart() e_xy = c_xy.frame() a = M.diff_form(2, name='a') a.parent() eU = c_xy.frame() a.degree() a[eU,0,1] = xy^2 + 2x a.display(eU) A = matrix([[a, a],[a, a]])

prints out ︡"Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M\n"}︡{"stdout":"2\n" "a = (xy^2 + 2x) dx/\dy\n" and tells me that "TypeError: base_ring (=Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M) must be a ring"

How to create/use matrices valued in differential forms?

First, for context, I am working with holomorphic Hermitian vector bundles, and I need to compute the connection and curvature matrices, and compute some representatives for Chern classes and the Chern form.
Ultimately I want to have a matrix which is valued in differential froms, and when I multiply matrices, I want the component-wise multiplication to be the wedge product of forms.
When I naively try to build a matrix of forms 'by hand', or when I pre-define my matrix space to be valued in the module of differential forms, I get an error telling me that the space of differential forms is a not a ring.

EDIT: For example,

import sys sys

import mpmath mpmath

sys.modules['sympy.mpmath'] = mpmath mpmath

M = Manifold(2, 'M', field='complex') field='complex')

U = M.open_subset('U') M.open_subset('U')

c_xy.<x,y> = U.chart() U.chart()

e_xy = c_xy.frame() c_xy.frame()

a = M.diff_form(2, name='a') a.parent() name='a')

a.parent()

eU = c_xy.frame() a.degree() c_xy.frame()

a.degree()

a[eU,0,1] = xy^2 + 2x a.display(eU) x

a.display(eU)

A = matrix([[a, a],[a, a]])

prints out ︡"Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M\n"}︡{"stdout":"2\n" "a = (xy^2 + 2x) dx/\dy\n" and tells me that "TypeError: base_ring (=Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M) must be a ring"

How to create/use matrices valued in differential forms?

First, for context, I am working with holomorphic Hermitian vector bundles, and I need to compute the connection and curvature matrices, and compute some representatives for Chern classes and the Chern form.

Ultimately I want to have a matrix which is valued in differential froms, forms, and when I multiply matrices, I want the component-wise multiplication to be the wedge product of forms.

When I naively try to build a matrix of forms 'by hand', or when I pre-define my matrix space to be valued in the module of differential forms, I get an error telling me that the space of differential forms is a not a ring.

EDIT: For example,

import sys

sys import mpmath

mpmath sys.modules['sympy.mpmath'] = mpmath

mpmath M = Manifold(2, 'M', field='complex')

field='complex') U = M.open_subset('U')

M.open_subset('U') c_xy.<x,y> = U.chart()

U.chart() e_xy = c_xy.frame()

c_xy.frame() a = M.diff_form(2, name='a')

a.parent()

name='a') a.parent() eU = c_xy.frame()

a.degree()

c_xy.frame() a.degree() a[eU,0,1] = xy^2 x*y^2 + 2x

a.display(eU)

2*x a.display(eU) A = matrix([[a, a],[a, a]])

a], [a, a]])

prints out ︡"Module out

Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M\n"}︡{"stdout":"2\n"
"a = (xy^2 M
2
a = (x*y^2 + 2x) dx/\dy\n"
and tells me that
"TypeError: 2*x) dx/\dy

and raises a type error:

TypeError: base_ring (=Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M) must be a ring"

ring

How to create/use matrices valued in differential forms?

First, for context, I am working with holomorphic Hermitian vector bundles, and I need to compute the connection and curvature matrices, and compute some representatives for Chern classes and the Chern form.

Ultimately I want to have a matrix which is valued in differential forms, and when I multiply matrices, I want the component-wise multiplication to be the wedge product of forms.

When I naively try to build a matrix of forms 'by hand', or when I pre-define my matrix space to be valued in the module of differential forms, I get an error telling me that the space of differential forms is a not a ring.

For example,

import sys
import mpmath
sys.modules['sympy.mpmath'] = mpmath
M = Manifold(2, 'M', field='complex')
U = M.open_subset('U')
c_xy.<x,y> = U.chart()
e_xy = c_xy.frame()
a = M.diff_form(2, name='a')
a.parent()
eU = c_xy.frame()
a.degree()
a[eU,0,1] = x*y^2 + 2*x
a.display(eU)
A = matrix([[a, a], [a, a]])

prints out

Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M
2
a = (x*y^2 + 2*x) dx/\dy

and raises a type error:

TypeError: base_ring (=Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M) must be a ring
click to hide/show revision 6
retagged

How to create/use matrices valued in differential forms?

First, for context, I am working with holomorphic Hermitian vector bundles, and I need to compute the connection and curvature matrices, and compute some representatives for Chern classes and the Chern form.

Ultimately I want to have a matrix which is valued in differential forms, and when I multiply matrices, I want the component-wise multiplication to be the wedge product of forms.

When I naively try to build a matrix of forms 'by hand', or when I pre-define my matrix space to be valued in the module of differential forms, I get an error telling me that the space of differential forms is a not a ring.

For example,

import sys
import mpmath
sys.modules['sympy.mpmath'] = mpmath
M = Manifold(2, 'M', field='complex')
U = M.open_subset('U')
c_xy.<x,y> = U.chart()
e_xy = c_xy.frame()
a = M.diff_form(2, name='a')
a.parent()
eU = c_xy.frame()
a.degree()
a[eU,0,1] = x*y^2 + 2*x
a.display(eU)
A = matrix([[a, a], [a, a]])

prints out

Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M
2
a = (x*y^2 + 2*x) dx/\dy

and raises a type error:

TypeError: base_ring (=Module Omega^2(M) of 2-forms on the 2-dimensional complex manifold M) must be a ring