 assign - Maple Help

ComplexDoubleRTable.assign

assign a complex double into a ComplexDoubleRTable Calling Sequence void assign( int index[], double re, double im ) throws MapleException void assign( int index[], double val[] ) throws MapleException Parameters

 index - index of the entry to assign re - real component of the complex double im - imaginary component of the complex double val - two-element array representing a complex double Description

 • The assign function assigns the complex double (constructed from re and im or val) into the element of the ComplexDoubleRTable indexed by index.
 • The first calling sequence constructs the complex number by assigning re as the real component and im as the imaginary component.  The second calling sequence constructs the complex number by assigning val as the real component and val as the imaginary component.
 • The index parameter is an array of integers, one for each dimension of the ComplexDoubleRTable.  Each integer must be within the bounds determined by lowerBound and upperBound.  The index for dimension $i$ is stored in the array at position $i-1$.
 • As RTables do not have unique representations, elements of an RTable can be assigned to any time. Examples

 import com.maplesoft.openmaple.*; import com.maplesoft.externalcall.MapleException; class Example { public static void main( String notused[] ) throws MapleException { String[] mapleArgs = { "java" }; Engine engine = new Engine( mapleArgs, new EngineCallBacksDefault(), null, null ); ComplexDoubleRTable a1 = (ComplexDoubleRTable)engine.evaluate( "Array( 1..2, 1..2, [[0.1,0.2],[0.3+.3*I,0.4+0.4*I]], datatype=complex):" ); int[] index = new int; index = 1; index = 1; double[] e = new double; e = 0.1; e = 0.1; a1.assign( index, e ); index = 2; index = 1; a1.assign( index, 0.3, 0.0); index = 1; index = 2; e = 0.2; e = 0.2; a1.assign( index, e ); index = 2; index = 2; a1.assign( index, 0.4, 0.0 ); System.out.println( a1 ); } }

Executing this code produces the following output.

 Array(1..2, 1..2, [[.100000000000000004+.100000000000000004*I,.200000000000000010+.200000000000000010*I],[.299999999999999988+0.*I,.400000000000000022+0.*I]], datatype = complex, storage = rectangular, order = Fortran_order)