##############################

#We encountered a problem with the below example code. The error is shown in the #attached picture. If I delete the code "GH4 = [((n-z1)*(n-z2))/((n-p1)*(n-p2)*(n-p3)*(n-p4)) #for n in s4]", it will work well. I encountered similar problems because of "dividing by #zero". However, it seems the denominator will not be zero for this situation.

###

# Initialization

DOCUMENT();

loadMacros(

"PGstandard.pl",

"MathObjects.pl",

"AnswerFormatHelp.pl",

"answerHints.pl",

"PGcourse.pl",

);

TEXT(beginproblem());

#############################

Context("Complex");

Context()->constants->add( I=>{value => i} );

$z1=1+i;

$z2=1-i;

$p1 = -2;

$p2 = -4;

$p3 = -5;

$p4 = -6;

$pi = pi;

$OS = 25;

$SageCode1=<<END;

prec = 0.001;

p1 = $p1;

p2 = $p2;

p3 = $p3;

p4 = $p4;

z1 = $z1;

z2 = $z2;

I = ComplexDoubleElement(0,1)

##########COMPUTING THE ZETA INTERCEPT

OS = $OS

zeta = - log(OS/100)/sqrt($pi*$pi+log(OS/100)^2)

theta = 180 - 180*acos(zeta)/$pi

s4 = [k*prec*exp(theta *$pi/180*I) for k in range(1,1000*abs(p2))]

# We tried range(500*abs(p2),1000*abs(p2)) and range(1,500*abs(p2)) and they both worked well.

GH4 = [((n-z1)*(n-z2))/((n-p1)*(n-p2)*(n-p3)*(n-p4)) for n in s4]

KPole4 = 2

WEBWORK['KPole4']=KPole4

END

$result= AskSage($SageCode1,{

accepted_tos=>true,

});

$KPole4= Compute($result->{webwork}->{KPole4});

#############################

# Main text

Context()->texStrings;

BEGIN_TEXT

\{ ans_rule(20)\} (Enter answer as comma separated list)

$PAR

END_TEXT

Context()->normalStrings;

##############################

# Answer evaluation

$showPartialCorrectAnswers = 1;

ANS( $KPole4-> cmp()); # number

ENDDOCUMENT();