Skip to content

Noncommutative_Algebra

Mahrud Sayrafi edited this page Mar 12, 2021 · 1 revision

title: Noncommutative Algebra permalink: wiki/Noncommutative_Algebra/ layout: wiki

Our (lofty) goal will be to enable the computation of Hom(M,N) for a pair of (right) modules over a connected graded algebra.

Here are some items on the To-do list:

The following is my outline for getting to Hom(M,N) as quickly as possible. There are lots of little side things to do to make modules useful, but Hom is apparently just a bunch of kernel calculations.

  • Create the NCModule and NCModuleElement types

A module will be given either by an NCMatrix of generators or an NCMatrix of relations with assigned degrees. At least initially, Andy votes to have an option that defaults to "right" but also can be "left" or "bimodule". (If a module is given by generators, we'll need to compute the relations in order to get Hom)

  • Create the NCModuleMap type
  • Define ncMap (NCRightModule, NCRightModule, List)

I think the bulk of this code could be done as soon as 1 is done, but in the end we'll want elements of Hom(M,N) to have the type of NCModuleMap.

Short list of other things:

  • Define NCRingElement * NCModuleElement
  • Homology of a pair of maps
  • Any method whose only argument is an NCRingMap will probably need an analogous version for NCModuleMap. I'm especially thinking of //, @@, ambient, isHomogeneous, and isWellDefined
  • Tensor product of algebras (with user-specifiable R-matrix)
  • Bimodules (modules over A \tensor A^op) will require some special handling
  • Operations on modules (shifts, twist by ring automorphism, quotients)
  • Left and right and two-sided ideals should be compatible with module operations
  • NCChainComplex type
  • Compute Ext^i(M,N) to specified internal degree. (This can probably be done as soon as Hom is done.)
  • Yoneda products

How to Install bergman

Mac OS X (Mountain Lion)

  1. Install and configure Xcode 1
    • In Xcode Preferences -> Downloads -> Command Line Tools, check the box for command line tools
  2. Install MacPorts 2
  3. In a terminal, type sudo port install clisp to install clisp
  4. Download and install bergman 3:
    • Untar bergman to your desired directory
    • navigate to the directory /scripts/clisp/unix and ./mkbergman -auto
  5. Edit NCAlgebra.m2 to include your bergman path
  6. Put bergman on your path (for example, ln path-to-bergman desired-path-to-bergman)

Linux/Unix

  1. Install clisp
  2. Download and install bergman
    • Untar bergman to your desired directory
    • navigate to the directory /scripts/clisp/unix and ./mkbergman -auto
  3. Edit NCAlgebra.m2 to include your bergman path
  4. Put bergman on your path (for example, ln path-to-bergman desired-path-to-bergman)

Windows

  1. Partition your hard disk and install a linux distribution.

Both M2 and bergman will run on Windows, but we don't know how to make them communicate (please contact us if you figure out how to do this!)

Progress

Monday:

  • implemented subquotient algorithm (Boehm's Algorithm 6.3.1)

Tuesday:

  • created NCChainComplex type
  • implemented res(NCMatrix), betti(NCChainComplex)

Wednesday:

  • integer shift implemented for NCMatrix
  • implemented homologyAsCokernel(NCMatrix,NCMatrix)
  • implemented free products, q-tensor products, and enveloping algebra

Thursday:

  • discussed Anick resolution & implementation strategy

Friday:

  • implemented digraph(NCGroebnerBasis) (useful for the Anick resolution)
  • created NCModule type

Berkeley2014 - Main Page

Clone this wiki locally