text:
# Software requirements

• JDK 8 is needed. We support AdoptOpenJDK 8 as well. In the case of AdoptOpenJDK libfontconfig package must be included.
• Oracle 11gR2, 12cR1, and 12cR2 (but multitenant not supported)
• KNOWN ISSUE

JChem Oracle Cartridge doesn't work on Oracle databases (11gR2,12cR1,12cR2) patched with OJVM_UPDATE_171018 (2017 Oct).

• Oracle Express Edition is not supported.

# Before you begin

Before you begin installing JChem Cartridge, read the Introduction and the High Level Overview of the JChem Cartridge architecture.

If you encounter any problem during installation, do not hesitate to post an enquiry on our technical support forum or contact our technical support for assistance.

# Installation of JChem Cartridge for Oracle

## Installing JChem Oracle Cartridge (without RAC)

Deprecation notice: install-interact.sh and install-interact.bat have been deprecated in favor of install.sh and install.bat

1. Enable JVM for the Oracle database Make sure that your Oracle database is JVM-enabled and properly configured to use Java Stored Procedures. A database created with default settings typically meets this requirement. (If in doubt, read the sections Initializing a Java-Enabled Database and Configuring Oracle JVM in the chapter Java Installation and Configuration of your Oracle version's Java Developer's Guide.)
2. Set the JAVA_HOME environment variable Set the environment variable JAVA_HOME to the home directory of a Oracle Java Development Kit version 1.6 or newer.
3. Download the installation package Download the JChem Cartridge installation package and unpack into a permanent location (such as /opt/chemaxon/jchem-cartridge on Unix/Linux or C:\ChemAxon\JChem-Cartridge on Windows), because its files will not be used exclusively during the installation process of JChem Cartridge, but they will also back the operation of the JChem Cartridge server (associated with the JChem Cartridge instance to be installed). The location of the uncompressed package will be the location of the JChem Server.
4. (Advanced use) Have your DBA set up schema and role For Data Vault users and for organizations where the roles of the DBA and the application administrator are strictly separated. Some of the installation steps which are executed by the JChem Cartridge installation application by default, may need to be executed manually.
1. Some steps of the installation require elevated (DBA) privileges. In organizations where the function of the Application Administrator and Database Administrator is separated, DBA privileges may not be available during installation. In such cases, the JChem Cartridge owner and a basic JChem Cartridge user role has to be set up by the DBA prior the installation. The commands requiring elevated privileges can be listed by executing

[/opt/chemaxon/jchem/cartridge]$config-util.sh list-dba-sqls [options] on Unix or C:\chemaxon\jchem\cartridge> config-util.bat list-dba-sqls [options] on Windows. Installation Guide - Example Here you find an example of the installation steps to be executed when the roles of the DBA and the application administrator are strictly separated. 2. You may want to have more control over the creation of the JChem Cartridge owner's schema than is provided by the installation application — for example, you want to assign a specific default table space to the JChem Cartridge owner. In such cases, the JChem Cartridge owner has to be created in advance. The JChem Cartridge installer application will look for an empty JChem Cartridge Owner's schema with the appropriate privileges. If found, it will use this schema, otherwise it will create and configure a new schema. The SQL statements needed to grant the required privileges to the JChem Cartirdge owner can be listed by executing [/opt/chemaxon/jchem/cartridge]$ config-util.sh list-sqls-for-jcc-owner-privs [options]

on Unix or

C:\chemaxon\jchem\cartridge> config-util.bat list-sqls-for-jcc-owner-privs [options]

on Windows. The config-util program accepts the following options for both listing commands:

--jcc-owner <jchem-owner>
--jchem-server-host <jchem-server-host>
--jchem-server-port <jchem-server-port>
--oracle-version <target-db-major-version>.<target-db-minor-version>

The options which are not specified on the command line will be prompted for interactively.

5. Copy license file(s) to the machine that will be used as JChem Server After the installation of JChem Cartridge is completed, the license file(s) should be copied into a dedicated directory.
6. Collect information to be prepared to answer the questions that will be asked during the next installation process You will be asked for the
1. Oracle host name and port;
2. Oracle database name;
3. Host name, port, and maximum allocated memory of the JChem Server. Note : localhost as host name can only be applied if Oracle JChem Cartridge and JChem Server will be located on the same host.
5. Name and password of the Cartridge owner;
6. Name of the role for basic JChem Cartridge user privileges (optional);
7. Name for JChemServer as an operating system service (optional).

### Installation

The following steps have to be performed on the host where the JChem Cartridge server will be running:

1. Start a command interpreter Start the command interpreter available on your platform (console/terminal on Unix/Linux, Command Prompt on Windows) and make the cartridge directory your current working directory. Windows users should note that creating a Windows Service requires Administrator (or equivalent) privileges; therefore, they will need a Command Prompt with Administrator privileges. Note also that with recent Windows Servers, the Command Prompt program started by Administrators will not be running with full Administrator privileges by default.
2. Start the installer Start the install.sh shell script or install.bat batch file.
3. Provide the input requested by the script
1. If you answer a prompt for a property with a question mark (?), a more detailed description of the property will be displayed.
2. The connection to the database can be given mutiple ways.
1. If you choose Sid connection type, you will be asked for host, port and Oracle sid to identify the connection.
2. If you choose Service name connection type, you will be asked for host, port and the service name to identify the connection.
3. If you choose Url connection type, you can enter the whole connection string of the connection.
3. When prompted for the DBA login, enter an exclamation mark (!), if you don't want the installer program to use DBA account. See this pre-installation task for steps required before installation in such cases. Installation using non-DBA account is not recommended, please, apply it only in compulsory cases.
4. After all required input has been provided, you will be asked to confirm them and only after your confirmation will the database and configuration files be changed.
5. On Windows, you will be asked whether you want to install JChemServer as an operating system service, and if you answer y, you will be prompted for the name of the service.

1. (Linux/Unix users) Create system service control script
The installer (optionally) creates a Windows service on Windows. Linux/Unix users may want to create a system service for JChem Server after the installation program completes successfully. We created an example chkconfig configruation file for RedHat-based distributions. To use it:
2. Edit jchem_home and jcc_user in the downloaded file to values appropriate for your environment. (The service will be started using the identity of the user pointed to by the jcc_user variable.)
3. Copy the file jcc as root into the /etc/init.d directory
4. Make the file executable:
chmod +x jcc
5. Add file to chkconfig:
chkconfig jcc on (For more information, see the following Forum post: http://www.chemaxon.com/forum/viewpost16398.html#16398)
2. Start JChem Server After the installation program start JChem Server
4. Enable Oracle users to use JChem Cartridge
5. Execute cost estimation for the Oracle Optimizer
6. Set Oracle parameters described here to ensure JChem Cartridge runs as fast as possible

## Installing JChem Server with Oracle Real Application Cluster (RAC)

The following two solutions are provided for installing JChem Server with RAC:

### Installing single JChem Server with RAC

The figure below displays the simplified schematic architecture and operation of single JChem Server with RAC system. The Load Balancer distributes the jobs between JChem Cartridge instances, while each JChem Cartridge instance communicates with the same JChem Server. Each JChem Cartridge instance and the JChem Server are located on different hosts.

JChem Cartridge has been tested on Oracle RAC with

1. Clusterware 10.2.0.4
2. Oracle 10.2.0.4
• management interfaces reachable as clu0 and clu1
• virtual IP addresses of 10.0.0.81 and 10.0.0.83
• one Oracle instance with two nodes with service name mydb0 and mydb1, respectively
• a clustered service called mydb Assume that JChem Server will be hosted by a computer called shiraz.
1. Make sure the JAVA_HOME environment variable points to a Oracle Java Development Kit 1.6 or later on shiraz.
2. Start the install.sh shell script on shiraz:

   bash install.sh
3. Enter url, when prompted for Type of the connection.
4. Enter jdbc:oracle:thin:@10.0.0.81:1521/mydb0 or jdbc:oracle:thin:@10.0.0.83:1521/mydb1, when prompted for Name of the Oracle database (url).
5. Enter shiraz, when prompted for The host name of the JChem Server.
6. After JChem Cartridge installation is complete, you can change the url manually (it requires restart of the JChem server). For example, to modify JChem Server configuration to have its traffic load-balanced across the entire RAC: Edit the url property in the jchem/cartridge/conf/jcart.properties file of the JChem Server with the following value:
url=jdbc\:oracle\:thin\:@(DESCRIPTION=(LOAD_BALANCE=on)\
(CONNECT_DATA=(SERVICE_NAME=mydb)))

### Installing multiple JChem Servers with RAC

The figure below displays the simplified schematic architecture and operation of multiple JChem Server with RAC system. The Load Balancer distributes the jobs between JChem Cartridge instances, while each JChem Cartridge instance communicates only with that JChem Server which is located on same host where the JChem Cartridge instance is. The JChem Cartridge instances are located on different hosts.

JChem Cartridge has been tested on Oracle RAC with

1. Clusterware 10.2.0.4
2. Oracle 10.2.0.4 Installation is similar to installing JChem Server and Oracle on one host. We recommend using url connection type and entering the full connection string. It can be changed later if necessary.
Example: Assume that the cluster has two nodes with
• management interfaces reachable as clu0 and clu1
• virtual IP addresses of 10.0.0.81 and 10.0.0.83
• one Oracle instance with two nodes with service name mydb0 and mydb1, respectively
• a clustered service called mydb On each node there must be JChem Server installed applying localhost as host name of JChem Server.

1. Make sure the JAVA_HOME environment variable points to a Oracle Java Development Kit 1.6 or later on clu0 and on clu1.
2. Start the install.sh shell script on the first computer (clu0)

   bash install.sh

and with --jcserver-only switch on the second one (clu1) (and on all other computers present in the cluster)

   bash install.sh --jcserver-only
3. Enter url, when prompted for Type of the connection.
4. Enter jdbc:oracle:thin:@localhost:1521/mydb0 on clu0, and jdbc:oracle:thin:@localhost:1521/mydb1 on clu1, when prompted for Name of the Oracle database (url).
5. Enter localhost, when prompted for The host name of the JChem Server.
6. Specify different structure cache IDs for clu0 and clu1 (e.g., JCC0 and JCC1, respectively)
7. After JChem Cartridge installation is complete, you can change the url manually (it requires restart of the JChem server). For example, to modify JChem Server configuration to have its traffic load-balanced across the entire RAC: Edit the url property in the jchem/cartridge/conf/jcart.properties file on both nodes with the following value:

url=jdbc\:oracle\:thin\:@(DESCRIPTION=(LOAD_BALANCE=on)\
(CONNECT_DATA=(SERVICE_NAME=mydb)))

See our FAQ comment regarding the outage of a JChem Server.

## Starting and stopping JChem Server

The preferred way to start and stop JChem Server is through the system service facility provided on the host operating system. On Windows, a service for JChem Cartridge is created during installation. Linux/Unix users may do it manually after installation.

You also can start and stop using a command interpreter available on your platform (terminal on Unix/Linux, Command Prompt on Windows) in the following way:

1. Make the cartridge directory your current working directory
2. call the server script(server.sh on Unix/Linux server.bat on Windows) with the start or stop parameter:

   bash server.sh start

or

   bash server.sh stop

### Purging connection caches

Executing the following command in the jchem/cartridge directory on the JChem Server host

$./server.sh purge-connection-caches will result in purging of the connection caches in JChem Server so that new connections will be opened by JChem Server on the next JChem Cartridge operations (without having to re-execute jchem_core_pkg.use_password for the users ). ### Clearing server references in client connections JChem Cartridge stored procedures cache references to RMI server objects created and running in the JChem Cartridge Server. If the JChem Cartridge Server is restarted, these RMI references become stale. If closing and reopening the client connections is not an option, the following SQL command can be executed (in each client connection affected) to force refetching new server references: call rmi.clear_directory_cache(); ## Configuring the JChem Server ### Setting the maximum size of the Java heap memory #### Determining the maximum amount of memory required by the JChem Cartridge server application For best performance, the amount of free physical memory on the JChemServer host should be large enough to accommodate the Java heap memory. The amount of Java heap memory, in turn, should be large enough to accommodate • the Structure Cache of the search engine and • the objects associated with individual (concurrent) searches and other user operations (such as indexing). 1. Structure Cache memory The rule of thumb is that the structure cache needs about 130 MB of memory for 1 million molecular structures with 512 bit fingerprint length. The longer the fingerprint length, the larger the required memory is. (For a detailed description of how to calculate an estimation of the memory requirement of the search cache, see the FAQ. The Structure Cache will not use the entire Java heap size. It will try to reserve the amount of memory specified by the value (in megabytes) of the reservedMemory property set in the jchem/cartridge/conf/jcart.properties file. 2. Operation-dependent memory The operation-dependent memory requirement can be further subdivided into two categories: 1. Temporary memory for the search hits The memory overhead for each concurrent search is about 1.7MB per 100k hits. For example: if a particular JChem Cartridge installation is supposed to support 10 truly concurrent searches returning each (at the same time) a maximum of 1 million hits, JChem Server needs 170MB memory in addition to what is required for the structure cache. 2. General memory overhead A difficult to quantify component which basically reflects the usage pattern of JChem Cartridge observable at the specific site. Still, assuming that user activity is evenly spread over time, it can be typically regarded fairly constant. A good initial value could be 200MB. It can be further adjusted depending on the number of concurrent users, the type of operations they do and the kind of (input) structures they operate on. Although not always effective (and therefore not strictly necessary), it is a good practice to specify the total expected amount of the operation-dependent memory (in megabytes) through the reservedMemory property in the jchem/cartridge/conf/jcart.properties file. #### Determining the maximum size of the Java heap memory The Java runtime process - in which JChem Cartridge Server program is executed - works with a memory overhead of about 12.5% over the JChem Cartridge server's calculated total memory requirement. This means that the JChem Cartridge server's calculated total memory requirement has to be multiplied by 1.125 to obtain the value for the jcserver.maxmem property in jchem/cartridge/conf/jcart.properties. This property is used to set the maximum heap space of the JVM process. #### Setting the maximum size of the Java heap memory Set the jcserver.maxmem property in the jchem/cartrdige/conf/jcart.properties file: jcserver.maxmem=700m Make sure the letter m or M is appended to the value to denote the megabyte measurement unit. A restart of the JChem Cartridge server is required for the new value to take effect. #### Example: Assuming that the jc_idxtype index called JCXCDDR_0 has been created • on 10 million structures, • with default fingerprint properties (512 bit long fingerprints), • and an average cd_smiles length of 46.3 (obtained by executing: select avg(length(cd_smiles)) from CCDR_OWNER.JCXCDDR_0_JCX; ), you estimate the structure cache memory requirement (10000000*(0.5*46.3+512/8+74)) at 1.6 gigabyte. (Repeat this calculation for all indexes which this particular JChem Cartridge instance has to service and add the results to get the total structure cache memory requirement. We assume for this example that we have a single JChem index for this JChem Cartridge instance to service, so the total memory required by the structure cache is 1,006 megabyte.) You further estimate • the temporary memory required for search hits at 200 megabyte • the general memory overhead of the JChem Cartridge server application at 200 megabyte which gives 2 gigabyte memory required by the application, which gives a memory requirement of roughly 2.25 gigabyte by the Java runtime (2*1.125). The jcserver.maxmem property in jchem/cartridge/conf/jcart.properties must therefore be set to 2.25m. ### Changing the network configuration The network address of the Oracle server or JChem Cartridge server may change. A command-line tool is provided to help you execute the steps required to make the JChem Cartridge configuration reflect such changes. In the jchem/cartridge directory, execute the following command and enter the input you're prompted for: bash config-util.sh config-server-connection for Unix/Linux, config-util.bat config-server-connection for Windows. (If you enter a question mark a more detailed help messages will be displayed on the input parameter required.) ### Disabling screening during Markush search With current JChem Cartridge versions, screening during Markush search may be counter-productive on two-host installations with relatively slow network connections (rule of thumb: 0.5 ms ping time or longer). In such cases add the following line to jchem/cartridge/conf/jcart.properties: markush.screening.enabled = false ### Configuring Marvin Services Marvin Services are available in e tJChem Cartridge through the jc_evaluate and jc_evaluate_x operators as well as their corresponding functions in the JCF package (and the equivalent functions in the JCF package). Marvin Services can be globally configured by setting the marvin.services.config.file property in the jchem/cartridge/conf/jcart.properties file to the path of the corresponding configuration file. ### Setting the Oracle cached connection pool properties If JChem Server is using the default data source implementation (oracle.jdbc.pool.OracleDataSource), the connection cache properties can be specified in the jchem/jchemsite/cartridge/conf/jcart.properties file, by prefixing their names with the oracle.connection.cache. character string. For example, in order to close idle connections after 10 seconds you have to specify in the jchem/jchemsite/cartridge/conf/jcart.properties file, the following: oracle.connection.cache.inactiveConnectionTimeout = 10 oracle.connection.cache.timeoutCheckInterval = 10 (The name of the timeoutCheckInterval property is somewhat misleading: in addition to the interval between checks on property values, it also specifies the interval for enforcing the cache properties' settings. Its default value is 900 seconds, so it should be adjusted for any Oracle-connection-cache-related time-out settings specifying a time-out less then 900 seconds.) ### Ignoring JChem Server properties for specific commands Some custom properties you might have set for a running JChem Server might be interfering with other JChem Server related tasks which are executed through the server.sh or server.bat scripts. For example, you might fancy to enable remote JMX management by setting the sysprop.com.sun.management.jmxremote.port property in jchem/conf/jcart.properties . When you execute server.sh stop to stop the running server, the command will fail by complaining about the already used JMX port. You can prevent this from happening by adding the following line to the jchem/conf/jcart.properties file: ignore.properties.for.stop=sysprop.com.sun.management.jmxremote.port More generally, specifying a comma-separated list of property names (which are found in the jcart.properties file) as the value of the ignore.properties.for.<command-string> property allows you to exclude that list of properties from evaluation for a specific server.sh command. So if you also use the server.sh reload command (for reloading certain configuration parameters of JChem Server without having to stop it), you might also consider adding: ignore.properties.for.reload = sysprop.com.sun.management.jmxremote.port ## Testing the JChem Cartridge installation Connect to the database as the JChem-owner (or the JChem-user) to be tested and execute the following: 1. call jchem_core_pkg.use_password('<passwd>'); where <passwd> is the JChem-owner's (or the JChem-user's) password; 2.  select jchem_core_pkg.getenvironment() from dual; If the JChem Cartridge is correctly working, the last call returns an output similar to the following:  JCHEM_CORE_PKG.GETENVIRONMENT() -------------------------------------------------------------------------------- Oracle environment: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi PL/SQL Release 10.2.0.3.0 - Production CORE 10.2.0.3.0 Production TNS for Linux: Version 10.2.0.3.0 - Production NLSRTL Version 10.2.0.3.0 - Production JChem Server environment: Java VM vendor: Sun Microsystems Inc. Java version: 1.6.0_23 Java VM version: 1.6.0_23-b03 JChem version: 5.0.0alpha14 JCHEM_CORE_PKG.GETENVIRONMENT() -------------------------------------------------------------------------------- JDBC driver version: 10.2.0.3.0  The following sql script can be used for testing:  set echo on call jchem_core_pkg.use_password('<cartridge owner's password>'); create table wombat ( id number primary key, structure varchar2(4000) ); insert into wombat (id, structure) values(1, 'Brc1ccccc1'); insert into wombat (id, structure) values(2, 'Clc1ccccc1'); insert into wombat (id, structure) values(3, 'c1ccccc1'); create index jcxwombat on wombat(structure) indextype is <cartridge owner's name>.jc_idxtype; select id from wombat where jc_compare(structure, 'c1ccccc1', 't:s') = 1; select jchem_core_pkg.getenvironment from dual; quit ## Registering the license file(s) The license file(s) received from ChemAxon's Sales should be dropped into the directory licenses under cartridge directory (the working directory of the JChem Server). If you want JChem Server to retrieve the license files from a different directory (e.g. because multiple applications or hosts share a common license "repository"), set the license.dir property in the jcart.properties file to the path of that directory. Multiple license files: • If your licenses are stored in multiple license files (i.e. you receive an additional license file from ChemAxon Sales with, for example, a renewed license or an evaluation license for an additional feature), you have to drop all license files into the licenses directory (wherever it is configured to be in the conf/jcart.properties file). This means that you may have to store them under different name – for example as license0.cxl, license1.cxl, license2.cxl, etc. – to avoid overwriting each other. • There should be only one entry for any licensed feature in the license files. For example, if you receive a license file with a renewed license, remove the entry for the corresponding expired license from the old license file, so that only the renewed, valid license entry is found for the given feature in the files. • You can also merge license files into a single one You can view the available licenses using the following query, which returns the list of licensed products and features: select * from table(jchem_core_pkg.getLicenses()); After putting the license file(s) into their directory (or after changing their location), the JChem Server must always be restarted On October 1st, 2008, the old license files (issued for JChem versions prior to 5.0.0) will become unusable with releases JChem 5.0.0 and above. In case you have such files, you need to request ChemAxon Sales to re-issue the licenses in the new, XML-based format. ## Configuring JChem Cartridge users It is recommended that the Oracle user created during JChem Cartridge installation is exlusively dedicated to owning the core database objects of JChem Cartridge (e.g. jchem_core_pkg ), so that these objects are cleanly separated from users' objects. ### Types of JCC users Users need to have appropriate system and object privileges as well as synonyms in order to successfully use JChem Cartridge. From an administrative prespective, users can be divided into two categories: 1. those who own the jc_idxtype indexes they use as well as those who don't need such indexes at all because they use functions and operators with literal (string constant) input structures; 2. those who use jc_idxtype indexes owned by a different user. Users of both categories need a basic set of privileges in order to execute JChem Cartridge functions and operators. In addition to this basic set of privileges, users of the second category also need privileges on the objects associated with the index not owned by them. The following figure shows the various groups of privileges. Certain privileges or roles (such as CONNECT, RESOURCE) must be granted directly to users. Other privileges may be granted both directly and indirectly through roles which already have been granted the necessary privileges. (The benefit of roles is obvious with a large number of users.) One single role is sufficient for the basic privileges that all users must have (represented by the JCC_BASIC_ROLE role on the figure). In addition to the basic role, zero or more futher roles are required for members of the second user category depending on how many groups of such users there are in your organization or project. Each group of secondary users will need a set of extra privileges (specific to the given group) corresponding to the set of not-owned indexes which members of the group need to access. The roles for these groups of "secondary" users are represented by the JCC_IDXxxxx_ROLE role. A typical user creating script: create user <jchem_user> identified by <jchem_user_password>; grant connect, resource to <jchem_user>; grant JCC_BASIC_ROLE to <jchem_user>; grant unlimited tablespace to <jchem_user>; --if public synonyms were not granted during install you also have to grant them manually: --call <jchem_owner>.PRIVMAN_PKG.SYNS_FOR_JCOBJS('<jchem_owner>','<jchem_user>');  When the roles of the DBA and the application administrator (JChem Owner) are strictly separated, the privileges cannot be granted through roles. The following grants must be applied: call JCHEM.privman_pkg.grants_on_jcobjs('<jchem_owner>', '<jchem_user>'); exec dbms_java.grant_permission( '<jchem_user>', 'SYS:java.net.SocketPermission', '<host>:<port>', 'connect,resolve' ); Installation Guide - Example Here you find an example of the installation steps to be executed when the roles of the DBA and the application administrator are strictly separated. ### User credentials and privileges for JChem Server #### Reusing the parent session's identity A user initiating an operation on structure tables and domain indexes must be able to access them via the JDBC connection(s) opened in the JChem Server for use by the fingerprint caching engine. The recommended way to achieve this is for users to call the PL/SQL procedure jchem_core_pkg.use_password(password VARCHAR2) with their password as the parameter at the beginning of each database session (see a brief description of the mechanism at work here). The function jchem_core_pkg.set_password(password VARCHAR2) has a similar effect; it returns 0, if the password is valid for the user, -1 otherwise. The two-argument variant of jchem_core_pkg.use_password(login VARCHAR2, password VARCHAR2) can be used to instruct JChem Server to use a different identity to connect back to Oracle – different from the real user. This may be useful in the case when a non-definer is transferred the privileges of the stored procedure definer when the stored procedure code is executed. The passwords specified through jchem_core_pkg.use_password are, by default, cached in the JChem Server and reused for subsequent requests. For heightened security, the password.always.required property can be specified. When set to true , this property will instruct JChem Server to require a password (in addition to the database login) for each RMI request involving database access. In this non-default case, the password is cached in the parent Oracle session and passed along with each request to JChem Server. This mode of operation thus requires the call to jchem_core_pkg.use_password at the beginning of each database session. (As opposed to the default behaviour, which requires this call only once between restarts of the JChem Server.) This method can't be used if JChem Cartridge is installed on RAC with multiple JChem Servers. The reason for this is that use_password must be called on all JChem Servers, which can't be guaranteed, because the current JChem Server instance, which the use_password call runs on, is decided by a load balancer. A workaround for this issue is that after starting or restarting the JChem Servers, the users have to log in to each RAC node (and not the whole RAC service) and run the use_password call on them. After doing this step, they can log on to the RAC service and use JChem Cartridge as the user credentials are set. #### Defaulting to a pre-configured identity If the password of a given user has not been set for the JChem Server via the use_password PL/SQL procedure, the *oracle.server.login * and *oracle.server.password * properties in the jchem/cartridge/conf/jcart.properties file will be used to open database connections in JChem Server. If the use of parent sessions' identities is combined with the use of the default identity, the need may arise for preventing users who are supposed to use the default credentials in JChem Server for their database operations from accidently using their parent session identities. The allowed.to.specify.credentials property in jchem/cartridge/conf/jcart.properties can be set for a comma separated list for this purpose. When it is specified, only users whose database login names appear in the list are allowed to set their parent sessions' identities for use in the JChem Server. If the jchem_core_pkg.use_password(password VARCHAR2) call cannot be used by users or applications for some unlikely reason, the user specified by the oracle.server.login property must have the following privileges: • SELECT ANY TABLE • SELECT ANY SEQUENCE • DELETE ANY TABLE • CREATE ANY TABLE • CREATE ANY INDEX • CREATE ANY SEQUENCE • CREATE ANY TRIGGER • INSERT ANY TABLE • UPDATE ANY TABLE • DROP ANY TABLE • DROP ANY SEQUENCE • DROP ANY TRIGGER Please, note that the JChem Cartridge components which are executed in Oracle currently communicate with JChem Server using an open RMI protocol. This means that some kind of protection (e.g. a simple firewall) must be setup on the machine which hosts JChem Server to prevent unauthorized searches in the structure table. #### Comparison of the methods applicable for handling the user credentials and privileges for JChem Server MethodAdvantagesDisadvantages Reusing the parent session's identity: use_password(‘pw’) and use_password(‘loginname’,’pw’) • user privileges are strictly limited to jchem objects • use_password() should be run after each server restart • password is handled in non-obfuscated mode Defaulting to a pre-configured identity • no need to run use_password() • wide range of privileges must be given to the user (e.g., drop any table) Combined method: the users start to work with grants to the already existing jchem objects • no need to run use_password() • user privileges are strictly limited to jchem objects • when new jc_idxtype indexes are created, the privileges relating the new indexes must be granted to the users accordingly, it is necessary to be continuously informed about the CREATE INDEX statements • not implemented in JChem Oracle Cartridge; must be solved by the customer ### Accessing JChem Cartridge functionality through PL/SQL procedures defined by other users (with definer's right): For users who need to access JChem Cartridge functionality through PL/SQL programs, the same privileges that have been granted to the JCC_BASIC_ROLE (described here) must be also directly granted to these users. The reason is that privileges obtained through a role are ignored by Oracle for access control excercised in a PL/SQL program. The following command can be used to list the SQL statements for granting the required privileges: [/opt/chemaxon/jchem/cartridge]$ config-util.sh list-sqls-for-jcc-user-privs [options]

on Unix or

C:\chemaxon\jchem\cartridge> config-util.bat list-sqls-for-jcc-user-privs [options]

on Windows. The config-util program accepts the following options for this listing command:

--jcc-owner <jchem-owner>
--jchem-server-host <jchem-server-host>
--jchem-server-port <jchem-server-port>
--oracle-version <target-db-major-version>.<target-db-minor-version>
--user-to-configure <the-user-to-configure>

In addition, if users are also to create jc_idxtype indices from within PL/SQL programs, they will need to have CREATE TABLE and CREATE SEQUENCE privileges directly granted to them. (Privileges associated with RESOURCE role will be ignored as well.) Symetrically, users will need DROP TABLE and DROP SEQUENCE privileges directly granted to them in order to successfully drop indices in their schemata.

### Setting up users to access JChem index(es) created by other users

If applicable, create privileges for those users who need to use jc_idxtype index(es) owned by another user:
Depending on how JChem Server is set up to connect back to Oracle, this step can be as simple as granting the appropriate privilege (the required combination of SELECT, INSERT, UPDATE and DELETE privileges) on the structure table to the non-owner user.

#### JChem Cartridge "super user" configured in JChem Server

One possible configuration is to set the "oracle.server.login" and "oracle.server.password" in the cartridge/conf/jcart.properties configuration file to the credentials of a user whose privileges cover the required privileges of all JChem Cartridge users. The jcart-util.sh script can be used with the the encrypt argument to convert login names and passwords into an encrypted form which JChem Server can subsequently decrypt:

     ./jcart-util.sh encrypt

With this configuration, the appropriate privilege (the required combination of SELECT, INSERT, UPDATE and DELETE privileges) must be granted on the structure table to the non-owner user.

This approach (let's call it "the JChem Cartridge super-user" approach) has the advantage of a simpler privilege configuration for "second-level" JChem Cartridge users (those who use other users' indexes such as ABC_DATA_READER), but has the disadvantage of "having around" a relatively highly privileged user. Some organizations perceive this disadvantage as prohibitive. (The JChem Cartridge super-user approach is also recommended if you want to use Oracle's built-in fine grained (row-level) access control mechanism.)

#### JChem Server uses initiators' identities

The other configuration consists of JChem Server using the initiator user's identity to connect back to Oracle. With this configuration you have to perform the following steps to let non-owner users access JChem structure indexes:

• As the JChem Cartridge owner execute:
• privman_pkg.grants_on_jcobjs('<jchem-owner>', '<index-owner>');

to make sure the index owner is directly granted privileges on objects in the JChem Cartridge owner's schema (as opposed to being granted through a role);

• privman_pkg.grants_on_jcobjs('<jchem-owner>', '<index-user>');

to make sure the index user is directly granted privileges on objects in the JChem Cartridge owner's schema (as opposed to being granted through a role);

• As the index owner execute the privman_pkg.grants_on_jcidx procedure in the JChem Cartridge owner's schema to grant the desired privilege on the index. This procedure accepts the following parameters:
• The name of the role (or user) which needs to access the given index
• The name of the index owner
• The name of the index
• "search" flag, 1 if the user needs to access the index for searching, 0 otherwise.
• "insert" flag, 1 if the user needs to access the index for inserting new structures, 0 otherwise.
• "update" flag, 1 if the user needs to access the index for updating structures, 0 otherwise.
• "delete" flag, 1 if the user needs to access the index for deleting structures, 0 otherwise.

Note: You may need to use a fresh database session for all the newly granted privileges to take effect. Depending on which tool you use to execute structure searches, this may involve restarting IJC or SQL*Plus – or even restarting the JChem Cartridge server, in case the user already did unsuccessful searches with an incomplete privilege set. Also, rarely, you may need to commit (or close) the SQL sessions used to grant the privileges.

##### Command-line tool

A command-line tool is provided to help you execute the steps required. In the jchem/cartridge directory, execute the following command and enter the input you're prompted for:

config-util.sh config-index-user

(If you enter a question mark a more detailed help messages will be displayed on the input parameter required.)

##### Consider using roles

If multiple users need to use the same index with the same access privileges, you may want to create a role for the particular privilege set on the particular index and execute the above steps on the role (instead of concrete users) and grant the role to the users.

Example:

The following example grants the CCDR19_READER Oracle user "search permission" on the index CCDR19 owned by the user CCDR19_OWNER :

    -- As JCHEM:
privman_pkg.grants_on_jcobjs('JCHEM', 'CCDR19_OWNER');
-- ----------------------------------------------------
-- As CCDR19_OWNER:
call jchem.privman_pkg.grants_on_jcidx('CCDR19_READER', 'CCDR19_OWNER', 'CCDR19', 1, 0, 0, 0);

For the cases when the roles of the DBA and the application administrator (JChem Owner) are strictly separated, the privileges cannot be granted through roles. See privilege grants example here.

## Tracking JChem Server activity

### Tracking memory utilization

The jcf.t_get_gmem_util() function can be used to obtain global memory utilization data. The call

select * from table(jcf.t_get_gmem_util())

will return two columns:

• DESCRIPTION describing the memory resources and
• UTIL_MB giving the value for the memory resource in megabytes.

The memory resources are:

• Total JVM memory: the amount of memory currently reserved by the JChem Server process.
• Free JVM memory: the amount of memory currently reserved but not allocated to Java program objects.
• Max JVM memory: the total amount of memory which the JChem Server process is allowed to eventually reserve.
• <index-owner-name>.<index-name>: the amount of memory used for caching data associated with the specified index.

The jcf.t_get_taskinfo() function can be used to list outstanding tasks in the JChem Server. The call

select * from table(jcf.t_get_taskinfo());

will return the following columns:

• ID specifying the internal identifier of the task;
• DESCRIPTION specifying various attributes of the task such as the kind of operation, the options specified for the operation and the index being worked on
• START_TIME specifying the time when the task was submitted
• USER_NAME specifying the user who submitted the tasks (in whose session the operation has been started)
• ESTIM_MEMORY_USE specifying an approximation of the memory (in bytes) used by the task
• TIMEOUT specifying the amount of time (in seconds) which the task can be sitting idle. (Idle timeout can be specified for domain index scans and is useful in cases where hits found during a search are fetched piece-meal by the Oracle resident JCC parts for early retrieval without waiting for all the hits to be retrieved. The task is normally completed when all hits have been fed to Oracle. On completion, the resources associated with the task are released. The idle time out makes resource release time-bound if the database session which submitted the tasks has crashed, for example)
• LAST_RESCHEDULED specifying the time when the task last was accessed by the Oracle-resident JCC part

When executed by the JChem Cartridge Owner, jcf.t_get_taskinfo() returns all outstanding tasks. When executed by non-JChem Cartridge Owners the function lists only the tasks which they have started.

Currently only index scans are tracked by the jcf.t_get_taskinfo() function.

Tasks started to create or rebuild indexes can also be tracked via the v$session_longops table. To do this, the chemaxon.jchem.cartridge.indexingIsAynch has to be set to true in the jchem/cartridge/conf/jcart.properties file. See the refreshPeriod index parameter for more information. ### Tracking long running operations Oracle Databases provide a view called V$SESSION_LONGOPS to display the status of long running operations. This view is available for the DBA, but rights to access this view can be granted to other users as well. Oracle developing and administrating GUI tools usually have menu items to show information extracted from this view. The currently supported tasks that can be monitored are:

• Creating index: opname field begins with "Creating index "
• Rebuilding index: opname field begins with "Rebuilding index "

### Killing "runaway" searches

Search tasks running on the JChem server can be killed by executing the following SQL:

select jcc_admin.kill_task(<task-id>) from dual

where <task-id> can be obtained from the listing of running tasks. The following strategy can be used to programmatically kill search tasks:

• assign an operation ID to the searches unique in the current session.
• Before executing the search, obtain the JCC session id by executing

select jchem_core_pkg.get_jcc_session_id from dual
• identify the task in the task list by the JCC session id and the operation ID.

When killing the task, the associated SQL query will fail with either ORA-29902, ORA-29903, or ORA-29904 and the error message will contain 'ORA-20107'. (With Oracle 10.2.0.4 the killed SQL query may abort with ORA-00600, in which case closing and reopening the connection is recommended.)
Current limitations:

• Only search tasks started for domain index scans are covered. Searches started as part of search filters are not accounted for as tasks.
• This command works only randomly on Oracle RAC configurations with multiple JChem Servers because of the randomness of the Load Balancer.

If the JCC server appears to hang (the server in general or any of the outstanding tasks in particular), retrieving samples of the execution state might be helpful to ChemAxon's technical support for diagnosing the problem. Executing the following command in the jchem/cartridge directory on the JChem Server host

\$ ./server.sh thread-dump

will dump the current execution stack of the JCC server's threads to the standard error.

### Logging

Activity of the JChem Server and Oracle side processes can be logged by configuring the logging.properties file which is available in the <installed JChem's home directory>/cartridge/conf/ folder. See the available options in the logging.properties file. Modification of the logging.properties file will be taken into account after JChem Server restart. The log files, by default, will be generated in the <installed JChem's home directory>/cartridge/logs/ folder. Log files starting with jcart refer to the activity of the JChem Server, while log files starting with trace refer to the Oracle side processes. The errors are always seen in the log files, independently of the applied log level.

Furthermore, errors are always logged in Oracle trace log files available for the DBA.  Logging level of oracle resident ChemAxon codes  - for all sessions - can be set by:

call jcart_logger.set_log_level('chemaxon', 3);
--3 = debug
--0 = error

This log level setting also influences the level of logging into the trace files in <installed JChem's home directory>/cartridge/logs/ if the logging.properties contains chemaxon.jchem.cartridge.oracleTraceLog.level = FINE.

The stacktrace of an exception of a JChem Server side process can always be monitored on the dbms output using dbms_java.set_output(32000) by any cartridge user.

Example:

exec dbms_java.set_output(32000);   --turns tracing on
select jc_molconvert('yyyyxx52342354%%%%', 'mrv') from dual;  --erroneous statement raising the exception
exec dbms_java.set_output(32000);   --shows the stacktrace of the previously raised exception

# Using JChem Cartridge

SQL operators of the Cartridge can be used to search for chemical data. SQL procedures are also defined to perform DML operations on chemical tables. To increase the speed of the searching process, the jc_idxtype index type has to be applied.

# Removing JChem Cartridge

To remove JChem Cartridge

• drop all jc_idxtype indexes and other PL/SQL objects that have been created after installation (including user defined operators added in support of user defined functions and supporting PL/SQL functions).
• drop the JChem Cartride owner's schema (the schema where JChem Cartridge has been installed)
• Windows users: remove the Windows service for the JChem Cartridge server by executing in the jchem\cartridge directory:
.\prunsrv.exe //DS//JChemCartridgeService

The following upgrade instructions apply to JChem Cartridge version 5.0 or later. See our FAQ comment regarding JChem Cartridge upgrade test.
Deprecation notice: upgrade-evol.sh and upgrade-evol.bat have been deprecated in favor of upgrade.sh and upgrade.bat

## Upgrading JChem Oracle Cartridge (without RAC) installations

• Set the JAVA_HOME environment variable to the home directory of a Oracle Java Development Kit version 1.6 or newer.
• Unpack the new JChem installation package
Typcially, you may want to unpack the new version next to the location where the old version was unpacked (i.e. in a sibling directory of the old version).
• (Optional) Make sure an empty schema for staging the upgrade exists
For the upgrade of Oracle objects in the JChem Cartridge owner's schema, an additional, empty schema will be required where the objects of the new version will be loaded and used as a blue-print for the upgrade of the JChem Cartridge owner's schema. If you provide DBA credentials for the upgrade program, the staging schema will be created for you with the required privileges. If, for some reason, DBA privileges cannot be entered to the upgrade program (for example, because the upgrade is essentially performed by an application adminstrator, who is a distinct person from the database administrator), the staging schema with the required privileges must be created manually. The privileges required by the staging schema can be listed by executing the config-util program in the jchem/cartridge directory with the list-sqls-for-staging-schema argument:

config-util list-sqls-for-staging-schema

Starting with JChem Cartridge version 5.5.1, the staging schema will be emptied by the upgrade program after it is no longer needed, so it is ready for use during subsequent upgrades. With prior versions the schema can be emptied by executing the script published under this forum post.

• Stop users from using JChem Cartridge
Restrict access to the Oracle instance and/or to the applications accessing the JChem Cartridge so you can safely upgrade the JChem Cartridge without user requests and the installation procedure interfering with each other.
• Stop the old JChem Server version
• If you use your operating system's service facility for automatically starting and stopping JChem Server, use that facility to stop it first
• Execute server.sh stop (or server.bat stop) in the cartridge directory of old JChem version The second step must be performed even if the service appeared to stop correctly in the first step.
• Navigate to the cartridge directory of the new JChem version in a command interpreter
Change your current working directory to the cartridge directory of the new JChem version. (Users with multiple JChem Cartridge instances reusing the same JChem package, may want to look at this forum topic at this point.)
Start the script upgrade.sh (or upgrade.bat on Windows). (The main purpose of the script is to upgrade the PL/SQL objects associated with the JChem Cartridge implementation. But it will also try migrating JChem Server settings, license files, rebuilding indexes, etc.)
• Provide the input requested by the script
• If you answer a prompt for a property with a question mark (?), a more detailed description of the property will be displayed.
• When prompted for the DBA login, enter an exclamation mark (!), if you don't want the installer program to use DBA account. See this pre-upgrade task for steps required before installation in such cases.
• As the last part of this step, Windows user will be offered the option to upgrade the JChem Cartridge windows service. Select this option only if the windows service was created by the JChem Cartridge installer during the original installation.

• On Windows, the upgrade application will offer to upgrade the Windows service for JChem Cartridge server. On other operating systems, you must make sure to update the service configuration to point to the new JChem package.
• Start JChem Server.
• If you ran the upgrader application without DBA privileges, you have to
• rebuild JChem indexes on plain structure tables by executing the following SQL statement:

alter index <index-name> rebuild parameters('upgradeOnly=y')
• Upgrade JChem structure tables (if you use any) using JChemManager.

## Upgrading JChem Server with RAC

### Upgrading single JChem Server with RAC

Execute the same steps as for JChem Servers without RAC.

### Upgrading multiple JChem Servers with RAC

On the first node execute the same steps as for JChem Servers without RAC.

On all the other nodes follow the steps described for JChem Servers without RAC but instead of starting the script upgrade.sh (or upgrade.bat on Windows) without any parameter as described in the 4th step in the Upgrade section, add the --jcserver-only parameter.

upgrade.sh --jcserver-only


text:
+0

# help

0
119
1

Find all complex numbers z such that z^4=-4

Thanks!

Aug 5, 2021

### 1+0 Answers

#1
+13011
+1

Find all complex numbers z such that z^4=-4

Hello Guest!

$$z\in \{-1-i,-1+i,1-i,1+i\}$$

!

Aug 5, 2021

format: plain


text:
# Revision history [back]

### Can't get sage-mode to load with emacs 24.2.1

Apologies for a rather newbie question, but I'm just getting started with Sage. I'd like to be able to use it in my favorite editor -- emacs. Sage seems to work just fine; I'm using it from the command line with no problems. But when I attempt to use sage-mode in emacs, I get this error at startup:

Symbol's value as variable is void: sage-command

A little history to show how I got here/replication: 1. Downloaded and installed Sage 5.6 64bit for OSX (running 10.8.2). 2. From within sage, did: install_package('sage-mode'). 3. Appeared that sage-mode 0.7 was installed. 4. Started emacs, got this error: "Unknown button type help-xref'" 5. Looking at threads, saw it might be a problem solved in the new "experimental" version of sage-mode 0.8. (threads: https://groups.google.com/forum/?fromgroups=#!topic/sage-devel/HufugiDMyFQ) 5. From command line, did: sage -i http://boxen.math.washington.edu/home/iandrus/sage_mode-0.8.spkg 6. Now getting the current error on loading emacs.

My .init file has: (add-to-list 'load-path "/Applications/sage/local/share/emacs") (require 'sage "sage") (setq sage-command "/Applications/sage/sage")

I've tried a number of things at the command-line level (symbolic link to sage file, editing $PATH, editing the$SAGE_ROOT directory, etc), but nothing seems to get me past the current error.

Any help is greatly appreciated.

### Can't get sage-mode to load with emacs 24.2.1

Apologies for a rather newbie question, but I'm just getting started with Sage. I'd like to be able to use it in my favorite editor -- emacs. Sage seems to work just fine; I'm using it from the command line with no problems. But when I attempt to use sage-mode in emacs, I get this error at startup:

Symbol's value as variable is void: sage-command

A little history to show how I got here/replication: 1.

1. Downloaded and installed Sage 5.6 64bit for OSX (running 10.8.2). 2.

2. From within sage, did: install_package('sage-mode'). 3.

3. Appeared that sage-mode 0.7 was installed. 4.

4. Started emacs, got this error: "Unknown button type help-xref'" 5. help-xref'"

5. Looking at threads, saw it might be a problem solved in the new "experimental" version of sage-mode 0.8. (threads: https://groups.google.com/forum/?fromgroups=#!topic/sage-devel/HufugiDMyFQ) 5. https://groups.google.com/forum/?fromgroups=#!topic/sage-devel/HufugiDMyFQ)

6. From command line, did: sage -i http://boxen.math.washington.edu/home/iandrus/sage_mode-0.8.spkg 6. http://boxen.math.washington.edu/home/iandrus/sage_mode-0.8.spkg

My .init file has: (add-to-list 'load-path "/Applications/sage/local/share/emacs") (require 'sage "sage") (setq sage-command "/Applications/sage/sage")

I've tried a number of things at the command-line level (symbolic link to sage file, editing $PATH, PATH, editing the$SAGE_ROOT SAGE_ROOT directory, etc), but nothing seems to get me past the current error.

Any help is greatly appreciated.

 3 improved style fidbc 2298 ●4 ●24 ●55

### Can't get sage-mode to load with emacs 24.2.1

Apologies for a rather newbie question, but I'm just getting started with Sage. I'd like to be able to use it in my favorite editor -- emacs. Sage seems to work just fine; I'm using it from the command line with no problems. But when I attempt to use sage-mode in emacs, I get this error at startup:

Symbol's value as variable is void: sage-command

A little history to show how I got here/replication:

2. From within sage, did: install_package('sage-mode').

3. Appeared that sage-mode 0.7 was installed.

4. Started emacs, got this error: "Unknown button type help-xref'"

5. Looking at threads, saw it might be a problem solved in the new "experimental" version of sage-mode 0.8. (threads: https://groups.google.com/forum/?fromgroups=#!topic/sage-devel/HufugiDMyFQ)

6. From command line, did: sage -i http://boxen.math.washington.edu/home/iandrus/sage_mode-0.8.spkg

(add-to-list 'load-path  "/Applications/sage/local/share/emacs")


text:
Up Next
0
CES 2012: What's new in TVs
Televisions get interesting at CES as technologies such as OLED and 4K make their way from concept to product. Also, more smart TVs and new ways to control them.
Share
Related Videos
My Playlist
Clear All
CES 2012: What's new in TVs
Televisions get interesting at CES as technologies such as OLED and 4K make their way from concept to product. Also, more smart TVs and new ways to control them.
Date: 1/12/12
Views: 20949
Video by:  Consumer Reports


text:
# 19.8 Suppose that an asset, A, earns 16 percent in the United States over the period of one year....

19.8        Suppose that an asset, A, earns 16 percent in the United States over the period of one year. If the cost of a dollar to a resident of the European Union goes from 0.7064/$at the beginning of the year to 0.7182/$ at the end of the year, what is the euro return on the U.S. asset?

Ask for Expert's Help

## Recent Questions in Financial Accounting

Submit Your Questions Here!
Copy and paste your question here...

Attach Files


text:
# Calculus

Calculate the interval of convergence.
Sigma from n=1 to infinity of (n!*x^n)/n^n.

1. 0
2. 5
1. try using the ratio test. You should be able to show that the series converges for |x| < e

1. 0
posted by Steve
2. I tried and I got
|x|lim n-infinity of |(n/n+1)^n|
which I get |x|<1

1. 0
posted by andre

## Similar Questions

1. ### Calculus

Calculate the interval of convergence. Sigma from n=1 to infinity of (n!*x^n)/n^n. Calculus - Steve, Friday, July 29, 2016 at 11:52pm try using the ratio test. You should be able to show that the series converges for |x| < e I
2. ### CALC

please help me...for the power series summation of n^4x^n/2(n-1)factorial....find the radius and interval of convergence... so far i am guessing that radius is equal to x and interval of convergence is (-infinty to positive
3. ### Calculus

What is the radius of convergence of the power series (((2n)!x^(n))/((2n-1)!)), and what is its interval of convergence? I used the ratio test and found that the radius of convergence is 0, as it is impossible for the absolute
4. ### Calculus 2

Find the radius of convergence and interval of convergence of the series. There is an infinity sign on top of the summation symbol and "n=1" underneath it. To the right of the summation symbol is x^n/5n! How would you find the
5. ### Calculus 2

In the following series x is a real number. In each case, use the ratio test to determine the radius of convergence of the series. Analyze the behavior at the endpoints in order to determine the interval of convergence. a.
6. ### CALC 2

In the following series x is a real number. In each case, use the ratio test to determine the radius of convergence of the series. Analyze the behavior at the endpoints in order to determine the interval of convergence. a.
7. ### CALC 2 pls help!!

In the following series x is a real number. In each case, use the ratio test to determine the radius of convergence of the series. Analyze the behavior at the endpoints in order to determine the interval of convergence. a.
8. ### Calculus2

Please, help me I really need help on this problem. Thank you so much for all your help. Question: Find the radius of convergence and interval of convergence for sum(n=1to infinity)(-1)^n-1 n(x-1)^n/(n^2+1)2^n Thank you again
9. ### Calculus2

Please, help me I really need help on this problem. Thank you so much for all your help. Question: Find the radius of convergence and interval of convergence for sum(n=1to infinity)(-1)^n-1 multiply by n(x-1)^n/(n^2+1)2^n Thank
10. ### Math

How do you find the radius of convergence and interval of convergence for the following? Sum(n=1 to infinity) ((2x+5)^n) / (n(4^n))

More Similar Questions


text:
Search by Topic

Resources tagged with Multiplication & division similar to Weekly Problem 25 - 2011:

Filter by: Content type:
Stage:
Challenge level:

There are 158 results

Broad Topics > Calculations and Numerical Methods > Multiplication & division

Remainders

Stage: 3 Challenge Level:

I'm thinking of a number. When my number is divided by 5 the remainder is 4. When my number is divided by 3 the remainder is 2. Can you find my number?

Eminit

Stage: 3 Challenge Level:

The number 8888...88M9999...99 is divisible by 7 and it starts with the digit 8 repeated 50 times and ends with the digit 9 repeated 50 times. What is the value of the digit M?

Oh! Hidden Inside?

Stage: 3 Challenge Level:

Find the number which has 8 divisors, such that the product of the divisors is 331776.

Factoring Factorials

Stage: 3 Challenge Level:

Find the highest power of 11 that will divide into 1000! exactly.

Powerful Factorial

Stage: 3 Challenge Level:

6! = 6 x 5 x 4 x 3 x 2 x 1. The highest power of 2 that divides exactly into 6! is 4 since (6!) / (2^4 ) = 45. What is the highest power of two that divides exactly into 100!?

X Marks the Spot

Stage: 3 Challenge Level:

When the number x 1 x x x is multiplied by 417 this gives the answer 9 x x x 0 5 7. Find the missing digits, each of which is represented by an "x" .

Times Right

Stage: 3 Challenge Level:

Using the digits 1, 2, 3, 4, 5, 6, 7 and 8, mulitply a two two digit numbers are multiplied to give a four digit number, so that the expression is correct. How many different solutions can you find?

Diggits

Stage: 3 Challenge Level:

Can you find what the last two digits of the number $4^{1999}$ are?

A One in Seven Chance

Stage: 3 Challenge Level:

What is the remainder when 2^{164}is divided by 7?

Missing Multipliers

Stage: 3 Challenge Level:

What is the smallest number of answers you need to reveal in order to work out the missing headers?

The Remainders Game

Stage: 2 and 3 Challenge Level:

A game that tests your understanding of remainders.

Thirty Six Exactly

Stage: 3 Challenge Level:

The number 12 = 2^2 × 3 has 6 factors. What is the smallest natural number with exactly 36 factors?

Repeaters

Stage: 3 Challenge Level:

Choose any 3 digits and make a 6 digit number by repeating the 3 digits in the same order (e.g. 594594). Explain why whatever digits you choose the number will always be divisible by 7, 11 and 13.

Two Many

Stage: 3 Challenge Level:

What is the least square number which commences with six two's?

Slippy Numbers

Stage: 3 Challenge Level:

The number 10112359550561797752808988764044943820224719 is called a 'slippy number' because, when the last digit 9 is moved to the front, the new number produced is the slippy number multiplied by 9.

Going Round in Circles

Stage: 3 Challenge Level:

Mathematicians are always looking for efficient methods for solving problems. How efficient can you be?

Divide it Out

Stage: 2 Challenge Level:

What is the lowest number which always leaves a remainder of 1 when divided by each of the numbers from 2 to 10?

A First Product Sudoku

Stage: 3 Challenge Level:

Given the products of adjacent cells, can you complete this Sudoku?

What's in the Box?

Stage: 2 Challenge Level:

This big box multiplies anything that goes inside it by the same number. If you know the numbers that come out, what multiplication might be going on in the box?

As Easy as 1,2,3

Stage: 3 Challenge Level:

When I type a sequence of letters my calculator gives the product of all the numbers in the corresponding memories. What numbers should I store so that when I type 'ONE' it returns 1, and when I type. . . .

Largest Number

Stage: 3 Challenge Level:

What is the largest number you can make using the three digits 2, 3 and 4 in any way you like, using any operations you like? You can only use each digit once.

What Two ...?

Stage: 2 Short Challenge Level:

56 406 is the product of two consecutive numbers. What are these two numbers?

Skeleton

Stage: 3 Challenge Level:

Amazing as it may seem the three fives remaining in the following `skeleton' are sufficient to reconstruct the entire long division sum.

Which Is Quicker?

Stage: 2 Challenge Level:

Which is quicker, counting up to 30 in ones or counting up to 300 in tens? Why?

Ordering Cards

Stage: 1 and 2 Challenge Level:

This problem is designed to help children to learn, and to use, the two and three times tables.

Square Subtraction

Stage: 2 Challenge Level:

Look at what happens when you take a number, square it and subtract your answer. What kind of number do you get? Can you prove it?

Number Tracks

Stage: 2 Challenge Level:

Ben’s class were making cutting up number tracks. First they cut them into twos and added up the numbers on each piece. What patterns could they see?

1, 2, 3, 4, 5

Stage: 2 Challenge Level:

Using the numbers 1, 2, 3, 4 and 5 once and only once, and the operations x and ÷ once and only once, what is the smallest whole number you can make?

Multiply Multiples 1

Stage: 2 Challenge Level:

Can you complete this calculation by filling in the missing numbers? In how many different ways can you do it?

What Is Ziffle?

Stage: 2 Challenge Level:

Can you work out what a ziffle is on the planet Zargon?

The Deca Tree

Stage: 2 Challenge Level:

Find out what a Deca Tree is and then work out how many leaves there will be after the woodcutter has cut off a trunk, a branch, a twig and a leaf.

Fair Feast

Stage: 2 Challenge Level:

Here is a picnic that Petros and Michael are going to share equally. Can you tell us what each of them will have?

Long Multiplication

Stage: 3 Challenge Level:

A 3 digit number is multiplied by a 2 digit number and the calculation is written out as shown with a digit in place of each of the *'s. Complete the whole multiplication sum.

Stage: 3 and 4 Challenge Level:

Powers of numbers behave in surprising ways. Take a look at some of these and try to explain why they are true.

Cows and Sheep

Stage: 2 Challenge Level:

Use your logical reasoning to work out how many cows and how many sheep there are in each field.

Stage: 3 Challenge Level:

Watch our videos of multiplication methods that you may not have met before. Can you make sense of them?

Multiply Multiples 2

Stage: 2 Challenge Level:

Can you work out some different ways to balance this equation?

Four Goodness Sake

Stage: 2 Challenge Level:

Use 4 four times with simple operations so that you get the answer 12. Can you make 15, 16 and 17 too?

Multiply Multiples 3

Stage: 2 Challenge Level:

Have a go at balancing this equation. Can you find different ways of doing it?

Napier's Bones

Stage: 2 Challenge Level:

The Scot, John Napier, invented these strips about 400 years ago to help calculate multiplication and division. Can you work out how to use Napier's bones to find the answer to these multiplications?

I'm Eight

Stage: 1, 2, 3 and 4 Challenge Level:

Find a great variety of ways of asking questions which make 8.

Difficulties with Division

Stage: 1 and 2

This article for teachers looks at how teachers can use problems from the NRICH site to help them teach division.

What's My Weight?

Stage: 2 Short Challenge Level:

There are four equal weights on one side of the scale and an apple on the other side. What can you say that is true about the apple and the weights from the picture?

Factor-multiple Chains

Stage: 2 Challenge Level:

Can you see how these factor-multiple chains work? Find the chain which contains the smallest possible numbers. How about the largest possible numbers?

Tom's Number

Stage: 2 Challenge Level:

Work out Tom's number from the answers he gives his friend. He will only answer 'yes' or 'no'.

Book Codes

Stage: 2 Challenge Level:

Look on the back of any modern book and you will find an ISBN code. Take this code and calculate this sum in the way shown. Can you see what the answers always have in common?

Zios and Zepts

Stage: 2 Challenge Level:

On the planet Vuv there are two sorts of creatures. The Zios have 3 legs and the Zepts have 7 legs. The great planetary explorer Nico counted 52 legs. How many Zios and how many Zepts were there?

Current Playing with Number Upper Primary Teacher

Stage: 2 Challenge Level:

Resources to support understanding of multiplication and division through playing with number.

Make 100

Stage: 2 Challenge Level:

Find at least one way to put in some operation signs (+ - x ÷) to make these digits come to 100.

Division Rules

Stage: 2 Challenge Level:

This challenge encourages you to explore dividing a three-digit number by a single-digit number.


text:
# Background API¶

soxs.background.instrument.add_instrumental_background(name, filename, default_focal_length)[source]

Add a particle/instrument background to the list of known backgrounds.

Parameters: name (string) – The short name of the background, which will be the key in the registry. filename (string) – The file containing the background. It must have two columns: energy in keV, and background intensity in units of photons/s/cm**2/arcmin**2/keV. default_focal_length (float, (value, unit) tuple, or Quantity) – The focal length of the telescope that this background is scaled to. Used for rescaling the background if an alternative focal length is provided in an instrument specification.
class soxs.background.spectra.BackgroundSpectrum(ebins, flux)[source]
classmethod from_spectrum(spec, fov)[source]

Create a background spectrum from a regular Spectrum object and the width of a field of view on a side.

Parameters: spec (Spectrum) – The spectrum to be used. fov (float, (value, unit) tuple, or Quantity) – The width of the field of view on a side in arcminutes.
generate_energies(t_exp, area, fov, prng=None, quiet=False)[source]

Generate photon energies from this background spectrum given an exposure time, effective area, and field of view.

Parameters: t_exp (float, (value, unit) tuple, or Quantity) – The exposure time in seconds. area (float, (value, unit) tuple, or Quantity) – The effective area in cm**2. If one is creating events for a SIMPUT file, a constant should be used and it must be large enough so that a sufficiently large sample is drawn for the ARF. fov (float, (value, unit) tuple, or Quantity) – The width of the field of view on a side in arcminutes. prng (RandomState object, integer, or None) – A pseudo-random number generator. Typically will only be specified if you have a reason to generate the same set of random numbers, such as for a test. Default is None, which sets the seed based on the system time. quiet (boolean, optional) – If True, log messages will not be displayed when creating energies. Useful if you have to loop over a lot of spectra. Default: False
to_spectrum(fov)[source]
class soxs.background.spectra.ConvolvedBackgroundSpectrum(spectrum, arf)[source]
generate_energies(t_exp, fov, prng=None, quiet=False)[source]

Generate photon energies from this convolved background spectrum given an exposure time and field of view.

Parameters: t_exp (float, (value, unit) tuple, or Quantity) – The exposure time in seconds. fov (float, (value, unit) tuple, or Quantity) – The width of the field of view on a side in arcminutes. prng (RandomState object, integer, or None) – A pseudo-random number generator. Typically will only be specified if you have a reason to generate the same set of random numbers, such as for a test. Default is None, which sets the seed based on the system time. quiet (boolean, optional) – If True, log messages will not be displayed when creating energies. Useful if you have to loop over a lot of spectra. Default: False
class soxs.background.spectra.InstrumentalBackgroundSpectrum(ebins, flux, default_focal_length)[source]
classmethod from_file(filename, default_focal_length)[source]

Read an instrumental background spectrum from an ASCII or HDF5 file.

If ASCII: accepts a file with two columns, the first being the center energy of the bin in keV and the second being the spectrum in the appropriate units, assuming a linear binning with constant bin widths.

If HDF5: accepts a file with one array dataset, named “spectrum”, which is the spectrum in the appropriate units, and two scalar datasets, “emin” and “emax”, which are the minimum and maximum energies in keV.

Parameters: filename (string) – The path to the file containing the spectrum. default_focal_length (float, (value, unit) tuple, or Quantity) – The default focal length of the instrument in meters.
classmethod from_instrument(instr_name)[source]

Obtain an instrumental background spectrum corresponding to a registered instrument.

Parameters: instr_name (string) – Name of the instrument in the instrument registry.
generate_energies(t_exp, fov, focal_length=None, prng=None, quiet=False)[source]

Generate photon energies from this instrumental background spectrum given an exposure time, effective area, and field of view.

Parameters: t_exp (float, (value, unit) tuple, or Quantity) – The exposure time in seconds. fov (float, (value, unit) tuple, or Quantity) – The width of the field of view on a side in arcminutes. focal_length (float, (value, unit) tuple, or Quantity, optional) – The focal length in meters. Default is to use the default focal length of the instrument configuration. prng (RandomState object, integer, or None) – A pseudo-random number generator. Typically will only be specified if you have a reason to generate the same set of random numbers, such as for a test. Default is None, which sets the seed based on the system time. quiet (boolean, optional) – If True, log messages will not be displayed when creating energies. Useful if you have to loop over a lot of spectra. Default: False
to_scaled_spectrum(fov, focal_length=None)[source]


text:
# Property detail

Property name: simple-injective (left)
Definition: If $L$ is a left ideal of $R$, and $f:L\to R$ such that $f(L)$ is simple, then $f$ can be extended to $R\to R$
Rings with property: 19
Rings without property: 0


text:
GMAT Question of the Day: Daily via email | Daily via Instagram New to GMAT Club? Watch this Video

 It is currently 21 Jan 2020, 21:34

### GMAT Club Daily Prep

#### Thank you for using the timer - this advanced tool can estimate your performance and suggest more practice questions. We have subscribed you to Daily Prep Questions via email.

Customized
for You

we will pick new questions that match your level based on your Timer History

Track

every week, we’ll send you an estimated GMAT score based on your performance

Practice
Pays

we will pick new questions that match your level based on your Timer History

# If the x-coordinate of point E is 4, what is its y-coordinate?

Author Message
TAGS:

### Hide Tags

Intern
Joined: 10 Apr 2016
Posts: 9
If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

Updated on: 06 Sep 2016, 21:53
2
6
00:00

Difficulty:

15% (low)

Question Stats:

77% (01:37) correct 23% (01:47) wrong based on 153 sessions

### HideShow timer Statistics

Attachment:
File comment: Required Attachment for the problem.

IMG_20160907_081758.jpg [ 849.84 KiB | Viewed 4957 times ]
If the x-coordinate of point E is 4, what is its y-coordinate?

a) -1/2
b) 1
c) 3/2
d) 2
e) 7/2

Originally posted by PawanRamnani1234 on 06 Sep 2016, 19:51.
Last edited by Bunuel on 06 Sep 2016, 21:53, edited 1 time in total.
Renamed the topic and edited the question.
Marshall & McDonough Moderator
Joined: 13 Apr 2015
Posts: 1684
Location: India
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

06 Sep 2016, 23:17
2
1
In the fig, AMX ||| ABC

AM/AB = MX/BC --> AM/3 = 4/6

AM = 2 --> BM = y = 1

Attachments

P1.png [ 5.32 KiB | Viewed 4893 times ]

Retired Moderator
Joined: 19 Mar 2014
Posts: 912
Location: India
Concentration: Finance, Entrepreneurship
GPA: 3.5
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

30 Jun 2017, 14:11
2
Based on the two points on the line (0,3) and (6,0) we can find the equation of the line.

Y intercept $$= 3$$

Slope $$= -\frac{1}{2}$$

Equation: $$y = mx + c$$

$$y = -\frac{1}{2} * 4 + 3$$

$$y = -2 + 3$$

$$y = 1$$

_________________
"Nothing in this world can take the place of persistence. Talent will not: nothing is more common than unsuccessful men with talent. Genius will not; unrewarded genius is almost a proverb. Education will not: the world is full of educated derelicts. Persistence and determination alone are omnipotent."

Best AWA Template: https://gmatclub.com/forum/how-to-get-6-0-awa-my-guide-64327.html#p470475
Director
Joined: 12 Nov 2016
Posts: 691
Location: United States
Schools: Yale '18
GMAT 1: 650 Q43 V37
GRE 1: Q157 V158
GPA: 2.66
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

16 Jun 2017, 01:37
1
PawanRamnani1234 wrote:
Attachment:
IMG_20160907_081758.jpg
If the x-coordinate of point E is 4, what is its y-coordinate?

a) -1/2
b) 1
c) 3/2
d) 2
e) 7/2

Just find the slope of the two points

y2-y2/x2-x1
0-3 / 6-0= -3/6 ( it doesn't matter which order- if you do 3-0/0-6 you would get the same slope)

y=-1/2x + 3 (we are given the x value so just plug in)
Director
Joined: 13 Mar 2017
Posts: 727
Location: India
Concentration: General Management, Entrepreneurship
GPA: 3.8
WE: Engineering (Energy and Utilities)
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

17 Jun 2017, 00:06
1
1
PawanRamnani1234 wrote:
Attachment:
IMG_20160907_081758.jpg
If the x-coordinate of point E is 4, what is its y-coordinate?

a) -1/2
b) 1
c) 3/2
d) 2
e) 7/2

Let the equation of line be y = mx +c
Slope of line m = (3-0)/(0-6) = -1/2
eq: y = (-1/2)x + c
SInce 0,3 lies on this line. So, 3 = c
eq: y = (-1/2)x + 3

Now to find the coordinates of point E, x = 4
y = (-1/2) * 4 +3 = 1

Intern
Joined: 13 Mar 2019
Posts: 27
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

04 Aug 2019, 10:52
1
The Simplest way is to make the line Equation -
y=-1/2x+3
Now Substituing value, answer will be 1
Senior PS Moderator
Joined: 26 Feb 2016
Posts: 3290
Location: India
GPA: 3.12
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

07 Sep 2016, 02:04
Using the two points already given, you can find the equation of the line which is x + 2y = 6. Substituting, the value of x to be 4, we can get the y-coordinate 1. Hence , B is the solution

Sent from my Lenovo A7000-a using GMAT Club Forum mobile app
_________________
You've got what it takes, but it will take everything you've got
Senior Manager
Joined: 09 Feb 2015
Posts: 324
Location: India
Concentration: Social Entrepreneurship, General Management
GMAT 1: 690 Q49 V34
GMAT 2: 720 Q49 V39
GPA: 2.8
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

28 Jun 2017, 07:27
This can be easily answered without the use of any calculation.The midpoint of the given line is (3,1.5).Since the x co-ord is 4 any value >= 1.5 is out.
Since y cant be negative the only other option is b.
Intern
Joined: 22 Oct 2016
Posts: 21
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

01 Jul 2017, 04:42
It doesnt need any calculation for this question. From the diagram we can see that for every unit increase in X, Y decreases by 0.5 units.

When X is 0, Y is 3,
When X is 1, Y is 2.5,
When X is 2, Y is 2,
When X is 3, Y is 1.5,
When X is 4, Y is 1, < - which is our answer.
When X is 5, Y is 0.5,
When X is 6, Y is 0

_________________
Regards,
Sarugiri
VP
Status: Learning
Joined: 20 Dec 2015
Posts: 1070
Location: India
Concentration: Operations, Marketing
GMAT 1: 670 Q48 V36
GRE 1: Q157 V157
GPA: 3.4
WE: Engineering (Manufacturing)
Re: If the x-coordinate of point E is 4, what is its y-coordinate?  [#permalink]

### Show Tags

01 Jul 2017, 06:29
This question can also be solved using ratio
Suppose E divides the given line in X:Y ratio then x coordinate is given by 4=(x*6=y*0)/(x+y)
6x=4x+4y
x/y =2 now we have to find y=(2*0+1*3)\(2+1)=1
hence b
Re: If the x-coordinate of point E is 4, what is its y-coordinate?   [#permalink] 01 Jul 2017, 06:29
Display posts from previous: Sort by


text:
# LXX International conference "NUCLEUS – 2020. Nuclear physics and elementary particle physics. Nuclear physics technologies"

Oct 11 – 17, 2020
Online
Europe/Moscow timezone

## Ranges of radon and mercury isotopes with energies of 0.12-0.25 MeV/amu in aluminum

Oct 16, 2020, 5:10 PM
25m
Online

#### Online

Oral report Section 2. Experimental and theoretical studies of nuclear reactions.

### Speaker

Elena Chernysheva (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research)

### Description

The ranges in aluminum of radon and mercury isotopes, produced in xn-evaporation channels of the complete fusion reactions $^{40}$Ar+$^{144}$Sm, $^{36}$Ar+$^{148}$Sm, $^{40}$Ca+$^{144}$Nd, $^{48}$Ca+$^{142}$Nd and $^{40}$Ar+$^{166}$Er, have been measured in energy range of $0.12-0.25$ MeV/amu. The energies of the primary beams, delivered by the cyclotron U-400M, were measured by the time-of-flight method with an accuracy of 0.5% (FWHM). The evaporation residua energies and their energy spreads were calculated proposing consecutive neutron evaporation cascades from the compound nuclei produced at some depths in the target. The beam interruption method was applied for the isotope identification. Five thin aluminum absorbers were installed on a linear pneumatic actuator. In the accumulation mode, the foils were placed one under another, so that the reaction products were stopped at different depths in the proper foils. In the measurement mode, the foil array was extended to its full width so that each foil was placed opposite to the corresponding silicon detectors registered $\alpha$-decays of short-lived radon and mercury isotopes. The measured ranges have been compared with the predictions of SRIM code.

### Primary authors

Elena Chernysheva (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Alexander Rodin (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Lubos Krupa (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research)

### Co-authors

Alexander Gulyaev (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Anna Gulyaeva (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Michael Holik (Institute of Experimental and Applied Physics, Czech Technical University in Prague) Dusan Kamas (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Jan Kliman (Institute of Physics SASc, Bratislava,Slovak Republic) Alexander Komarov (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Alexey Novoselov (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Mr Antonin Opíchal (Palacký University in Olomouc, Czech Republic) Alexander Podshibyakin (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Jiri Pechousek (Palacký University in Olomouc, Czech Republic) Vladimir Salamatin (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Sergey Stepantsov (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Vyacheslav Vedeneev (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research) Sergey Yukhimchuk (Flerov Laboratory of Nuclear Reactions, Joint Institute for Nuclear Research)


text:
A normal subgroup $H$ with $[G:H]$ coprime to $p$ contains every Sylow $p$-subgroup of $G$.

I was working on the following question:

Let $p$ be a prime factor of the order of a finite group $G$. If $H$ is a normal subgroup $G$ whose index is not a multiple of $p$, show that H must contain every Sylow $p$-subgroup of G.

Since $G$ is a finite group, the index of H in G is defined as $\left|{G}\right|$/$\left|{H}\right|$. If the index of $H$ is not a multiple of p, then $\left|{H}\right|$ must be a multiple of p. Also, $H$ is a normal subgroup of $G$ so afaik it is enough to show that H contains one Sylow $p$-subgroup. However I am not making much progress in proving this.

• If $p^n$ divides |G| then it also divides |H|. So the Sylow subgroups of H are those of G. – awllower Jan 13 '13 at 21:51

Every $p$-group in $G$ is contained in some Sylow $p$-subgroup of $G$, so any $P\in \text{Syl}_p(H)$ is contained in some $Q\in \text{Syl}_p(G)$. $[G:H]$ is coprime to $p$, however, so $P$ and $Q$ have the same order, and are thus equal.
Because $H$ is normal, we have that $P^g\leqslant H$ for every $g\in G$ as $H$. Therefore, since $G$ acts transitively on $\text{Syl}_p(G)$, it follows that $\text{Syl}_p(G)\subseteq \text{Syl}_p(H)$.
Hint: consider the Sylow $p$-subgroups of $H$.


text:
## Saturday, October 17, 2015

### Copying multiple files using scp

Perhaps the shortest blog post ever, but it took me while to find the command.  I'll know I'll need it again so here it is:

scp -v -r user@host.name:/path/folder folder

This command created a folder named "folder" on the local machine and copies the content of "/path/folder" on host.name into it

## Saturday, October 3, 2015

### PeerJ vs F1000Research

Update 2015.10.05: Correction based on the comment by +Eva Amsen: F1000Research editors do chase down reviewers to help ensure reviews.  So the main real difference between F1000Research and PeerJ appears to be the price - assuming PeerJ authors post a pre-print.

This post is a comment I left on Michael Eisens post on the Mission Bay Manifesto on Science Publishing

A purely practical comment about point 5 in general and F1000Research price in particular. My main point is that PeerJ offers better service at lower cost (and I am not affiliated with PeerJ in any way).

Let’s take my latest paper which just got accepted in PeerJ and contrast it to how it would have worked at F1000Research

1. I submitted my draft to PeerJ PrePrints who made it available online within a day for free.  It showed up on Google Scholar about a week later.

F1000Research would take about a week and cost \$1000 as it was >2500 words. On the other hand at this point it is typeset. 2. I solicit reviews on social media and by emailing select experts. There is a commenting section on PeerJ PrePrints where these reviews can be added. I got some suggestions by email but no one added comments for this particular paper. From what I can tell the idea is much the same on F1000Research 3. I revise my manuscript and put a new version on PeerJ PrePrints with another plea for comments/reviews. Then I submit to PeerJ. PeerJ finds 2 reviewers for me, typesets the manuscript (after minor corrections in this case), publishes the reviews, provides a comment section for further review, and gets it indexes, for \$298 (in this case). Again, there is a comment sections where people can continue to review the manuscript and also the reviewers comments, which I choose to make public.

So, from where I stand I pay F1000Research \$1000 extra for guaranteed and immediate typesetting of a manuscript which may not get reviewed, while I pay PeerJ \$300 for guaranteed reviews of a manuscript which may not get typeset (if it is rejected).

I couldn’t care less about the typesetting. When I deposit my preprint I consider my work published - and I can do that for free. The remaining steps are taken mainly to be able to add it on my CV under “Peer Reviewed Publication” with additional indexing as a nice bonus.

As Gowers has shown, if you remove the typesetting this can done for \\$10/paper.


text:
# http://colinraffel.com/wiki/

### Site Tools

expectation_backpropagation

# Expectation Backpropagation

 Authors Daniel Soudry, Itay Hubara, Ron Meir Publication info Retrieved here Retrieval date 10/06/14

Proposes a method for training neural networks with an expectation propagation-based approach which approximates the posterior of the weights given the data using a mean-field factorized distribution.

## Motivation/notation

Backpropagation isn't applicable to neural nets with binary weights, which can be implemented quickly in hardware. Bayesian inference can be used to train a single layer neural network with binary weights by approximating the input to each neuron as a Gaussian random variable; the present work extends this idea to multi-layer networks. The resulting training algorithm is parameter-free, insensitive to input magnitude, and more efficient than Monte Carlo methods.

This work focuses on binary MNNs, where $L$ is the number of layers, $V_l$ is the width of layer $l$, $\mathcal{W} = \{W_l \in \mathbb{R}^{V_l \times V_{l - 1}}\}_{l = 1}^L$ is the set of weight matrices where $\mathcal{W}$ is constrained to some set $\mathcal{S}$ such that $W_{ij,l} \in S_{ij, l}$, $\{v_l\}_{l = 0}^L$ are the outputs of each layer ($v_0$ is the net input and $v_L$ is the output) computed by $v_l = \mathrm{sign}(W_lv_{l - 1})$, and $g(v_0, \mathcal{W})$ is the composite network function. For simplicity, the layer fan-in $K_l = |\{j | S_{ij,l} \ne \{0\}\}|$ is constant for all $i$. Given a dataset $D_N = \{x^{(n)}, y^{(n)}\}_{n = 1}^N$ (note that $D_0 = \{\}$) of pairs of data points $x^{(n)}$ and labels $y^{(n)} \in \mathcal{Y} \subset \{-1, +1\}^{V_L}$, we assume that for all $n$ the relation $x^{(n)} \rightarrow y^{(n)}$ can be represented by an MNN from the hypothesis class (some known architecture); that is there exists some $\mathcal{W} \in \mathcal{S}$ so that $y^{(n)} = g(x^{(n)}, \mathcal{W}^\ast)$. We seek to approximate $W^\ast$ and estimate the most probably $y$ given some $x$.

## Bayesian approximation to learning

We assume some prior $P(\mathcal{W}|D_0)$ on the weights and seek the posterior $P(\mathcal{W}|D_N)$, from which we can get the MAP estimate $\mathcal{W}^\ast = \mathrm{argmax}_{\mathcal{W} \in \mathcal{S}} P(\mathcal{W} | D_N)$ by minimizing the expected zero-one loss over the weights to obtain approximate labels by $y = g(x, \mathcal{W}^\ast)$. Alternatively, we can minimize the expected loss over the dataset: $$y^\ast = \mathrm{argmax}_{y \in \mathcal{Y}} \sum_{\mathcal{W}} \mathcal{I} \{g(x, \mathcal{W}) = y\}P(\mathcal{W} | D_N)$$ which effectively finds the $y$ which minimizes the average zero-one loss $\mathcal{I}\{y^\ast \ne g(x, \mathcal{W})\}$ of all possible networks. In an online setting, we update the posterior by $P(\mathcal{W}|D_n) \propto P(y^{(n)} | x^{(n)}, \mathcal{W}) P(\mathcal{W}|D_{n - 1})$, where the per-data-point likelihood is simply $P(y^{(n)} | x^{(n)}, \mathcal{W}) = \mathcal{I}\{g(x^{(n)}, \mathcal{W}) = y^{(n)}\}$. Note that when $g(x^{(k)}, \mathcal{W}^0) \ne y^{(k)}$, the update sets $P(\mathcal{W}^0, D_{k + 1}) = 0$. There are an exponential number of terms in the update $P(\mathcal{W}|D_n)$, so an approximation is needed.

First, instead of storing $P(\mathcal{W}|D_n)$, we will store the factorized mean field approximation $$\hat{P}(\mathcal{W} | D_n) = \prod_{i, j, l} \hat{P} (W_{ij, l} | D_n)$$ where each factor must be normalized. In this approximation we can find the MAP estimate of the weights by $W^\ast_{ij, l} = \mathrm{argmax}_{W_{ij, l} \in S_{ij, l}} \hat{P}(W_{ij, l} | D_N)$. The update becomes $\hat{P}(W_{ij, l} | D_n) \propto \hat{P}(y^{(n)} | x^{(n)}, W_{ij, l}, D_{n - 1}) \hat{P}(W_{ij, l} | D_{n - 1})$ where the marginal likelihood term is computed by $$\hat{P}(y^{(n)} | x^{(n)}, W_{ij, l}, D_{n - 1}) = \sum_{\mathcal{W}^\prime : W^\prime_{ij, l} = W_{ij, l}} P(y^{(n)} | x^{(n)}, \mathcal{W}^\prime) \prod_{\{k, r, m\} \ne \{i, j, l\}} \hat{P} (W^\prime_{kr, m} | D_{n - 1})$$ However, the sum over $\mathcal{W}^\prime : W^\prime_{ij, l} = W_{ij, l}$ is intractable. For simplicity, we rewrite the above equation as $$P(y|W_{ij, l}) = \sum_{\mathcal{W}^\prime : W^\prime_{ij, l} = W_{ij, l}} P(y | \mathcal{W}^\prime) \prod_{\{k, r, m\} \ne \{i, j, l\}} P(W^\prime_{kr, m})$$ The term $P(y | \mathcal{W}^\prime)$ is just an indicator of the network output; we can compute it layer by layer by defining $$P(v_m | v_{m - 1}) = \sum_{W^\prime_m} \prod_{k = 1}^{V_m} \left[\mathcal{I}\left\{ v_{k, m} \sum_{r = 1}^{V_m - 1} v_{r, m - 1} W^\prime_{kr, m} > 0 \right\} \prod_{r = 1}^{V_m - 1} P(W^\prime_{kr, m})\right]$$ We can then recursively compute, for a fixed $W_{ij, l}$ \begin{align*} P(v_1) &= P(v_1 | v_0 = x)\\ \forall m \in \{2, \ldots, l - 1\} : P(v_m) &= \sum_{v_{m - 1}} P(v_m | v_{m - 1}) P(v_{m - 1})\\ P(v_l | W_{ij, l}) &= \sum_{v_{l - 1}} P(v_l | v_{l - 1}, W_{ij, l}) P(v_{l - 1}\\ \forall m \in \{l + 1, l + 2, \ldots, L\} : P(v_m | W_{ij, l}) &= \sum_{v_{m - 1}} P(v_m | v_{m - 1})P(v_{m - 1} | W_{ij, l}) \end{align*} These summations are also intractable, so we need to simplify them. In the mean-field approximation, $W_{ij, l}$ are independent and in the limit of infinite fan-in the normalized input to each neuronal layer can be modeled as a Gaussian: $\forall m : u_m = W_m v_{m - 1} / \sqrt{K_m} \sim \mathcal{N}(\mu_m, \Sigma_m)$. This allows us to calculate the distribution for $u_m$ and $v_m$ for any given $v_0$ and $W_{ij, l}$, which gives $P(y | W_{ij, l}$ which we can use to compute the Bayes update of the weights and outputs. The computational complexity is lower when $\Sigma_m$ is diagonal; otherwise, the distribution of $u_m$ is approximated using its mean-field version. Computing $P(v_L = y | W_{ij, l})$ for every $i, j, l$ is wasteful; instead, $\log(P(v_L = y|W_{ij, l}))$ is approximated using a Taylor expansion of $W_{ij, l}$ around its mean $\langle W_{ij, l} \rangle$, giving $\Delta_{k, m} = \partial \log(P(v_L = y))/\partial \mu_{k, m}$.

## The Expectation Backpropagation Algorithm

The EBP algorithm proceeds as follows: First, given input $x$ and desired $y$, compute the mean output $\langle v_l \rangle$ for each layer by setting $\langle v_{k, 0} \rangle = x_k$ and recursively computing \begin{align*} \mu_{k, m} &= \frac{1}{\sqrt{K_m}} \sum_{r = 1}^{V_{m - 1}} \langle W_{kr, m} \rangle \langle v_{r, m - 1} \rangle ; \langle v_{k, m} \rangle = 2\Phi(\mu_{k, m}/\sigma_{k, m}) - 1\\ \sigma^2_{k, m} &= \frac{1}{K_m} \sum_{r = 1}^{V_{m - 1}} \langle W^2_{kr, m} \rangle (\delta_{m, 1} (\langle v_{r, m - 1}\rangle^2 - 1) + 1) - \langle W_{kr, m} \rangle^2 \langle v_{r, m - 1} \rangle^2 \end{align*} where $\delta_{ij} = \mathcal{I}(i = j)$ and $\Phi(x) = \int_{-\infty}^x \mathcal{N}(u | 0, 1)du$. Second, update $P(W_{ij, l} | D_n)$ for all weights by first initializing $$\Delta_{i, L} = y_i \frac{\mathcal{N}(0 | \mu_{i, L}, \sigma^2_{i, L})}{\Phi(y_i\mu_{i, L}/\sigma_{i, L})}$$ then computing \begin{align*} \Delta_{i, l - 1} &= \frac{2}{\sqrt{K_l}} \mathcal{N}(0 | \mu_{i, l - 1}, \sigma^2_{i, l - 1}) \sum_{j = 1}^{V_m} \langle W_{ji, l} \rangle \Delta_{j, l}\\ \log(P(W_{ij, l} | D_n)) &= \log(P(W_{ij, l} | D_{n - 1})) + \frac{1}{\sqrt{K_l}} W_{ij, l} \Delta_{i, l} \langle v_{j, l - 1} \rangle + C \end{align*} where $C$ is a constant. Finally, to compute the output, we can either use the MAP estimate $W_{ij, l}^\ast = \mathrm{argmax}_{W_{ij, l} \in S_{ij, l}} \log(P(W_{ij, l} | D_n))$ to compute $g(x, W^\ast)$ (the “deterministic output”), or we can compute the MAP output (the “probabilistic output”) directly by $$y^\ast = \mathrm{argmax}_{y \in \mathcal{Y}} \log(P(v_L = y)) = \mathrm{argmax}_{y \in \mathcal{Y}} \left[\sum_k \log\left(\frac{1 + \langle v_k, L \rangle}{1 - \langle v_k, L \rangle} \right)^{y_k} \right]$$ Using the EBP algorithm to train binary networks using the probablistic output yielded the best performance on a variety of text classification tasks.


text:
This is an old revision of the document!

# Engineering

Users sometimes find that their jobs take longer than the maximaum runtime permitted by the scheduler to complete. Providing that your model does not automatically re-mesh (for example, after a fracture), you may be able to make use of Abaqus’ built-in checkpointing function.

This will create a restart file (.res file extension) from which a job that is killed can be restarted.

1. Activate the restart feature by adding the line:
*restart, write

at the top of your input file and run your job as normal. It should produce a restart file with a .res file extension.

1. Run the restart analysis with

abaqus job=jobName oldjob=oldjobName ...

where oldJobName is the initial input file and newJobName is a file which contains only the line:

*restart, read

Example:

INPUT: dynam.inp

JOB SCRIPT: job.sh

INPUT FOR RESTART: dynamr.inp

# COMSOL

The following case is provided here including the directories-structure
and the appropriate batch-file: karman.rar

Available version of Comsol can be found by executing the following line:

module avail 2>&1 | grep -i comsol

Currently these versions can be loaded:

• Comsol/5.5
• Comsol/5.6
module load *your preferred module*

In general you define your complete case on your local machine and save it as *.mph file.
This file contains all necessary information to run a successfull calculation on the cluster.

An example of a Job script is shown below.

#!/bin/bash
# slurmsubmit.sh

#SBATCH --nodes=1
#SBATCH --job-name="karman"
#SBATCH --partition=mem_0384
#SBATCH --qos=mem_0384

module purge

MODELTOCOMPUTE="karman"
path=$(pwd) INPUTFILE="${path}/${MODELTOCOMPUTE}.mph" OUTPUTFILE="${path}/${MODELTOCOMPUTE}_result.mph" BATCHLOG="${path}/${MODELTOCOMPUTE}.log" echo "reading the inputfile" echo$INPUTFILE
echo "writing the resultfile to"
echo $OUTPUTFILE echo "COMSOL logs written to" echo$BATCHLOG
echo "and the usual slurm...out"

# COMSOL's internal command for number of nodes -nn and so on (-np, -nnhost, ...) are deduced from SLURM
comsol batch -mpibootstrap slurm -inputfile ${INPUTFILE} -outputfile${OUTPUTFILE} -batchlog ${BATCHLOG} -alivetime 15 -recover -mpidebug 10 COMSOL is generating a huge amount of temporary files during the calculation. These files in general got saved in $HOME and then this error will be occuring. To avoid it, you have to change the path of \$TMPDIR to e.g. /local. So the temporary files will be stored on the SSD-storage local to the compute node. To get rid of this error just expand the comsol command in the job script by the following option:

-tmpdir "/local"
sbatch karman.job

If your case isn't that demanding on hardware and you are interested in a fast solution, it is possible to use one of the shared nodes. These are non-exclusive nodes, thus more than just one job is able to use the provided hardware. On these nodes you have to tell SLURM, how much memory (RAM) your case would need. This value should be less than the maximum of 96GB these nodes uses. Otherwise your job needs a whole node anyway. Here we use –mem=20G, to dedicate 20GB of memory.

#!/bin/bash
# slurmsubmit.sh

#SBATCH -n 1
#SBATCH --job-name="clustsw"
#SBATCH --qos=mem_0096
#SBATCH --mem=20G

hostname

module purge
.


text:
# what is algebric function

Saurabh Singh
9 years ago

Inmathematics, analgebraic functionis afunctionthat can be defined as theroot of a polynomial equation. Quite often algebraic functions can be expressed using a finite number of terms, involving only thealgebraic operationsaddition, subtraction, multiplication, division, and raising to a fractional power:

$f(x)=1/x, f(x)=\sqrt{x}, f(x)=\frac{ \sqrt{1+x^3}}{x^{3/7}-\sqrt{7} x^{1/3}}$

are typical examples.

Thanks & Regards

Saurabh Singh,