text:
# Installation and Other General Questions

## Hardware and Space Requirements

Question:

What are the minimum hardware and space requirements for installing Red Hat Linux on my PC?

This depends on the version of Red Hat Linux you wish to install. Different releases contain various sets of application packages and different versions of the Linux kernel, both of which are important when judging system requirements.

Red Hat Linux 7.1:

• Processor — Any x86 processor (minimum required); Intel Pentium or AMD-K6 (minimum recommended).

• RAM — 32 MB RAM (minimum required); 64 MB RAM (minimum recommended).

• Hard Drive Free Space — 650 MB (minimum required); 1.5 GB (minimum required for Workstation-class installation with GNOME and KDE; 1.2 GB with only one); 1.2 GB (minimum required for Server-class installation); 1.5 GB (minimum required for Laptop-class installation with GNOME and KDE; 1.2 GB with only one); 2.4 GB (minimum required for Custom-class installation if every package is selected); 1.2 GB (minimum required to use automatic partitioning); 3 GB (minimum recommended to allow space for updates and additional software).

Red Hat Linux 7.0:

• Processor — Any x86 processor (minimum required); Intel Pentium or AMD-K6 (minimum recommended).

• RAM — 32 MB RAM (minimum required); 64 MB RAM (minimum recommended).

• Hard Drive Free Space — 500 MB (minimum required); 1.5 GB (minimum required for Workstation-class installation with GNOME and KDE; 1.2 GB with only one); 1.2 GB (minimum required for Server-class installation); 1.5 GB (minimum required for Laptop-class installation with GNOME and KDE; 1.2 GB with only one); 2.4 GB (minimum required for Custom-class installation if every package is selected); 900 GB (minimum required to use automatic partitioning); 2.5 GB (minimum recommended to allow space for updates and additional software).

Red Hat Linux 6.2:

• Processor — Any x86 processor (minimum required); Intel Pentium or AMD-K6 (minimum recommended).

• RAM — 16 MB RAM (minimum required); 32 MB RAM (minimum recommended).

• Hard Drive Free Space — 500 MB (minimum required); 1.2 GB (minimum required for Workstation-class installation with GNOME and KDE; 700 MB with only one); 1.7 GB (minimum required for Server-class installation); 1.7 GB (minimum required for Custom-class installation if every package is selected); 2 GB (minimum recommended to allow space for updates and additional software).

___________________________________________________________

## Programming Tools and Compilers Included

Question:

What programming tools/compilers does Red Hat Linux include with its distribution?

C, C++, FORTRAN, Pascal, assembly, BASIC, Perl, Python, Tcl/Tk, LISP, Scheme, as well as a functional debugger and memory debugging library.

___________________________________________________________

## Multimedia Tools Included

Question:

What multimedia tools are shipped with the boxed set of Red Hat Linux 7.1?

Image viewers for JPEG, GIF, PNG, TIFF, MPEG, AVI, and Quicktime video viewers.

___________________________________________________________

## Graphical Programs Included

Question:

What type of graphical program is shipped with Red Hat Linux 7.1?

GIMP 1.2.1, an image manipulation, retouching, and paint program. See http://www.gimp.org for more information.

___________________________________________________________

## Publishing Tools Included

Question:

What types of publishing tools are shipped with Red Hat Linux 7.1?

TeX, LaTex, groff text formatting systems, PostScript, PDF, and DVI previewers.

___________________________________________________________

## Mail Servers Included

Question:

What mail servers are shipped with Red Hat Linux?

Sendmail, POP, and IMAP servers are included with Red Hat Linux.

___________________________________________________________

## Red Hat Linux as a File Server

Question:

Can I use Red Hat Linux as a file server?

Yes, Samba and NFS are included to facilitate the use of Red Hat Linux as a file server. Windows clients can access files and print using a Red Hat Linux server in the same way as they can using a native Windows NT/2000 file/print server.

___________________________________________________________

## The Graphical Environment for Red Hat Linux

Question:

Does Red Hat Linux include an X Window System?

Yes, XFree86 version 4.0.3 is included, which supports many advanced 3D, high-end video cards. In addition, XFree86 version 3.3.6 is also included and provides excellent support for older and less powerful video cards.

Both XFree86 versions give you the graphical environment to act as a platform for a variety of window managers and desktop environments, all of which are entirely configurable to meet your specific needs.

___________________________________________________________

## Running Windows Programs in Red Hat Linux

Question:

Will my Microsoft applications be able to run on Red Hat Linux?

No, only applications compiled for compatibility with the Linux kernel will run on the Red Hat Linux operating system. However, it is possible to run WINE, an implementation of Windows 3.x and Win32 APIs, to run many DOS and Windows applications. WINE is included with Red Hat Linux PowerTools, and more information about it can be found at http://www.winehq.com.

You can also run VMware, which provides you with a virtual machine that will run Linux and another operating system concurrently. For more information, see http://www.vmware.com.

___________________________________________________________

## Obtaining Red Hat Linux

Question:

How can I get Red Hat Linux?

Red Hat Linux is available on CD-ROM directly from Red Hat, Inc., at http://www.redhat.com/commerce or through various Red Hat Linux resellers. It is also available via the Red Hat FTP server (ftp://ftp.redhat.com/pub/redhat/linux/) and many mirror sites (http://www.redhat.com/download/mirror.html).

You are also able to purchase official Red Hat Linux boxed products from stores such as Wal-Mart, CompUSA, and many other retail establishments.

Due to the open source licenses that Red Hat Inc uses for its products, the source code is also available for download in SRPM packages. RPM source packages allow for you to install the source code for a particular application on your computer and build binary RPM files from the source. Red Hat Linux is licensed using the GNU General Public License. More information about the GPL can be found at http://www.gnu.org/copyleft/gpl.html.

___________________________________________________________

## Installing Multiple Operating Systems

Question:

I have a blank hard drive and would like to install DOS or Windows 95/98/ME and Red Hat Linux onto it. What is the best method of doing this?

It is recommended to install the other operating system first, before installing Red Hat Linux. This allows DOS or Windows 95/98/ME to configure itself to work correctly with your system's hardware and possibly write values to the Master Boot Record (MBR) to allow it to boot properly. If Red Hat Linux were installed first, the other operating system may elect to overwrite existing entries in the MBR, leaving you unable to boot into Red Hat Linux. By installing the other OS first, Red Hat Linux will allow you to boot into either operating system when your computer starts up.

You will probably need to do the entire process of installing DOS or Windows 95/98/ME using several different steps. First, start the installation, but if the operating system partitions the entire drive for itself, see if you can exit the installation program and use the native fdisk to create a primary partition of the size you want to have available for that particular OS. Then, reboot and go through the installation process again. Normally, DOS or Windows 95/98/ME will only use the space that you just set aside for it. Once the installation is finished, you can then begin to install Red Hat Linux.

If you need to install to install Red Hat Linux and Windows NT/2000 on the same machine, please see the section called Installing Linux and Windows NT on the Same Machine.

___________________________________________________________

## Creating an Installation Boot Disk

Question:

How do I create an installation boot disk?

Two different methods for producing an installation boot disk exist, depending if you want to create the disk using UNIX/Linux or DOS/Windows.

Using UNIX/Linux, mount the first Red Hat Linux installation CD-ROM, enter the /images directory, insert a floppy in your drive, and use the dd command to copy the image to the floppy:

 dd if=boot.img of=/dev/fd0 bs=1440k

Using DOS or Windows, use the rawrite command in the /dosutils directory on the CD-ROM. Documentation on using rawrite in this way is available in /dosutils/rawrite3.doc.

To make floppies under DOS, Win95, or NT, first boot into DOS and change to the CD-ROM directory (for example, D:).

Enter the dosutils directory and run rawrite.

 cd \dosutils rawrite.exe

When prompted for a disk for the boot image, enter \path\to\boot.img.

Then run rawrite again and, when prompted, enter \path\to\supp.img.

The .img files are boot images and can be found in the images directory on the first Red Hat Linux installation CD-ROM.

___________________________________________________________

## Difference Between Linux and DOS Disk Names

Question:

I have an IDE system, and I am confused by how Linux sets up drives in comparison to DOS. Can you explain this?

Linux sets up the drive system in a very different way than DOS, and this can be quite confusing for a new Linux user. Instead of calling the first hard drive C:, it will be usually referred to as a combination of letters signifying what kind of bus (sd for SCSI, hd for IDE) and in which sequence the drive falls on that bus. Finally, a number is placed onto the end to specify the particular partition on the drive that is being referenced.

For IDE hard drives, the layout depends on which IDE channel the drive is located and whether it is the master or slave drive on that channel.

 Channel Jumper hdx =================================== ide0 master hda ide0 slave hdb ide1 master hdc ide1 slave hdd ide2 master hde ide2 slave hdf ide3 master hdg ide3 slave hdh ide0 = primary ide1 = secondary ide2 = tertiary ide3 = quarternary

The partition number follows an old PC/X86 standard that there is a limit of 4 primary partitions per hard drive, but one of those partitions can be designated as an extended partition. Inside of this extended partition, logical partitions can be specified (for most drives you can have up to 12 logical drives in the extended partition, for a total of 16 partitions).

The numbering scheme is broken into the following:

• 1-4 primary partitions

• 5-16 logical partitions

___________________________________________________________

## Installation Problems with IDE CD-ROM

Question:

Red Hat Linux is having trouble detecting my IDE CD-ROM drive during the install. Can I force the installation program to see it?

Sometimes IDE CD-ROM drives will not be detected either due to the fact that they are on a IDE channel your system's BIOS doesn't know about or that, when queried, the IDE channel replies back with data that the Red Hat Linux installation program thinks is bogus. (For example, early NEC IDE CD-ROMs respond with data saying that it is an IDE floppy drive instead of a CD-ROM.)

To solve your problem, you need to specify the the CD-ROM drive from the LILO boot prompt.

When you see boot: or LILO: prompt, you should type linux hdX=cdrom, where X is the IDE letter that Linux would specify for that drive depending on which IDE bus it is located.

___________________________________________________________

## Installing Red Hat Linux from a Hard Drive

Question:

I do not have a CD-ROM that will work with Linux, and I can not install from the network. Is there another method?

If you cannot perform a CD-ROM or network installation for whatever reason, you can elect to install using your hard drive.

Starting with Red Hat Linux 7.1, you must use the ISO disk images of the installation CD-ROMs; you can no longer pull off each of the various installation directories and properly arrange them on your hard drive. Simply clear enough space on your hard drive to hold both of the ISO images and download them, placing both of them in the same directory. Next, create a boot floppy, boot from it, and elect to perform a hard drive installation, pointing the installation program to the directory holding the ISO images. Then, proceed normally with the installation.

For installations of Red Hat Linux versions prior to 7.1, the following steps are required:

First, have a DOS partition that is formatted in FAT16, and create a directory called RedHat. From there, you should copy the items from the first Red Hat Linux installation CD-ROM over to the hard drive.

  mkdir C:\RedHat mkdir C:\RedHat\base mkdir C:\RedHat\RPMS copy E:\RedHat\base C:\RedHat\base copy E:\RedHat\RPMS C:\RedHat\RPMS

If you do not have enough disk space for copying the entire RPMS directory tree over to your hard drive, you will need to look in the \RedHat\base\comps file for the RPMs that are needed in the base and any other installation sections you would like to install.

Once you have done this, you can start the install using a boot floppy and choose the hard drive installation method. You will be asked to insert the supplemental floppy and a progress meter will pop up to show you what is happening. Once the supplemental disk has been loaded, you will be presented with the next screen on the install.

___________________________________________________________

## Laptop Installation Problems

Question:

I am having trouble getting Linux installed or configured on my laptop computer. What should I do?

Laptops are one of the hardest pieces of hardware to support for any operating system. Many times, the company that constructs the hardware has to tweak a chipset to make it fit in the confined structure or meet certain power requirements. These changes are usually only documented internally for trade secret reasons and can only be reverse-engineered or worked around.

When Red Hat Support finds itself with a laptop question, our first (and sometimes only) reference is the Linux Laptop Pages, which can be found at http://www.linux-laptop.net.

___________________________________________________________

## Signal 11 or Signal 7 Problems During Installation

Question:

During the install, I get a fatal signal 11 or signal 7. What does this mean, and what can I do?

Signal 11's and signal 7's are errors indicating a hardware error in memory or on the bus. This can be due to problems in executables or with the hardware of the system. The Linux kernel tends to make much greater use of capabilities of a system's CPU, cache, and memory. Therefore, it is more prone to faulting on marginal or defective hardware.

The first thing to do is check to see if you have the latest installation and supplemental floppies from Red Hat. Check the errata page (http://www.redhat.com/support/errata) for updates and also the FTP site (ftp://ftp.redhat.com) to see if newer versions are available. If the latest images still fail, it may be due to problems with your hardware. Common suspects are memory (RAM) or the CPU-cache. Try turning off the CPU-cache in the BIOS and see if the problem goes away. Also try swapping the RAM modules around in the motherboard slots to see if it is either slot or memory related.

The premier site on the net for this problem can be found at http://www.bitwizard.nl/sigll/.

___________________________________________________________

## Upgrade Problem: can't find a valid RPM database Error

Question:

I am trying to upgrade my Red Hat system to the current release, but it complains that it can't find a valid RPM database. What do I need to do?

The problem is that a very few earlier versions of RPM would write the database in a way that seems corrupted to later versions. Rebuilding the database fixes the install problems. You will need to upgrade the RPM application on your system to the one on the installation CD-ROM, and rebuild the databases.

The first thing to do is mount the first Red Hat Linux installation CD-ROM on the system.

 mount /mnt/cdrom

 cd /mnt/cdrom/RedHat/RPMS rpm -Uvh --nodeps --force rpm-*rpm

When the new RPM application is installed, rebuild the RPM database.

 rpm --rebuilddb

This will put the RPM database in a format that the RPM application used by the Red Hat Linux installation program can use (since they are the same).

___________________________________________________________

## Booting Linux from the Installation Boot Disk

Question:

I have Red Hat Linux installed on an IDE drive, and for whatever reason, I need to boot from floppy. How can I boot my system from the installation boot disk?

If you have installed Linux onto an IDE hard drive, you can boot from the installation floppy using the following method.

Insert the installation floppy and restart the machine. At the boot: prompt, type the following:

 vmlinuz root=/dev/hdXY [Example: vmlinuz root=/dev/hdb5 ]

Where X is the IDE drive letter and Y is the partition on the drive where you installed the root (/) partition for Red Hat Linux.

For more information about the naming conventions for IDE or SCSI hard drives and their partitions, refer to the section called Difference Between Linux and DOS Disk Names.

___________________________________________________________

## Where to Go for Updates

Question:

Where can I find updates for packages shipped with Red Hat Linux?

Red Hat, Inc. posts all official updates at http://www.redhat.com/support/errata. You can also go to ftp://updates.redhat.com.

Also check the contrib directory on our FTP mirrors for packages that users have contributed. We also make periodic announcements to the redhat-announce-list with updates.

___________________________________________________________

## Contents of the Source CD-ROM

Question:

During the install, I was not asked to use one of the Red Hat Linux installation CD-ROMs. When I use the X program glint on it, it reports that there are no RPMs, but when I look at the directories, I see lots of them. What is going on?

This CD-ROM in the Red Hat Linux boxed set (known as CD 4 in version 7.0 and higher or CD 2 in version 6.2 and below) contains the source code RPMs (SRPM) for all of the open source applications that are on the other CD-ROMs. From these source RPMs, you can build all the open source applications in the Red Hat Linux distribution.

The reason that glint does not see source RPMs is due to the fact that SRPMS are not stored in any of the RPM databases. This makes it almost impossible to tell if you have installed an source RPM (package-name.src.rpm) before or are overwriting an older version. Thus, you will need to use the plain rpm command to install these items.

rpm -ivh package-name.src.rpm will install the source code into the directory that the maintainer of that SRPM used. The data in the source RPMs packaged by Red Hat are installed into /usr/src/redhat by default.

Rebuilding and improving on RPMs is beyond the scope of this answer. The book Maximum RPM and the RPM man pages are good sources of information on this subject. An online version of Maximum RPM can be found at http://www.redhat.com/support/books/max-rpm/max-rpm-html, and the book is also available for sale at the Red Hat Store (http://www.redhat.com/apps/commerce).

___________________________________________________________

## Installing RPM Packages

Question:

How do I install an RPM package?

For most RPM packages, you can simply type rpm -Uvh filename.

One notable occasion when you would not want to use the -U flag is when you are installing a kernel RPM. In this case, you will want to leave your old kernel in place, at least temporarily, in case the new kernel does not boot. This can be accomplished by using the -i flag in the place of the -U flag in the rpm command, such as rpm -ivh kernel-package-name.

___________________________________________________________

Question:

How do I use RPM? What are some general commands that I will use with this application? Also, for whatever reason, I think files have changed on my system but I don't know which ones. Can RPM help?

In general, normal usage of the rpm command can be summarized as follows:

• To install a package: rpm -ivh filename  rpm -ivh somepackage.1.1-4.i386.rpm

• To upgrade a package: rpm -Uvh filename  rpm -Uvh somepackage.1.1-5.i386.rpm

• To remove a package: rpm -e packagename  rpm -e somepackage

• Also, for upgrading or installing some packages, you may need to use additional flags to force the install to happen. It is only recommended to use these if you know why these flags were needed.  --force will overwrite files that are owned by other packages. --nodeps will install even if the package needs packages that were not installed.

• Querying

• To see if a package is installed: rpm -q packagename  rpm -q somepackage

• To get info on an installed package: rpm -qi packagename  rpm -qi somepackage

• To list which files belong to a package: rpm -ql packagename  rpm -ql somepackage

• To see what package a file belongs to: rpm -qf path-to-filename  rpm -qf /usr/bin/some_executable

One can usually join various query commands together, so rpm -qil will give info and list all the files in the package.

To look at an RPM filename that isn't installed, you add the p to the query line.

  rpm -qilp somepackage.1.1-4.i386.rpm

This will list the information and the files contained in somepackage.

More advanced usages can be found in the man page for RPM and at the website, http://www.rpm.org.

### Verification

To see what files on the system may have changed from their initial settings, you can use RPM to check up on them.

The command rpm -Va will give you a list of all files that have changed in one form or another since the package associated with it was installed. This can be a lot of files (and a lot may be changed due to post installation work). To just see what packages have changed so that you can verify them more individually, you can do the following:

 rpm -Va --pipe "awk '{print $2}' | xargs rpm -qf | sort -u" &> /tmp/file1 Then look in the file /tmp/file1 to see all of the packages that have been changed after their installation. ___________________________________________________________ ## Getting Started Question: I have installed Red Hat Linux version 6.2 or earlier onto my machine. I am presented with a prompt that says:  LILO:  What do I do now? Can you give me instructions on the next steps? Answer: Red Hat Linux 7.0 and greater use a graphical boot screen, so you will not see any prompt. If you would like to see a LILO: prompt with these versions, press [Ctrl]-[X]. After you have completed an installation of Red Hat Linux version 6.2 or earlier, the machine should reboot and you will be presented with a prompt that looks like:  LILO: If you press the [Enter] key, it will begin the booting process of the Linux system. After a short time (from 20 seconds to 10 minutes depending on the machine speed and services running), you will see a clear screen with the text similar to:  Red Hat Linux release 6.2 (Zoot) kernel 2.2.14-5.0 on an i686 login: _ At the login: prompt, you will need to log in as the root user. Type root and press [Enter] again. You should be prompted for a password:   login: root password: _ Type in the password you set during the install and press [Enter]. For security reasons, the password is not echoed onto the screen. If all goes well the machine should log you in. If you are prompted for a password again, the text you typed did not match the install password. Try again, being careful to use correct capitalization. This is the standard text-mode or runlevel 3 login screen. You may be expecting a graphical login but have ended up at the text-mode virtual terminal screen. Now you should create a new user account and password, one that will be used for day-to-day work with the system. Next, exit and log back in as that user. Once you are logged in, you can use the command startx to start a GUI environment. If you are new at using Linux, there are several websites that we recommend, including: The following good books will also help you get started: • LINUX in a Nutshell by Ellen Siever, Jessica P. Hekman, Stephen Figgins, and Stephen Spainhour; O'Reilly & Associates • Running Linux by Matt Welsh and Lar Kaufman; O'Reilly & Associates • Red Hat Linux for Dummies by Jon "maddog" Hall; IDG ___________________________________________________________ ## Installing Linux and Windows NT on the Same Machine Question: How do I install Windows NT and Linux onto the same machine? Answer: If you need to install Windows NT and Linux on the same machine, read the Linux and NT HOWTO that has been prepared by Bernd Reichert. The latest version can be found at http://www.tldp.org/HOWTO/mini/Linux+NT-Loader.html. Since this guide is extremely helpful, only a brief summary is presented below: • Partition and install Windows NT first, making sure to leave space for Linux to place its partitions. If possible, do not create any logical partitions, as we have had reports of this causing problems. Get NT running and its boot loader happy. If you haven't already, make an NT rescue boot floppy just in case something goes wrong later in this process. • Install Linux and install LILO to the root (/) partition instead of the Master Boot Record (MBR). • If you are using Red Hat Linux 5.1 or later, use the rescue boot floppy you created during the install to boot Linux initially. • Edit the /etc/lilo.conf file to remove the prompt line and any other operating systems listed. The prompt action can occasionally confuse the NT boot loader. Here is an example /etc/lilo.conf file that has been set up for NT.   boot=/dev/hda map=/boot/map install=/boot/boot.b timeout=50 image=/boot/vmlinux-2.2.12-20 label=Linux root=/dev/hda5 #(make sure that you put your correct root partition here) read-only • Follow the rest of the directions in the mini HOWTO on making the NT OS loader Linux-aware. A more recent mini HOWTO that discusses more installation can be found at http://www.tldp.org/HOWTO/mini/Linux+WinNT.html. ___________________________________________________________ ## Adding Users Question: How do I add users? Answer: First, log in as root and run the adduser command.  adduser username Make certain that you also set up a password for the new user.  passwd username ___________________________________________________________ ## Mount Failed Error Question: I'm trying to install and I keep getting mount failed. What should I do? Answer: If you are performing a full installation, make certain that you have set up the partitions as ext2 or Linux Native, depending on which partitioning tool you used. Also, make sure that you have created and initiated your swap partition. There are five virtual consoles available during installation. Two of these consoles, Install Log (accessed by [Ctrl]-[Alt]-[F3]) and System Log (accessed by [Crtl]-[Alt]-[F4]) may prove to be beneficial in pinpointing the install problem you have encountered. If you are running an upgrade, switch to a virtual terminal and make certain that none of the partitions are already mounted. Also, check /etc/fstab for filesystem types that aren't listed in /proc/filesystems. ___________________________________________________________ ## Forgetting the Root Password Question: I forgot my root password. What do I do? Answer: When the system comes to the LILO: prompt, type linux single. When you get the # prompt you will need to type passwd root. This will update the password to a newer one. At this point you can type shutdown -r now and the system should boot up normally. You can now use your new root password to gain root access. ___________________________________________________________ ## Avoiding Running the fsck Command After Each Reboot Question: Every time I turn my computer off, when I turn it back on, it makes me run fsck command on my partitions. Why? Answer: The most likely cause for this is that your partitions are not being unmounted properly when you last shutdown the machine. Linux is very much like NT and other operating systems in that it needs to be properly shutdown before being powered off or there could be disk or file corruptions and other inconsistencies. The most important thing you can do is make sure that you are shutting down the machine properly. This can be done through one of two methods: • If you are in text mode (runlevel 3), you should log in as root and type shutdown -r now. • If you are using the GUI mode (runlevel 5), there should be a system button on the GDM login screen. (This is the screen that asks for your username and password.) Click on System and then pull down to Halt. Either of these methods will cleanly halt your machine and you should see a line that says Power Down when it is safe to turn off the machine. If you are running APM, Linux will try to stop the machine via the BIOS. ___________________________________________________________ ## Getting Sound to Work With Linux Question: How do I get sound to work with Linux? Answer: Most of the time, you only need to login as root and run the sndconfig command. More information can be found at http://www.redhat.com/support/manuals/RHL-7.1-Manual/getting-started-guide/ch-fun.html#S1-FUN. In a few rare cases or when using an older version of Red Hat Linux, setting up sound can be a challenge, primarily because most people have plug and play sound cards. This section of the FAQ tries to attack this issue from several different angles to try to cover all bases. First, you will need to either disable plug and play on the card (via jumpers or card setup tools). You can also change your boot method to use loadlin.exe from Windows (as Windows would then have set up the plug and play hardware). The command to set up sound is called sndconfig. You will need to log in as root (and if you are using the X Window System, open a terminal). At the prompt type sndconfig. This will walk you through setting up your sound card. If you have problems with sndconfig, here are a couple of other ways to attack the problem. The sndconfig program tries to set up a good set of default values for the plug and play settings and then load the appropriate modules. If it cannot find a good set of values itself, you can also try:   /usr/sbin/sndconfig --noautoconfig This command will let you manually specify the plug and play values for the card. You need to choose these wisely however. The values from Windows will probably work if it's the only plug and play device in the machine, but check out:   cat /proc/interrupts cat /proc/ioports cat /proc/dma cat /proc/pci to find a set of resources that will work. Enter them in and continue. It should then load the proper modules and play the sound. You can also try letting sndconfig configure itself as close as it can get to the real values of your card. Then, you can edit /etc/modules.conf (or /etc/conf.modules in early version of Red Hat Linux) to use the correct values. Your /etc/modules.conf may have a couple of lines that look something like:  alias sound sb options sb irq=7 io=0x320 dma=3,5 To reload the modules type:  /etc/rc.d/init.d/sound stop /etc/rc.d/init.d/sound start This should load up the sb module with the proper resources. You can also try this:   cd /etc pico modules.conf (or conf.modules) delete any lines about sb or opl3 save the file reboot Then run /usr/sbin/sndconfig again. Finally, you can try using the isapnptools programs. Type this:  /sbin/pnpdump > /etc/isapnp.conf The pnpdump command probes to see what plug and play devices are installed and generates a template file called /etc/isapnp.conf for isapnp to read. Once you have chosen a good set of resources for the card, make sure they don't conflict with any other cards. To see other resources, check the following:  cat /proc/pci cat /proc/interrupts cat /proc/ioports cat /proc/dma Then type  /sbin/isapnp /etc/isapnp.conf to set up the devices. If this does not work, you can edit this file with a text editor (vi, pico, emacs, etc.) and adjust the values to fit those of your card. The file format is a little obtuse, so you may want to check http://www.roestock.demon.co.uk/isapnptools for more information. If it's not a plug and play sound card, and you know the values for the resources it uses, you can just set them manually by editing /etc/modules.conf (or /etc/conf.modules for older versions of Red Hat Linux).  ----example--------- alias sound sb alias midi opl3 options opl3 io=0x388 options sb io=0x220 irq=7 dma=0,1 mpu_io=0x300 ----example--------- You can also type man isapnp.conf for a more detailed description of the format. Then run:  /etc/rc.d/init.d/sound stop /etc/rc.d/init.d/sound start You may need to go though this a few times to get good values. This is what sndconfig is supposed to do automatically, but it doesn't always work for all cards. If all this fails, report problems to the sound-list@redhat.com so that they can be worked on. ___________________________________________________________ ## Screen Blanking Question: Every time I leave my computer for a few minutes, the screen goes blank. How can I fix this? Answer: If you have a screen saver running, you may want to turn it off. In text mode, the kernel will "screen-save" your system unless you use:  setterm -powersave off -blank 0 Otherwise, if you hear disk drives speed up or other sounds, this is probably APM kicking in. Disable APM from starting at boot time by logging in as root and typing ntsysv. Then deselect APM. Leave ntsysv and you will need to reboot the machine. (This is one of the few services that you have to restart the system, as APM is so deeply connected to the kernel that a full reset is needed.) ___________________________________________________________ ## bash: command not found Question: I compiled a program called hello but when I try to run it, the command line responds with bash: hello command not found. Why won't my programs run on Red Hat? Answer: This problem is generally caused by the location of the program not being specified in your general path. The path is where Linux (like Windows) will search for a working executable. The current working directory is not in your path because of possible security exploits of a command masking itself as another one. To run your file, you can either put the directory with hello in your path (you can find out what the path is by typing echo$PATH) OR move the hello program into a directory that is in your path. Alternatively, and perhaps most common, you can simply run hello by typing ./hello from within the directory containing the program.

___________________________________________________________

## Getting Online With a Modem

Question:

I can't get my modem to work. Can you help?

First, check to see if your modem is a supported device. Double-check the Hardware Compatibility List at http://hardware.redhat.com.

Verify that your modem is being detected by the system and that it is not conflicting with other resources. You can check this with the following commands (as seen in this example):

 cat /proc/ioports 0000-001f : dma1 0020-003f : pic1 0040-005f : timer 0060-006f : keyboard 0070-007f : rtc 0080-008f : dma page reg 00a0-00bf : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : ide1 01f0-01f7 : ide0 0220-022f : soundblaster 02f8-02ff : serial(auto) 0330-0333 : MPU-401 UART 0376-0376 : ide1 0388-038b : Yamaha OPL3 03c0-03df : vga+ 03f6-03f6 : ide0 03f8-03ff : serial(auto) d000-d07f : eth0 d800-d807 : ide0 d808-d80f : ide1 cat /proc/interrupts CPU0 0: 1296380 XT-PIC timer 1: 30736 XT-PIC keyboard 2: 0 XT-PIC cascade 5: 1 XT-PIC soundblaster 8: 1 XT-PIC rtc 10: 73593 XT-PIC eth0 12: 159669 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 246863 XT-PIC ide0 15: 584998 XT-PIC ide1 NMI: 0

Examples of conflicting resources would be your modem and some other port sharing an interrupt. In the PC world, COM 1 (/dev/ttyS0) and COM 3 (/dev/ttyS3) will try to share the same interrupt unless told otherwise. While this works in some systems, we have generally found that it leads to a degradation of service.

Next, we recommend that you use minicom to double-check that you are getting a signal back from your modem. Once you have determined this, refer to the following sites for information on setting up a PPP connection using rp3 and wvdial:

Questions like this are also excellent questions for the Red Hat users' mailing list. There are many experienced Red Hat users on the list who might be of assistance on a matter of this sort. To subscribe to redhat-list, go to https://listman.redhat.com/mailman/listinfo/redhat-list.

There is also a compiled listing of past posts to this group. You may find the answer to your question here:

___________________________________________________________

## Preventing Netscape From Crashing

Question:

Netscape keeps crashing when I reach a page with Java applets in it. I have also noticed that some of my applications do not display fonts correctly. What is going on?

If could be possible that your system does not have a complete list of fontpath for X to use.

To see if this is the problem you are facing, use the command:

  chkfontpath --list

You should get output that looks like the following:

 Current directories in font path: 1: /usr/X11R6/lib/X11/fonts/misc:unscaled 2: /usr/X11R6/lib/X11/fonts/75dpi:unscaled 3: /usr/X11R6/lib/X11/fonts/100dpi:unscaled 4: /usr/X11R6/lib/X11/fonts/misc 5: /usr/X11R6/lib/X11/fonts/Type1 6: /usr/X11R6/lib/X11/fonts/Speedo

You should then add the 75dpi scaled font to your path list using the command:

 chkfontpath --add /usr/X11R6/lib/X11/fonts/75dpi

This should fix the problem you are seeing.

However, if problems persist. refer to http://home.netscape.com/eng/mozilla/4.6/relnotes/unix-4.6.html#unix (or Help - Release notes in the menu).

Basically, if Netscape exhibits consistent problems on pages containing Javascript, check your ~/.mailcap file, and remove this line if it is in that file:
 application/x-javascript;;\ x-mozilla-flags=save

___________________________________________________________

## Problems Trying to Connect with Netscape

Question:

I can dial up to my ISP just fine, but I can't use Netscape. It says cannot connect to remote host. What is wrong?

What you are seeing occurs from one of two possible problems.

The first problem could be that your DNS (Domain Name Server) information may not being set correctly during dial-up.

Red Hat Linux 6.2 uses wvdial which can determine this for most ISPs, but may have problems with some.

For Red Hat Linux 6.0 and earlier you will need to specify your ISP's DNS servers in your /etc/resolv.conf. Contact your ISP for this information and edit the file to include those settings.

Here's an example:

 search example.com example.com nameserver 198.79.53.11 nameserver 198.79.53.10

Another possible reason for this problem may be that you are expecting action like what might be seen in a Windows environment. When Windows detects that you are looking for something on a network and you have a modem in your system, it will try to start that modem connection. Linux requires you to start the connection manually (most easily done through the Main Menu => Programs => Internet => RH PPP Dialer in the GNOME menu, or by using the much older the X Window System program usernet).

___________________________________________________________

## Boot Hangs During sendmail, httpd, or smb

Question:

I have installed Linux, and it seems to initially start booting. However, it gets down to something called sendmail, httpd, or smb and then the machine seems to hang. What is happening and what should I do?

 127.0.0.1 localhost.localdomain localhost 192.168.200.1 mymachine.mynetwork.net mymachine


text:
# Energy in a wind instrument?

My physics teacher said that he saw a guy playing a very large wind instrument on TV, and the guy apparently calculated that the total energy present in the instrument when he was playing was almost as high as the energy of the atomic bombs dropped in WW2. How is it possible to contain and direct so much energy in the human body without destroying it? This is very hard to believe. Thanks!

-
Agreed that sounds hard to believe. I'm pretty sure that calculation is off by, oh, 10 orders of magnitude or so. –  Chris White Jun 17 '13 at 1:41
Haha i don't know maybe it's true or maybe my teacher didn't understand properly because english is not his first language. –  Ovi Jun 17 '13 at 1:47
And when I asked my teacher about it he said that it does sound like a lot but the guy calculated it, and there is a lot of energy per square meter from that vibration, and apparently it was an very large instrument. He also said that the bomb produced destructive energy, so this was different. –  Ovi Jun 17 '13 at 1:50

The energy produced by the Hiroshima detonation is estimated to be $63\text{ TJ}$ ( $63 \times 10^{12}\text{ Joules}$). Later detonations were much much larger.

If an individual is going to excite the resonances of the wind instrument with that much energy, conservation of energy requires that the same amount of energy must be put into the instrument by the person playing the instrument. Note the following conversion:

$$63 \text{ TJ} \approx 1.5\times 10^{10} \text{ kilocalories}$$

When we refer to food caloric content, we say calorie when we refer to kilocalories. E.g., 1 pound of human fat corresponds to 3600 kilocalories.

In other words, putting 63 TJ of energy into a musical instrument would require burning 4.16 million pounds of fat almost instantaneously.

This seems unlikely, to say the least.

-

format: plain


text:
### Equinox

Epoch of the mean equinox

#### Description:

This attribute is used to qualify those celestial coordinate systems described by a SkyFrame which are notionally based on the ecliptic (the plane of the Earth’ s orbit around the Sun) and/or the Earth’ s equator.

Both of these planes are in motion and their positions are difficult to specify precisely. In practice, therefore, a model ecliptic and/or equator are used instead. These, together with the point on the sky that defines the coordinate origin (the intersection of the two planes termed the " mean equinox" ) move with time according to some model which removes the more rapid fluctuations. The SkyFrame class supports both the FK4 and FK5 models.

The position of a fixed source expressed in any of these coordinate systems will appear to change with time due to movement of the coordinate system itself (rather than motion of the source). Such coordinate systems must therefore be qualified by a moment in time (the " epoch of the mean equinox" or " equinox" for short) which allows the position of the model coordinate system on the sky to be determined. This is the role of the Equinox attribute.

The Equinox attribute is stored as a Modified Julian Date, but when setting or getting its value you may use the same formats as for the Epoch attribute (q.v.).

The default Equinox value is B1950.0 (Besselian) for the old FK4-based coordinate systems (see the System attribute) and J2000.0 (Julian) for all others.

Type:
Floating point.

#### Applicability

##### SkyFrame
All SkyFrames have this attribute.

#### Notes:

• Care must be taken to distinguish the Equinox value, which relates to the definition of a time-dependent coordinate system (based on solar system reference planes which are in motion), from the superficially similar Epoch value. The latter is used to qualify coordinate systems where the positions of sources change with time (or appear to do so) for a variety of other reasons, such as aberration of light caused by the observer’ s motion, etc.

• See the description of the System attribute for details of which qualifying attributes apply to each celestial coordinate system.


text:
MathSciNet bibliographic data MR1143166 46A45 (46A80) Peirats, Vicente; Ruiz, César On \$l\sp p\$$l\sp p$-copies in Musielak-Orlicz sequence spaces. Arch. Math. (Basel) 58 (1992), no. 2, 164–173. Article

For users without a MathSciNet license , Relay Station allows linking from MR numbers in online mathematical literature directly to electronic journals and original articles. Subscribers receive the added value of full MathSciNet reviews.


text:
# Convergent learning algorithms for unknown reward games

Chapman, Archie C. and Leslie, David S. and Rogers, Alex and Jennings, Nicholas R. (2013) Convergent learning algorithms for unknown reward games. SIAM Journal on Control and Optimization, 51 (4). pp. 3154-3180. ISSN 0363-0129

Full text not available from this repository.

## Abstract

In this paper, we address the problem of convergence to Nash equilibria in games with rewards that are initially unknown and must be estimated over time from noisy observations. These games arise in many real-world applications, whenever rewards for actions cannot be prespecified and must be learned online, but standard results in game theory do not consider such settings. For this problem, we derive a multiagent version of $\mathcal{Q}$-learning to estimate the reward functions using novel forms of the $\epsilon$-greedy learning policy. Using these $\mathcal{Q}$-learning schemes to estimate reward functions, we then provide conditions guaranteeing the convergence of adaptive play and the better-reply processes to Nash equilibria in potential games and games with more general forms of acyclicity, and of regret matching to the set of correlated equilibria in generic games. A secondary result is that we prove the strong ergoditicity of stochastic adaptive play and stochastic better-reply processes in the case of vanishing perturbations. Finally, we illustrate the efficacy of the algorithms in a set of randomly generated three-player coordination games and show the practical necessity of our results by demonstrating that violations to the derived learning parameter conditions can cause the algorithms to fail to converge.

Item Type:
Journal Article
Journal or Publication Title:
SIAM Journal on Control and Optimization
Uncontrolled Keywords:
/dk/atira/pure/subjectarea/asjc/2600/2604
Subjects:
Departments:
ID Code:
70680
Deposited By:
Deposited On:
08 Sep 2014 10:46
Refereed?:
Yes
Published?:
Published


text:
1. Theoretical Exercise

Let X be such that

P(X=1) = p = 1-P(X=-1)

Find c does not equal 1 such that E(c^x)=1

2. Originally Posted by taylor1234
Let X be such that

P(X=1) = p = 1-P(X=-1)

Find c does not equal 1 such that E(c^x)=1
By definition, you need to solve $pc + (1 - p)C^{-1} = 1$ for c.

If you need more help, please show all your work and say where you get stuck.


text:
# What's the vector equivalent to Pythons list addition? [1,2]+[3,4]=[1,2,3,4]

 2 What's the best way of appending vectors in sage? I'm after the equivalent of Python list addition [1,2]+[3,4]=[1,2,3,4] asked Dec 10 '10 mandrake 53 ● 1 ● 10

 3 You could define two homomorphisms into the free module of rank len(v1)+len(v2): sage: v1 = vector([1,2]) sage: v2 = vector([3,4]) sage: R = v1.parent(); R Ambient free module of rank 2 over the principal ideal domain Integer Ring sage: F = FreeModule(ZZ,4) sage: F.gens() ((1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)) sage: phi1 = R.hom(F.gens()[0:2]); phi1 Free module morphism defined by the matrix [1 0 0 0] [0 1 0 0] Domain: Ambient free module of rank 2 over the principal ideal domain ... Codomain: Ambient free module of rank 4 over the principal ideal domain ... sage: phi2 = R.hom(F.gens()[2:4]); phi2 Free module morphism defined by the matrix [0 0 1 0] [0 0 0 1] Domain: Ambient free module of rank 2 over the principal ideal domain ... Codomain: Ambient free module of rank 4 over the principal ideal domain ... sage: phi1(v1) + phi2(v2) (1, 2, 3, 4)  Note that this may have some aesthetic appeal, but your vector(v1.list() + v2.list()) is much more direct :) posted Dec 10 '10 niles 3429 ● 5 ● 41 ● 94 http://nilesjohnson.net/ That, I beliveve, I would never have found myself :) Thanks mandrake (Dec 16 '10)
 2 I'll start off with the hugely ugly create lists from vectors, append and create vector again. >>> v1 = vector([1,2]) >>> v2 = vector([3,4]) >>> vector( list(v1) + list(v2) ) (1,2,3,4)  posted Dec 10 '10 mandrake 53 ● 1 ● 10

[hide preview]


text:
Measure (mathematics) explained

In mathematics, the concept of a measure is a generalization and formalization of geometrical measures (length, area, volume) and other common notions, such as mass and probability of events. These seemingly distinct concepts have many similarities and can often be treated together in a single mathematical context. Measures are foundational in probability theory, integration theory, and can be generalized to assume negative values, as with electrical charge. Far-reaching generalizations (such as spectral measures and projection-valued measures) of measure are widely used in quantum physics and physics in general.

The intuition behind this concept dates back to ancient Greece, when Archimedes tried to calculate the area of a circle. But it was not until the late 19th and early 20th centuries that measure theory became a branch of mathematics. The foundations of modern measure theory were laid in the works of Émile Borel, Henri Lebesgue, Nikolai Luzin, Johann Radon, Constantin Carathéodory, and Maurice Fréchet, among others.

Definition

Let

X

be a set and

\Sigma

a

\sigma

-algebra
over

X.

A set function

\mu

from

\Sigma

to the extended real number line is called a measure if it satisfies the following properties:
• Non-negativity: For all

E

in

\Sigma,

we have

\mu(E)\geq0.

• Null empty set:

\mu(\varnothing)=0.

\{Ek

 infty \} k=1
of pairwise disjoint sets in Σ,$\mu\left(\bigcup_^\infty E_k\right)=\sum_^\infty \mu(E_k).$

If at least one set

E

has finite measure, then the requirement that

\mu(\varnothing)=0

is met automatically. Indeed, by countable additivity,$\mu(E)=\mu(E \cup \varnothing) = \mu(E) + \mu(\varnothing),$and therefore

\mu(\varnothing)=0.

If the condition of non-negativity is omitted but the second and third of these conditions are met, and

\mu

takes on at most one of the values

\pminfty,

then

\mu

is called a signed measure.

The pair

(X,\Sigma)

is called a measurable space, and the members of

\Sigma

are called measurable sets.

(X,\Sigma,\mu)

is called a measure space. A probability measure is a measure with total measure one – that is,

\mu(X)=1.

A probability space is a measure space with a probability measure.

For measure spaces that are also topological spaces various compatibility conditions can be placed for the measure and the topology. Most measures met in practice in analysis (and in many cases also in probability theory) are Radon measures. Radon measures have an alternative definition in terms of linear functionals on the locally convex topological vector space of continuous functions with compact support. This approach is taken by Bourbaki (2004) and a number of other sources. For more details, see the article on Radon measures.

Instances

See main article: category. Some important measures are listed here.

\mu(S)

= number of elements in

S.

\R

is a complete translation-invariant measure on a σ-algebra containing the intervals in

\R

such that

\mu([0,1])=1

; and every other measure with these properties extends Lebesgue measure.

S.

The measure of a set is 1 if it contains the point

a

and 0 otherwise.

Other 'named' measures used in various theories include: Borel measure, Jordan measure, ergodic measure, Gaussian measure, Baire measure, Radon measure, Young measure, and Loeb measure. In physics an example of a measure is spatial distribution of mass (see for example, gravity potential), or another non-negative extensive property, conserved (see conservation law for a list of these) or not. Negative values lead to signed measures, see "generalizations" below.

• Liouville measure, known also as the natural volume form on a symplectic manifold, is useful in classical statistical and Hamiltonian mechanics.
• Gibbs measure is widely used in statistical mechanics, often under the name canonical ensemble.

Basic properties

Let

\mu

be a measure.

Monotonicity

If

E1

and

E2

are measurable sets with

E1\subseteqE2

then$\mu(E_1) \leq \mu(E_2).$

Measure of countable unions and intersections

E1,E2,E3,\ldots

of (not necessarily disjoint) measurable sets

En

in

\Sigma:

$\mu\left(\bigcup_^\infty E_i\right) \leq \sum_^\infty \mu(E_i).$

Continuity from below

If

E1,E2,E3,\ldots

are measurable sets that are increasing (meaning that

E1\subseteqE2\subseteqE3\subseteq\ldots

) then the union of the sets

En

is measurable and$\mu\left(\bigcup_^\infty E_i\right) ~=~ \lim_ \mu(E_i) = \sup_ \mu(E_i).$

Continuity from above

If

E1,E2,E3,\ldots

are measurable sets that are decreasing (meaning that

E1\supseteqE2\supseteqE3\supseteq\ldots

) then the intersection of the sets

En

is measurable; furthermore, if at least one of the

En

has finite measure then$\mu\left(\bigcap_^\infty E_i\right) = \lim_ \mu(E_i) = \inf_ \mu(E_i).$

This property is false without the assumption that at least one of the

En

has finite measure. For instance, for each

n\in\N,

let

En=[n,infty)\subseteq\R,

which all have infinite Lebesgue measure, but the intersection is empty.

Other properties

Completeness

See main article: Complete measure.

A measurable set

X

is called a null set if

\mu(X)=0.

A subset of a null set is called a negligible set. A negligible set need not be measurable, but every measurable negligible set is automatically a null set. A measure is called complete if every negligible set is measurable.

A measure can be extended to a complete one by considering the σ-algebra of subsets

Y

which differ by a negligible set from a measurable set

X,

that is, such that the symmetric difference of

X

and

Y

is contained in a null set. One defines

\mu(Y)

to equal

\mu(X).

μ = μ (a.e.)

If

f:X\to[0,+infty]

is

(\Sigma,{\calB}([0,+infty]))

-measurable, then$\mu\ = \mu\$for almost all

t\inX.

This property is used in connection with Lebesgue integral.

Measures are required to be countably additive. However, the condition can be strengthened as follows.For any set

I

and any set of nonnegative

ri,i\inI

define:$\sum_ r_i=\sup\left\lbrace\sum_ r_i : |J|<\aleph_0, J\subseteq I\right\rbrace.$That is, we define the sum of the

ri

to be the supremum of all the sums of finitely many of them.

A measure

\mu

on

\Sigma

is

\kappa

λ<\kappa

and any family of disjoint sets

X\alpha,\alpha<λ

the following hold:$\bigcup_ X_\alpha \in \Sigma$$\mu\left(\bigcup_ X_\alpha\right) = \sum_\mu\left(X_\alpha\right).$Note that the second condition is equivalent to the statement that the ideal of null sets is

\kappa

-complete.

Sigma-finite measures

See main article: Sigma-finite measure.

A measure space

(X,\Sigma,\mu)

is called finite if

\mu(X)

is a finite real number (rather than

infty

). Nonzero finite measures are analogous to probability measures in the sense that any finite measure

\mu

is proportional to the probability measure
 1 \mu(X)

\mu.

A measure

\mu

is called σ-finite if

X

can be decomposed into a countable union of measurable sets of finite measure. Analogously, a set in a measure space is said to have a σ-finite measure if it is a countable union of sets with finite measure.

For example, the real numbers with the standard Lebesgue measure are σ-finite but not finite. Consider the closed intervals

[k,k+1]

for all integers

k;

there are countably many such intervals, each has measure 1, and their union is the entire real line. Alternatively, consider the real numbers with the counting measure, which assigns to each finite set of reals the number of points in the set. This measure space is not σ-finite, because every set with finite measure contains only finitely many points, and it would take uncountably many such sets to cover the entire real line. The σ-finite measure spaces have some very convenient properties; σ-finiteness can be compared in this respect to the Lindelöf property of topological spaces. They can be also thought of as a vague generalization of the idea that a measure space may have 'uncountable measure'.

Strictly localizable measures

See main article: Decomposable measure.

Semifinite measures

Let

X

be a set, let

{\calA}

be a sigma-algebra on

X,

and let

\mu

be a measure on

{\calA}.

We say

\mu

is semifinite to mean that for all

A\in\mupre\{+infty\},

{\cal

 pre(\R P}(A)\cap\mu >0

)\ne\emptyset.

Semifinite measures generalize sigma-finite measures, in such a way that some big theorems of measure theory that hold for sigma-finite but not arbitrary measures can be extended with little modification to hold for semifinite measures. (To-do: add examples of such theorems; cf. the talk page.)

Basic examples

• Every sigma-finite measure is semifinite.
• Assume

{\calA}={\calP}(X),

let

f:X\to[0,+infty],

and assume

\mu(A)=\suma\inf(a)

for all

A\subseteqX.

• We have that

\mu

is sigma-finite if and only if

f(x)<+infty

for all

x\inX

and
 pre(\R f >0

)

is countable. We have that

\mu

is semifinite if and only if

f(x)<+infty

for all

x\inX.

• Taking

f=X x \{1\}

above (so that

\mu

is counting measure on

{\calP}(X)

), we see that counting measure on

{\calP}(X)

is
• sigma-finite if and only if

X

is countable; and
• semifinite (without regard to whether

X

is countable). (Thus, counting measure, on the power set

{\calP}(X)

of an arbitrary uncountable set

X,

gives an example of a semifinite measure that is not sigma-finite.)
• Let

d

be a complete, separable metric on

X,

let

{\calB}

be the Borel sigma-algebra induced by

d,

and let

s\in\R>0.

Then the Hausdorff measure

{\calH}s|{\calB}

is semifinite.
• Let

d

be a complete, separable metric on

X,

let

{\calB}

be the Borel sigma-algebra induced by

d,

and let

s\in\R>0.

Then the packing measure

{\calH}s|{\calB}

is semifinite.

Involved example

The zero measure is sigma-finite and thus semifinite. In addition, the zero measure is clearly less than or equal to

\mu.

It can be shown there is a greatest measure with these two properties:We say the semifinite part of

\mu

to mean the semifinite measure

\musf

defined in the above theorem. We give some nice, explicit formulas, which some authors may take as definition, for the semifinite part:

\musf=(\sup\{\mu(B):B\in{\cal

 pre(\R P}(A)\cap\mu \ge0

)\})A\in{\cal

}.

\musf=(\sup\{\mu(A\cap

 pre(\R B):B\in\mu \ge0

)\})A\in{\cal

}\}.

\musf=\mu|

 pre(\R \mu ) >0

\cup\{A\in{\calA}:\sup\{\mu(B):B\in{\calP}(A)\}=+infty\} x \{+infty\}\cup\{A\in{\calA}:\sup\{\mu(B):B\in{\calP}(A)\}<+infty\} x \{0\}.

Since

\musf

is semifinite, it follows that if

\mu=\musf

then

\mu

is semifinite. It is also evident that if

\mu

is semifinite then

\mu=\musf.

Non-examples

Every

0-infty

measure that is not the zero measure is not semifinite. (Here, we say

0-infty

measure to mean a measure whose range lies in

\{0,+infty\}

:

(\forallA\in{\calA})(\mu(A)\in\{0,+infty\}).

) Below we give examples of

0-infty

measures that are not zero measures.
• Let

X

be nonempty, let

{\calA}

be a

\sigma

-algebra on

X,

let

f:X\to\{0,+infty\}

be not the zero function, and let

\mu=(\sumx\inf(x))A\in{\cal

}. It can be shown that

\mu

is a measure.

\mu=\{(\emptyset,0)\}\cup({\calA}\setminus\{\emptyset\}) x \{+infty\}.

X=\{0\},

{\calA}=\{\emptyset,X\},

\mu=\{(\emptyset,0),(X,+infty)\}.

• Let

X

be uncountable, let

{\calA}

be a

\sigma

-algebra on

X,

let

{\calC}=\{A\in{\calA}:Aiscountable\}

be the countable elements of

{\calA},

and let

\mu={\calC} x \{0\}\cup({\calA}\setminus{\calC}) x \{+infty\}.

It can be shown that

\mu

is a measure.

Involved non-example

We say the

0-infty

part of

\mu

to mean the measure

\mu0-infty

defined in the above theorem. Here is an explicit formula for

\mu0-infty

:

\mu0-infty=(\sup\{\mu(B)-\musf(B):B\in{\cal

 pre(\R P}(A)\cap\mu \ge0

)\})A\in{\cal

}.

Results regarding semifinite measures

• Let

F

be

\R

or

\C,

and let
 1(\mu)\right) T:L F

*:g\mapstoTg=\left(\int

fgd\mu\right)
f\in
 1(\mu) L F

.

Then

\mu

is semifinite if and only if

T

is injective. (This result has import in the study of the dual space of
 1(\mu) L F
.)
• Let

F

be

\R

or

\C,

and let

{\calT}

be the topology of convergence in measure on
 0(\mu). L F
Then

\mu

is semifinite if and only if

{\calT}

is Hausdorff.
• (Johnson) Let

X

be a set, let

{\calA}

be a sigma-algebra on

X,

let

\mu

be a measure on

{\calA},

let

Y

be a set, let

{\calB}

be a sigma-algebra on

Y,

and let

\nu

be a measure on

{\calB}.

If

\mu,\nu

are both not a

0-infty

measure, then both

\mu

and

\nu

are semifinite if and only if

(\mu x cld\nu)

(A x B)=\mu(A)\nu(B)

for all

A\in{\calA}

and

B\in{\calB}.

(Here,

\mu x cld\nu

is the measure defined in Theorem 39.1 in Berberian '65.)

Localizable measures

Localizable measures are a special case of semifinite measures and a generalization of sigma-finite measures.

Let

X

be a set, let

{\calA}

be a sigma-algebra on

X,

and let

\mu

be a measure on

{\calA}.

• Let

F

be

\R

or

\C,

and let

T:

 infty(\mu) L F

\to

 1(\mu)\right) \left(L F

*:g\mapstoTg=\left(\int

fgd\mu\right)
f\in
 1(\mu) L F

.

Then

\mu

is localizable if and only if

T

is bijective (if and only if
 infty(\mu) L F
"is"
 1(\mu) L F

*

).

s-finite measures

See main article: s-finite measure.

A measure is said to be s-finite if it is a countable sum of bounded measures. S-finite measures are more general than sigma-finite ones and have applications in the theory of stochastic processes.

Non-measurable sets

See main article: Non-measurable set.

If the axiom of choice is assumed to be true, it can be proved that not all subsets of Euclidean space are Lebesgue measurable; examples of such sets include the Vitali set, and the non-measurable sets postulated by the Hausdorff paradox and the Banach–Tarski paradox.

Generalizations

For certain purposes, it is useful to have a "measure" whose values are not restricted to the non-negative reals or infinity. For instance, a countably additive set function with values in the (signed) real numbers is called a signed measure, while such a function with values in the complex numbers is called a complex measure. Observe, however, that complex measure is necessarily of finite variation, hence complex measures include finite signed measures but not, for example, the Lebesgue measure.

Measures that take values in Banach spaces have been studied extensively.[1] A measure that takes values in the set of self-adjoint projections on a Hilbert space is called a projection-valued measure; these are used in functional analysis for the spectral theorem. When it is necessary to distinguish the usual measures which take non-negative values from generalizations, the term positive measure is used. Positive measures are closed under conical combination but not general linear combination, while signed measures are the linear closure of positive measures.

Another generalization is the finitely additive measure, also known as a content. This is the same as a measure except that instead of requiring countable additivity we require only finite additivity. Historically, this definition was used first. It turns out that in general, finitely additive measures are connected with notions such as Banach limits, the dual of

and the Stone–Čech compactification. All these are linked in one way or another to the axiom of choice. Contents remain useful in certain technical problems in geometric measure theory; this is the theory of Banach measures.

A charge is a generalization in both directions: it is a finitely additive, signed measure.[2] (Cf. ba space for information about bounded charges, where we say a charge is bounded to mean its range its a bounded subset of R.)

Bibliography

• Robert G. Bartle (1995) The Elements of Integration and Lebesgue Measure, Wiley Interscience.
• Book: Berberian . Sterling K . Measure and Integration . 1965 . MacMillan.
• Chapter III.
• R. M. Dudley, 2002. Real Analysis and Probability. Cambridge University Press.
• Book: Edgar . Gerald A . Integral, Probability, and Fractal Measures . 1998 . Springer . 978-1-4419-3112-2.
• Book: Folland . Gerald B . Real Analysis: Modern Techniques and Their Applications . 1999 . Wiley . 0-471-31716-0 . Second.
• Federer, Herbert. Geometric measure theory. Die Grundlehren der mathematischen Wissenschaften, Band 153 Springer-Verlag New York Inc., New York 1969 xiv+676 pp.
• Book: Fremlin . D.H. . Measure Theory, Volume 2: Broad Foundations . 2016 . Torres Fremlin . Hardback. Second printing.
• Book: Hewitt . Edward . Stromberg . Karl . Real and Abstract Analysis: A Modern Treatment of the Theory of Functions of a Real Variable . 1965 . Springer . 0-387-90138-8.
• R. Duncan Luce and Louis Narens (1987). "measurement, theory of," The , v. 3, pp. 428–32.
• Luther . Norman Y . A decomposition of measures . Canadian Journal of Mathematics . 1967 . 20 . 953-959 . 10.4153/CJM-1968-092-0 .
• Book: Mukherjea . A . Pothoven . K . Real and Functional Analysis, Part A: Real Analysis . 1985 . Plenum Press . Second .
• The first edition was published with Part B: Functional Analysis as a single volume: Book: Mukherjea . A . Pothoven . K . Real and Functional Analysis . 1978 . Plenum Press . First .
• M. E. Munroe, 1953. Introduction to Measure and Integration. Addison Wesley.
• Book: Nielsen . Ole A . An Introduction to Integration and Measure Theory . 1997 . Wiley . 0-471-59518-7.
• Book: Royden . H.L. . Fitzpatrick . P.M. . Halsey Royden . Real Analysis . 2010 . Prentice Hall . 342, Exercise 17.8 . Fourth. First printing. Note that there is a later (2017) second printing. Though usually there is little difference between the first and subsequent printings, in this case the second printing not only deletes from page 53 the Exercises 36, 40, 41, and 42 of Chapter 2 but also offers a (slightly, but still substantially) different presentation of part (ii) of Exercise 17.8. (The second printing's presentation of part (ii) of Exercise 17.8 (on the Luther decomposition) agrees with usual presentations, whereas the first printing's presentation provides a fresh perspective.)
• Shilov, G. E., and Gurevich, B. L., 1978. Integral, Measure, and Derivative: A Unified Approach, Richard A. Silverman, trans. Dover Publications. . Emphasizes the Daniell integral.
• Book: Tao. Terence. Terence Tao. An Introduction to Measure Theory. 2011. American Mathematical Society. Providence, R.I.. 9780821869192.
• Book: Weaver. Nik. Measure Theory and Functional Analysis. 2013. World Scientific. 9789814508568.


text:
# For more humane computing

sirherrbatka blog

# Classes are not interactions!

Some time ago on #lisp at freenode phoe asked interesting design question. So interesting in fact, that I decided that It deserves a post on a blog as it highlights why multimethods are such a good idea.

Let's consider the following: we want to design a message passing system, and we want to use a clean table approach. That is, we will do this from scratch, avoiding mimicking existing solutions in hope that this can result in an overall better design.

In our system messages are passed asynchronously, and they either succeed (in one way or another) or fail (again, in multiple ways). We would like to keep it extendable and structured, so it is general enough to be reusable and would be easy on our little, soft brains.

This is clearly nothing new. Writing programs that are easy for a human to work with is a lot harder than simply writing programs that will just run on a machine. Generations of programmers tackled this issue and each had their own sets of solutions. I would not dare to say that I have the definite answer, but I think we can agree upon general guidelines:

1. Given that functionality of the system remains the same, fewer elements is better than more elements.
2. Simpler elements are in general better than complex elements.
3. State of elements should be easy to inspect and manage. If immutability does not complicate the overall design, it is probably a good idea.

It is worth noting that none of those rules dictates a distinctive technical choice, but it will help to judge system that we are coming up with it purely on how easy to understand it is.

Let's get back to our message passing system. To start we will first consider something basic, like sending a message. But now, how we will handle the response? It is not merely the question of how we will obtain the result, but also, how we will tie it with the rest of the system. It is possible for instance to pass callback along with the message itself, but that only solves issues with asynchronous nature of the system. We still need to dispatch logic of the response.

(let* ((message (obtain-message))
(response-handler (lambda (response) ; async, therefore callback
(do-stuff response))))
(send-message message response-handler))

;; alternativly, we can do this slightly differently...

(let* ((message (obtain-message))
(response (send-message message)) ; non blocking
(response-handler (lambda ()
(do-stuff response))))
;; this approach may be slightly more natural.
;; Response is now more like a future, so it should have force function.
(attach-on-response response response-handler))

Implementing large CASE form in the do-stuff function is clearly not the greatest idea.

Phoe stumbled upon the same issue. What he imagined is API that will return an object that will contain everything needed to fully handle changes in the system. It is not a bad idea. It should be easy to debug, easier even to understand. There are multiple ways to achieve this though.

Initial idea from phoe was to have a separate response class for each request class. The response would be returned just after calling send, and then it would be possible to call a blocking generic function handle. Concrete implementation of handle function will perform any changes needed in the system.

(defgeneric handle (response extra-context))

(defgeneric make-response (message status))

(defclass fundamental-message ()
())

(defclass fundamental-response ()
((%data :initarg :data

(defclass hello-message (fundamental-message)
((%target :initarg :target

(defclass success-hello (fundamental-response)
())

(defclass error-hello (fundamental-response)
())

(defmethod make-response ((message hello-message) status)
(check-type status list)
(let* ((response-type (first status))
(response-data (rest status)))
(case response-type
(:success (make-instance 'success-hello :data response-data))
(:error (make-instance 'error-hello :data response-data)))))

(defmethod handle ((response success-hello) extra-context)
(format extra-context "~a~%" "Sending hello message worked."))

(defmethod handle ((response error-hello) extra-context)
(format extra-context "~a~%" "Sending hello message failed."))

(let* ((message (make-instance 'hello-message :target 'world))
(response-handler (lambda (response) (handle response t))))
(send-message message response-handler) ; non blocking
;; I miss response-as-future approach :(
)

The issue here is that we would have to define not just each message class but also separate response classes. In the example above I defined just two, and then got bored. Also, we are back to the callbacks approach.

But here is the main point: interactions should not be represented as classes. At least not always in Common Lisp. Instead, they can be functions. Multimethods to be exact. To demonstrate, let's consider make-response function first.

(defgeneric make-response-with-type-and-data (message response-type response-data))

(defmethod make-response ((message fundamental-message) status)
(check-type status list)
(let* ((response-type (first status))
(response-data (rest status)))
(make-response-with-type-and-data message response-type response-data)))

(defmethod make-response-with-type-and-data ((message hello-message)
(type (eql :error))
data)
(make-instance 'error-hello :data data))

(defmethod make-response-with-type-and-data ((message hello-message)
(type (eql :success))
data)
(make-instance 'success-hello :data data))

It becomes quite clear that We don't have to create a separate response class for every possible request, though. We will create just one, containing both the message and a response. In the handle function we will wait for the response to arrive, and this time we will delegate any further processing to yet another function called handle-with-message-and-response. Burden of implementing this function is consequently moved to the higher level code. A complete demonstration of this approach can be seen below.

(defgeneric handle (response extra-context))

(defgeneric fill-response (response data))

(defgeneric handle-with-message-and-response (message response-type
response-data extra-context))

(defgeneric attach-to-response (response callback))

(defclass fundamental-message ()
())

(defclass response ()
((%message :initarg :message
(%response-type :initarg :response-type
:initform nil
:accessor response-type)
(%response-data :initarg :response-data
:initform nil
:accessor response-data)
(%lock :initform (bt:make-lock)
:documentation "For synchronization."
(%condition-variable :initform (bt:make-condition-variable)
:documentation "For synchronization."
(%callbacks-list :initform nil
:initarg :callbacks-list
:accessor callbacks-list)))

(defmethod fill-response ((response response) data)
(check-type data list)
(let ((response-type (first data))
(response-data (rest data)))
(assert (null (eql response-type nil)))
(bt:with-lock-held ((lock response))
(assert (null (response-type response)))
(setf (response-type response) response-type
(response-data response) response-data)
(map nil (lambda (x) (funcall x response))
(callbacks-list response))
(bt:condition-notify (condition-variable response)))
response))

(defmethod attach-to-response ((response response) callback)
(alexandria:ensure-functionf callback)
(let ((is-not-filled t))
(bt:with-lock-held ((lock response))
(let ((response-type (response-type response)))
(push callback (callbacks-list response))
(setf is-not-filled (null response-type))))
(unless is-not-filled
(funcall callback response)))
response)

(defmethod handle ((response response) extra-context)
(bt:with-lock-held ((lock response))
(when (null (response-type response))
(bt:condition-wait (condition-variable response)
(lock response)))
(handle-with-message-and-response (message response)
(response-type response)
(response-data response)
extra-context)))

#|
The actual application logic is reduced to just pure essentials.
|#

(defclass hello-message (fundamental-message)
((%target :initarg :target

(defmethod handle-with-message-and-response ((message hello-message)
(type (eql :error))
data
extra-context)
(format extra-context
"Saying hello to ~a failed :("
(target message)))

(defmethod handle-with-message-and-response ((message hello-message)
(type (eql :success))
data
extra-context)
(format extra-context
"Saying hello to ~a :)"
(target message)))

(let* ((message (make-instance 'hello-message :target 'world))
(response (send-message message))) ; non blocking
(handle response t)
;; or if we still want to use callbacks we can...
;; (attach-to-response response
;;                     (lambda (response)
;;                       (handle response t)))
)

This burden is light though. There is no boiler plate code at all!

We did not sacrifice anything. According to the rules we have outlined, our design is sound. However what is appealing to me on a more aesthetic level is how "alive" system seems to be. Instead of pulling wires, we let parts interact and magic to happen. It makes things more... fun.


text:
# Why is angular momentum defined as $\mathbf r \times \mathbf p$ and not as $\mathbf p \times \mathbf r$?

Why is angular momentum defined as $\vec{r} \times \vec p$ and not as $\vec p \times \vec r$ ?

• A matter of convention. Since this vector product is antisymmetric the two definitions differ only by an overall minus sign. – Alpha001 Feb 20 '17 at 8:25
• Because most of us are right handed. So, we're going to define angular momentum such that if a particle moves in the direction of your curved right hand fingers, the angular momentum will point in the direction of your thumb. – Count Iblis Feb 20 '17 at 8:29

Because you need to choose a convention: it doesn't matter which one, but you need to choose one of the two signs, or you're just unable to move. Ultimately, this is a choice of handedness: in the usual convention, if you use your right-hand fingers to curl with the rotational motion, your thumb points along $\vec L$. There's no specific reason to choose the right hand, and you could equally well use the left hand, but we need to choose one convention so we all speak the same language.

The alternative you propose would multiply all angular momenta by $-1$. There's no physical reason we can't do that.

One advantage to the usual definition is that $\mathbf{r},\,\mathbf{p},\,\mathbf{L}$ form a right-handed coordinate system for radial forces, since then $\mathbf{L}$ is conserved and the motion is planar, viz.$$\mathbf{r}=r\hat{\mathbf{r}},\,\mathbf{p}=m\dot{r}\hat{\mathbf{r}}+r\dot{\theta}\hat{\boldsymbol{\theta}},\,\mathbf{L}=mr^2\dot{\theta}\hat{\mathbf{k}}.$$

In general $\dot{\mathbf{L}}=\mathbf{r}\times\mathbf{F}+\mathbf{v}\times\mathbf{p}$; the last term vanishes since it's a cross-product of parallel vectors, so $\dot{\mathbf{L}}=\mathbf{r}\times\mathbf{F}$ is the usual definition of a moment. Note that if we adopted your proposed alternative convention it would also make sense to "reverse" the moment definition, so that the total moment still gives the rate of change of angular momentum.

• ... but why choose $\mathbf L$ such that $(\mathbf r,\mathbf p,\mathbf L)$ is a right-handed triad instead of a left-handed one? That's just hiding the core of the question underneath even more terminology. – Emilio Pisanty Feb 20 '17 at 8:40
• @EmilioPisanty Because we want our polar coordinates to also be right-handed. Right-handed bases of 3D vector spaces are typically preferred in physics, but again it's just a convention. – J.G. Feb 20 '17 at 8:42
• Precisely: because convention. There's no other reason. Insisting on "stuff being right-handed" doesn't work, either: you could equally well demand that $(\mathbf p,\mathbf r,\mathbf L)$ be a right-handed triad, and it would sound just as reasonable. – Emilio Pisanty Feb 20 '17 at 8:51
• @EmilioPisanty You could, but the reason we care more about the $\left(\mathbf{r},\,\mathbf{p},\,\mathbf{L}\right)$ order is that we start with position, then we differentiate it, then we take a cross product whose conservation constrains to a plane the first two vectors, whose order is chosen so each of the three vectors introduces one new polar coordinate. It would be an odd convention to take a basis vector parallel to $\mathbf{p}$ for $\dot{r}\ne 0$. – J.G. Feb 20 '17 at 9:44
• 1. The OP is not proposing an alternative, just asking why one option is used rather than another. 2. I suspect the math is over the OP's head. May suit others though. – sammy gerbil Feb 20 '17 at 18:52


text:
# Why should an algebraic geometer care about singular / simplicial (co)homology?

I am a PhD student in algebraic / arithmetic geometry and I never took a formal course in algebraic topology, even though I have some basic knowledge.

In algebraic geometry we deal exclusively with sheaf cohomology since we care about non-constant sheaves. But I feel, maybe in my naivety, that a lot of the important results (for usual topological spaces) are only true for singular and simplicial cohomology when they coincide with sheaf cohomology (Alexander duality and "$$H^i=0$$ for $$i>$$ the covering dimension" come to mind).

With that in mind, I wonder if it is worth for someone with a similar background to study the details of a first course in algebraic topology. (Perhaps on the level of Hatcher's book.) Do I lose something by just thinking in terms of sheaf cohomology?

• Even as an algebraic geometer you will often care about constant sheaves, and then you will be happy about the fact there exist comparison theorems between say etale and singular cohomology. In many cases this gives you means if computing cohomology of spaces from AG using tools from AT. – Wojowu Jul 12 at 12:02
• One very specific example I have in mind is computation of (co)homology using CW complex decomposition. It is very easy to write down such a structure for the complex projective $n$-space. I believe you can do something similar for Grassmannians. So it's not really pieces of general theory that we miss but the ability to do some specific calculations. – Wojowu Jul 12 at 13:57
• I'm surprised no one has mentioned this yet but if you're an arithmetic geometer, it seems like the main advantage to being familiar with AT is because of etale cohomology. Many of the theorems/results one encounters in singular cohomology e.g. excision, the existence of cycle class maps, Lefschetz hyperplane theorems, Poincare duality, etc have their counterparts in etale cohomology, but the proofs are infinitely harder. To me that by itself is already justification to learn AT: You get to see how these things are proven in an easier context. – David Benjamin Lim Jul 12 at 14:41
• @Asvin I believe there is no known algebraic proof of that fact, actually! – Raju Jul 12 at 20:19
• I remember talking to a grad student in Bonn years ago. I was explaining something on the board, and it involved me writing down the cohomology of $S^1$. They exclaimed: "I haven't seen that computation before, but it looks like the étale cohomology of the multiplicative group"! – Geordie Williamson Jul 12 at 21:58

Sheaf cohomology is a powerful tool, but it isn't a replacement for all of basic algebraic topology. For example, fundamental groups and homology some topics that would get lost. And these topics are certainly relevant to algebraic geometry. Also, as pointed out in the comments, you would lose valuable intuition if you just stuck to the sheaf cohomology viewpoint.

Let me expand my original answer a bit. Let me focus on the simplest example, where $$X$$ is a smooth complex projective curve of genus $$g$$. One learns in topology that $$X$$ is obtained by identifying the sides of a $$2g$$-gon in the standard way. One can use this to extract 2 things about $$X$$.

1. One gets the homology $$H_1(X,\mathbb{Z})=\mathbb{Z}^{2g}$$, with its intersection pairing equal to the standard symplectic form. For an algebraic geometer, this corresponds to the lattice of the Jacobian of $$X$$ together with its Riemann form. In particular, this is a principal polarization.

2. Also one gets the familiar presentation of the fundamental group $$\pi_1(X)= \langle a_1\ldots a_{2g}\mid [a_1,a_2]\ldots[a_{2g-1}, a_{2g}]\rangle$$ But why should an algebraic geometer care about this? Answer: because it tells us what etale covers of $$X$$ look like. The etale fundamental group of $$X$$ is the profinite completion of the above group. This is also true for the prime to $$p$$ part if $$X$$ lives in positive characteristic by lifting. Note that Grothendieck uses this reduction to the topological case in SGA1.

• @DonuArapura, of course I am wrong here, but the intuition I have is that (while more intuitive) homology is just a weaker invariant than cohomology. And the "topological fundamental group" doesn't work well in AG anyway. So if you could explain this a little further, that would be great :) – Gabriel Jul 12 at 12:39
• Thank you for spelling out some specific examples. – Wojowu Jul 12 at 13:59
• @Gabriel Your intuition is exactly the opposite of the truth: homology is a finer invariant of cohomology (assuming you endow both of them with all their structure - it's not fair to give the product in cohomology but not the coproduct in homology!) – Denis Nardin Jul 12 at 14:35
• DonuArapura, those are two examples that hit particularly close to the heart. Thank you! Also, @DenisNardin, I absolutely didn't imagine that. Very cool! – Gabriel Jul 12 at 14:42
• @Z.M You are right, under finiteness hypothesis they are the same data – Denis Nardin Jul 13 at 6:32

I am an algebraic / arithmetic geometer. I never took a formal course in algebraic topology, but I picked up bits and pieces in various places. I know I looked at Hatcher's book in grad school, but I don't think very much, and I certainly didn't study it systematically.

In my opinion, it would certainly be helpful to know enough about singular cohomology that, if you see a result you need about cohomology written by topologists in the language of singular cohomology, you are not totally lost, and can see if it is relevant for a problem you care about.

For me this involves knowing most of the definitions and some simple arguments, but not knowing the hard proofs. But my approach to a lot of fields involves learning the definitions and intuitions and skipping the hardest proofs, and this might not work as well for everyone.

The same thing, by the way, is true for de Rham cohomology - understanding it to the point that you have some intuition for why it works, can compute some examples, and will likely get what it means if someone expresses a mathematical statement in its language, will almost certainly come in handy, but you don't need to know everything about it.

• Nice point about de Rham cohomology - though the OP doesn't talk about it explicitly, I think a same argument could go for it. And yet de Rham cohomology is fairly important to know something about, for instance because of the algebraic de Rham cohomology or Hodge theory. – Wojowu Jul 12 at 14:01
• Perhaps we could say that the de Rham cohomology is really $H^i(X,\Omega^\bullet_X)$ but we're lucky when studying smooth manifolds because then the existence of partitions of unity implies that the $\Omega_X^i$ are soft, hence acyclic, hence we can calculate the cohomology as $H^i(\Gamma(X,\Omega_X^\bullet))$, which is its usual definition. (And which doesn't work for algebraic de Rham cohomology.) That being said, I understand how knowing the simpler definitions can be of great aid intuition-wise and for talking with other people / reading articles of other fields. – Gabriel Jul 12 at 14:40
• @Gabriel The question is entirely whether you are sufficiently comfortable with these slightly-roundabout routes to be able to do the same fundamental computations that people can do the direct way. If you can use de Rham cohomology to calculate the cohomology of a torus, and use a series of excisions together with the Bruhat decomposition to calculate the cohomology of a Grassmanian, you're in good shape in my opinion. – Will Sawin Jul 12 at 18:08
• I guess that it is not easy to recover the torsion data from the de Rham cohomology (various versions of étale comparison)? – Z. M Jul 12 at 20:18
• @Z.M Correct, I don't know any way to recover torsion data from de Rham cohomology. If you're interested in torsion, you can use de Rham for intuition sometimes, but you want to use another method. – Will Sawin Jul 12 at 20:21

The very advantage of algebraic topology over algebraic geometry is the existence of a segment. From a segment it's easy to construct triangles, tetrahedra, and simplices in general. There are at least three reasons why you could enjoy simplicial stuff.

Firstly, if you end up doing complex geometry, comparison theorems allow you to compute more easily the cohomology of the space. I have seen you asked: what you can do with simplicial cohomology that you can't do with sheaf cohomology? Well, if you are lucky enough, you can find a (finite) CW decomposition of the (compactified) space you are studying. If you are not comfortable with these words, just think about triangulating a surface. From algebraic topology tools you then have an explicit finite dimensional complex that compute the cohomology, that in degree n is spanned by the free group of n-dimensional cells. A very easy consequence in the "triangulating a surface" example is that you can compute the genus by just knowing how many faces, segments and points you used. You will never have something like that in algebraic geometry, because you don't have cells! Another example: the cohomology of the (real or complex) projective space is really easy from this viewpoint, but the computations with Cech cohomology in algebraic geometry takes a few pages (the one I have seen on Hartshorne, at least).

Secondly, if you ever want to do some infinity category stuff, that is entering the algebraic geometry side of Lurie, you definitely want to learn infinity categories. While a category is intuitively made of points and directed segments, an infinity category contains all the superior cells that encode "higher deformations". In other words, an infinity category is a particular kind of space. This is the part I enjoy the most, because I believe my way of thinking about geometry has deeply changed since I have learnt this stuff. Personal taste, anyway.

At last, there is another instance of simplicial being the higher notion of an ordinary concept. The keyword is "derived" stuff. Take for example the Verdier duality: the compact support transport functor has not generally a right adjoint in the category of sheaves. That's why you have to move to the derived category of chain complexes of sheaves. We then see a chain complex as a "deformation" of the original abelian object. Maybe you know from the Cold Kan correspondence that in many cases the (positively graded) chain complexes of abelian objects correspond to simplicial such objects. Instead of having just one d, you have different $$d_i$$'s, which do not commute between them. I feel that such simplicial identities are the non commutative generalizations of $$d^2 =0$$.

This suggests that when working with a non abelian category, the right "derived" generalization of objects in a category $$C$$ are simplicial objects with values in $$C$$. That's why one talks about simplicial rings, simplicial schemes, simplicial sheaves... There is a whole field called derived algebraic geometry that makes substantial use of such generalizations. If I am not wrong, the first time I have seen the definition of a stack was in a similar context, even if I don't remember the details since now I have a more hands-on definition. You can look up Vezzosi and Calaque. Such techniques allow to address some very delicate problems (which I rarely understood, unluckily).

• Dear @AndreaMarino, what exactly do you mean by "the existence of a segment" in algebraic geometry? – Gabriel Jul 12 at 14:30
• Sorry, I used a bad phrasing. I mean that in algebraic topology there is an object that models $[0, 1]$, a segment between two points. There is no such thing in algebraic topology: you can only model lines. Do you agree with this statement? This is the principal failure of not having cell decompositions in AG. – Andrea Marino Jul 12 at 19:14
• In analytic geometry (either complex or $p$-adic), one has unit polydisks. – Z. M Jul 12 at 20:11
• Isn't that because in such fields you can use inequalities, which does not make sense in general fields? I am not an expert though – Andrea Marino Jul 12 at 21:18
• @AndreaMarino I get it now! Thank you :) – Gabriel Jul 13 at 7:02

The most basic examples in algebraic geometry are algebraic curves. Of these, the simplest are the smooth irreducible complex algebraic curves, which correspond to compact Riemann surfaces. Understanding extremely basic results like the Riemann-Hurwitz formula requires one to understand the algebraic topology of surfaces, including classification by genus and the formula for genus in terms of a CW decomposition.

If you are going to have any chance of understanding sheaf cohomology, you should understand the proof of Riemann-Roch for complex algebraic curves. In preparation, besides knowing this rudimentary algebraic topology you should also know some complex analysis (of one variable at least), and complex de Rham cohomology. However, if you really want to understand it, the original home of sheaf cohomology is several complex variables, and especially Cartan's theorems A and B. How can you understand what a quasi-coherent sheaf is if you do not know what it is defined by analogy with?

I would suggest reading Rick Miranda's "Algebraic Curves and Riemann Surfaces", and then "Principles of Algebraic Geometry" by Griffiths and Harris. This is where the geometric intuition comes from for other "less geometric" parts of Algebraic Geometry. Maybe you can develop your own intuitions without understanding this material, but for me it would be impossible.

I'm turning my comment above into an answer, as I realized there was more that I wanted.

IMO, if you're an arithmetic geometer the main motivation for learning singular cohomology is that it is intimately related to etale cohomology, in the sense that both of these are the simplest examples of a Weil cohomology theory. I won't recall all the axioms but state the first two (at least as defined in the wikipedia article here):

Let $$k$$ be a field, $$X/k$$ a smooth projective variety of dimension $$d$$, and a $$K$$ a coefficient field of characteristic zero (for singular you often take $$K = \mathbf{C}$$ while for etale you take $$K = \mathbf{Q}_\ell$$)

1. $$H^i(X)$$ is finite dimensional.
2. $$H^i(X)$$ is zero for $$i < 0$$ and $$i > 2d$$.

In the topological setting, each of these is somewhat straightforward to prove because $$X(\mathbf{C})$$ has the structure of a real $$2d$$-dimensional CW-complex: One deduces (1) and (2) from the corresponding simplicial cochain complex that computes the cohomology of $$X(\mathbf{C})$$.

On the other hand in the etale setting these are not trivial to prove at all. For instance, the vanishing beyond degree $$2d$$ is a result of Artin for varieties over a separably closed field. To prove this result you need to fiber $$X$$ in curves to reduce to the case of a curve, and even then (may I say) the result is not trivial: Grothendieck was confused for a long time on how to compute the etale cohomology of curves!

As you keep going down the list of axioms for a Weil cohomology theory, you realize immediately that the corresponding statements in singular cohomology are much easier to prove. This alone should be enough to motivate you to care about singular cohomology.

Why is it important to realize that etale cohomology is a Weil cohomology theory? Well if you're an arithmetic geometer (with high probability) you will care about the Weil conjectures. The first two statements - rationality of zeta and the functional equation - pop out immediately as a consequence of the axioms of a cohomology theory. For instance, rationality is a consequence of the finite dimensionality of cohomology and the Lefschetz trace formula, while rationality from Poincare duality.


text:
## \begin{here} % getting started

Douglas Waud and Tim Null

Abstract

This is the first in a series of columns designed for the beginner or non-expert TeX or LaTeX user. This first column is divided into two main parts: the installation of TeX on your computer, and creating a simple LaTeX document. The installation section gives an overview of installing TeX on a computer system, and provides a list of detailed resources for installation on different computers and operating systems. The section on creating a sample LaTeX document shows the basic elements of a LaTeX source file and guides the reader step-by-step in creating a document.

Douglas Waud is Professor Emeritus at the Department of Pharmacology, University of Massachusetts Medical School. Contact Doug at

Tim Null is a freelance LaTeX consultant providing a full range of services including production management, copy editing, math formatting, and digital artwork preparation. He is also a member of The PracTeX Journal Editorial Board. Contact Tim at

Page generated June 9, 2010 ; TUG home page; search; contact webmaster.


text:
# What does it mean that $X_T$ is a solution to a Brownian Motion driven SDE ($dX_t = …$)?

Please consider the $$X_t = X_0 + \int^t_of(X_s,s)ds+\int^t_og(X_s,s)dB_s$$ where $$B_t$$ is Brownian Motion. This can also be expressed as: $$dX_t=f()dt+g()dB_t$$ What does it mean that $$X_T$$ is a solution to the above stochastic differential equation?

I can't seem to intuitive explain this. The way I will put it is:

For a given Brownian motion realization it $$X_T$$ is a solution to the SDE above.. Is this correct or is there more it?

There's actually two definitions of solution to SDE. Strong and weak.

Strong solution. Given a probability space $$(\Omega, \mathcal F, \mathcal F_t,P)$$ and a Brownian motion $$B(t)$$ on that space adapted to $$\mathcal F_t$$, a solution to $$dX=fdt+g~dB(t)$$ with initial condition $$x\in \mathbb R$$ is a continuous process adapted to $$\mathcal F_t$$ such that $$X(t)=x+\int_0^t fdt+\int_0^t g~dB(t)$$.

There is also

Weak solution. A process $$X(t)$$ is called a weak solution to $$dX=fdt+g~dB(t)$$ if there exists a probability space $$(\Omega, \mathcal F, \mathcal F_t,P)$$ and a Brownian motion $$B(t)$$ on that space adapted to $$\mathcal F_t$$ such that $$X(t)=x+\int_0^t fdt+\int_0^t g~dB(t)$$.

Note that strong solution implies weak solution.

As an example of something that has weak but not strong solution, consider Tanaka's equation

$$dX(t)=\text{sign}(X(t))dB(t)$$

It can be shown that this has no strong solution by considering local times. However let $$X(t)$$ be a Brownian motion and then $$X(t)$$ is a weak solution. Note that $$\int_0^t\text{sign}^2(s)ds=t<\infty$$ so the Ito integral $$\int_0^t\frac{1}{\text{sign}(s)}dX(s)=\int_0^t \text{sign}(s) dX(s)$$ exists. Noting that the quadratic variation of this integral is $$t$$, and Ito integrals are continuous martingales, so we know $$\int_0^t\frac{1}{\text{sign}(s)}dX(s)=\tilde{B}(t)$$ is a Brownian motion.

Thus, $$dX(t)=\text{sign}(t)d\tilde{B}(t)$$.

The difference here is that the Brownian motion is constructed in terms of our solution not the other way around.