| Home | Messages | Class XRef |
Numbers are objects that represent numerical values and respond to messages that compute mathematical results. The literal representation of a number is a sequence of digits that may be preceded by a minus sign and/or followed by a decimal point and another sequence of digits.
The classes Integer, Double, and Float are subclasses of the class Number. The class Number defines the general protocol for all numeric classes. Most numbers are either integers or doubles. The Float class is used for efficiency in certain cases. All arithmetic operations between numbers return instances of the class Double. It is not meaningful to create new instances of the Number classes.
The Number class is a direct subclass of the class Ordinal:
Object
|
Ordinal
|
Number
|
|-- Double
|
|-- Float
|
|-- Integer
Many messages defined for the class Number and its subclasses provide a way to perform standard mathematical computations.
The following messages perform the basic arithmetic operations. These messages can be sent to an instance of any Number subclass and return an instance of the Double class. The parameter can be an instance of any Number subclass.
| Message | Definition | Sample |
| + | Add parameter to recipient | 2 + 3 |
| - | Subtract parameter from recipient | 3 - 2 |
| * | Multiply recipient by parameter | 3 * 2 |
| / | Divide recipient by parameter | 3 / 2 |
| toThe: | Raise recipient to the parameter power | 2 toThe: 3 . |
The following messages perform the basic relational operations. These messages can be sent to an instance of any Number subclass and return an instance of the Boolean class. Parameters are an instance of any Number subclass except where explicitly noted.
| Message | Definition | Sample |
| = | Is recipient equal to parameter? | 2 = 2.0 |
| == | Is recipient identical to parameter? | 2 == 2.0 |
| != | Is recipient not equal to parameter? | 2 != 2.0 |
| !== | Is recpient not identical to parameter? | 2 !== 2.0 |
| < | Is recpient less than parameter? | 1 < 2.0 |
| <= | Is recpient less than or equal to parameter? | 1 <= 2.0 |
| > | Is recpient greater than parameter? | 1 > 2.0 |
| >= | Is recpient greater than or equal to parameter? | 1 >= 2.0 |
| between:and: | Is recpient value between two parameter values? | 5 between: 3 and: 7 . |
| inRange: | Is recpient value in the range implied by the parameter, a list of two elements representing the start and end of the range inclusively? | 5 inRange: 3,7 . |
| inSet: | Is recpient equal to one of the values in the parameter, a list containing one or more elements? | 5.0 inSet: 1,3,5,7,9 . |
| notBetween:and: | Is recpient value not between two parameter values? | 5 notBetween: 3 and: 7 . |
| within:percentOf: | Is recpient value within parameter1 percent of parameter2? | 100 within: 10 percentOf: 105 . |
The following messages perform other standard computations. These messages can be sent to an instance of any Number subclass.
| Message | Definition | Sample |
| absoluteValue | Absolute value of recipient | -2 absoluteValue |
| asAPowerOf: | Raise parameter to the recipient power | 3 asAPowerOf: 2 . |
| exp | Raise the constant e (~ 2.7183) to the recipient power | 3 exp |
| log | Compute natural log of recipient | 3 log |
| log: | Compute log of recipient using numeric parameter as base | 3 log: 10 . |
| max: | Returns the larger of recipient and parameter value | 3 max: 4 . |
| min: | Returns the smaller of recipient and parameter value | 3 min: 4 . |
| negated | Multiplies recipient by -1 | 3 negated |
| pctChangeTo: | Computes percentage change between recipient and parameter relative to parameter | 3 pctChangeTo: 2 . |
| round | Round recipient to nearest integer | 3.3 round |
| round: | Round recipient to parameter number of decimals places | 3.333 round: 2 . |
| sign | Returns -1, 0, or 1 based on sign of recipient | 3 sign |
| sqrt | Square root of recipient | 3 sqrt |
The following messages perform other standard computations. These messages are only defined for Integers.
| Message | Definition | Sample |
| adjustedMod: | Recipient modulo parameter, returning an integer between 1 and parameter | 10 adjustedMod: 5 . |
| mod: | Recipient modulo parameter, returning an integer between 0 and parameter - 1 | 10 mod: 5 . |
| numberOfDigits | Integer number of digits in recipient | 3 numberOfDigits |
The following messages perform the basic trigonometric operations. These messages can be sent to an instance of any Number subclass and return an instance of the class Double.
| Message | Sample |
| cosine, sine, tangent | 0 cosine |
| arcCosine, arcSine, arcTangent | 1 arcCosine |
| hyperbolicCosine, hyperbolicSine, hyperbolicTangent | 0 hyperbolicCosine |
Several messages have been defined to convert an instance of Number to an instance of another class.
The following messages convert from one numeric class to another. These messages can be sent to an instance of any Number subclass.
| Message | Definition | Sample |
| asDouble | Convert recipient to a double | 3 asDouble |
| asFloat | Convert recipient to a float | 3 asFloat |
| asInteger | Convert recipient to an integer | 3.0 asInteger |
The following messages convert numbers to instances of other classes. These messages can be sent to an instance of any Number subclass.
| Message | Definition | Sample |
| asDate | Convert recipient in form YYYYMMDD to a Date object | 19960315 asDate |
| asString | Convert recipient to a String object | 123 asString |
| sequence | Create list of recipient elements from 1 to recipient | 10 sequence |
| sequence0 | Create list of recipient elements from 0 to recipient - 1 | 10 sequence0 |
For additional information see:
| Copyright © 1997 Innovative Systems Techniques, Inc. | Updated June 19, 1996 |


Purpose
- Overview of SQL
- Why Could It Be Useful
- Some Examples
Crash Course In SQL and Relational Databases
What is a Relational Database?
Relational Database Table Relationship
Relational Database Table Relationship
SQL Query "JOIN"
SQL Query "JOIN" Results


Home
About
Contact
Videos
General Inquiries
For general questions, please email at info@tommyemmanuel.com


Appointment Form Modified
Make an Appointment
Name:
Email Address:
Date:
If the requested time is unavailble what is your preference?
am
pm
Submit Appointment Request


-
Senate Update: A Troubling Trend For Democrats In Colorado
fivethirtyeight.com
The battle for Senate control has been close all year, but also remarkably consistent. Way back in March, we described Republicans as slight ...
-
Why Eric Holder's Replacement Is Likely To Have A Tough Confirmation
fivethirtyeight.com
Eric Holder is reportedly stepping down as attorney general. We don't yet know whom President Obama will nominate to replace him. But whoever is ...
-
fivethirtyeight/data
github.com
data - Data and code behind the stories and interactives at FiveThirtyEight
-
How FiveThirtyEight Calculates Pollster Ratings
fivethirtyeight.com
See FiveThirtyEight's pollster ratings. Pollster ratings were one of the founding features of FiveThirtyEight. I was rating pollsters before I was ...
-
FiveThirtyEight's Pollster Ratings
fivethirtyeight.com
FiveThirtyEight's pollster ratings are calculated by analyzing the historical accuracy of each firm's polls along with its methodology. Accuracy ...
-
We'll Probably Never Know If The CDC's Grim Ebola Forecast Was Accurate
fivethirtyeight.com
This week, the U.S. Centers for Disease Control and Prevention issued an alarming Ebola forecast: Without an increase in effective interventions, ...
-
Dear Mona, How Often Do People Arrive Late To Appointments?
fivethirtyeight.com
Dear Mona, I am a physician, and like many, the bane of our existence is patients arriving late for our appointments. I would estimate this happens ...
-
Senate Update: A January Runoff In Georgia Is Getting More Likely
fivethirtyeight.com
At FiveThirtyEight, we've been projecting the probability (56.9 percent in the current Senate forecast) that Republicans will have at least 51 seats ...
-
Skeptical Football: Manning Redux, Ancient History And An Award For Tony ...
fivethirtyeight.com
Something marvelous has happened to me. I was transported to the seventh heaven. There sat all the gods assembled. As a special dispensation, I was ...
-
NFL Week 4 Elo Ratings And Playoff Odds
fivethirtyeight.com
Before scrolling down and peeking at the table, take a guess: Which team has the highest projected end-of-season win total according to ...
-
Can Crowdsourcing Tell Us Whether A Burrito Is Any Good?
fivethirtyeight.com
This past summer, FiveThirtyEight took on the somewhat ridiculous task of searching for America’s Best Burrito. Knowing this effort would be ...
-
Revisiting The Greatest Show On Turf
fivethirtyeight.com
Fifteen years ago, Mike Martz had a radical notion: “Why does the run have to set up the pass?” That, according to Sports Illustrated’s Peter King, ...
-
The American Middle Class Hasn’t Gotten A Raise In 15 Years
fivethirtyeight.com
In 1988, the typical American adult was 40 years old, white and married, with a high school diploma. If he was a man, he probably worked full time. ...
-
Senate Update: The Races Most Sensitive To New Polling
fivethirtyeight.com
We've been writing near-daily Senate updates, usually focusing on one or two states. But most races don't see big shifts from week-to-week, let alone ...
-
No Matter Which Country Makes A Movie, Women Are The Minority
fivethirtyeight.com
A new study released Monday from the Media, Diversity and Social Change Initiative (MDSC) at the University of Southern California's Annenberg School ...


There are many fascinating species of wildlife that can only be found in New Zealand. Click a category on the top nav bar to explore!


| 1 | package fr.sii.ogham.testing.assertion.html; | |
| 2 | ||
| 3 | import java.util.List; | |
| 4 | ||
| 5 | import org.custommonkey.xmlunit.DetailedDiff; | |
| 6 | import org.custommonkey.xmlunit.Difference; | |
| 7 | import org.junit.ComparisonFailure; | |
| 8 | import org.slf4j.Logger; | |
| 9 | import org.slf4j.LoggerFactory; | |
| 10 | import org.w3c.dom.Document; | |
| 11 | ||
| 12 | import fr.sii.ogham.testing.assertion.util.HtmlUtils; | |
| 13 | ||
| 14 | /** | |
| 15 | * Utility class for checking HTML content. | |
| 16 | * | |
| 17 | * @author Aurélien Baudet | |
| 18 | * | |
| 19 | */ | |
| 20 | public final class AssertHtml { | |
| 21 | private static final Logger LOG = LoggerFactory.getLogger(AssertHtml.class); | |
| 22 | ||
| 23 | /** | |
| 24 | * Check if the HTML is identical to the expected. The HTML strings are | |
| 25 | * parsed into {@link Document}s. Two documents are considered to be | |
| 26 | * "identical" if they contain the same elements and attributes in the same | |
| 27 | * order. | |
| 28 | * <p> | |
| 29 | * For each difference, the difference will be logged with error level. It | |
| 30 | * will generate a {@link ComparisonFailure} with the expected string and | |
| 31 | * actual string in order to be able to visualize the differences on sources | |
| 32 | * directly in the IDE. | |
| 33 | * </p> | |
| 34 | * | |
| 35 | * @param expected | |
| 36 | * the expected HTML | |
| 37 | * @param actual | |
| 38 | * the HTML content to check | |
| 39 | */ | |
| 40 | public static void assertEquals(String expected, String actual) { | |
| 41 | DetailedDiff diff = HtmlUtils.compare(expected, actual); | |
| 42 |
4
1. assertEquals : negated conditional → NO_COVERAGE 2. assertEquals : negated conditional → KILLED 3. assertEquals : negated conditional → KILLED 4. assertEquals : negated conditional → KILLED |
if (!diff.identical()) { |
| 43 |
2
1. assertEquals : removed call to fr/sii/ogham/testing/assertion/html/AssertHtml::logDifferences → NO_COVERAGE 2. assertEquals : removed call to fr/sii/ogham/testing/assertion/html/AssertHtml::logDifferences → SURVIVED |
logDifferences(diff); |
| 44 | throw new ComparisonFailure("HTML element different to expected one. See logs for details about found differences.\n", expected, actual); | |
| 45 | } | |
| 46 | } | |
| 47 | ||
| 48 | /** | |
| 49 | * Check if the HTML is similar to the expected. The HTML strings are parsed | |
| 50 | * into {@link Document}s. Two documents are considered to be "similar" if | |
| 51 | * they contain the same elements and attributes regardless of order. | |
| 52 | * <p> | |
| 53 | * For each difference, the difference will be logged with error level. It | |
| 54 | * will generate a {@link ComparisonFailure} with the expected string and | |
| 55 | * actual string in order to be able to visualize the differences on sources | |
| 56 | * directly in the IDE. | |
| 57 | * </p> | |
| 58 | * | |
| 59 | * @param expected | |
| 60 | * the expected HTML | |
| 61 | * @param actual | |
| 62 | * the HTML content to check | |
| 63 | */ | |
| 64 | public static void assertSimilar(String expected, String actual) { | |
| 65 | DetailedDiff diff = HtmlUtils.compare(expected, actual); | |
| 66 |
2
1. assertSimilar : negated conditional → NO_COVERAGE 2. assertSimilar : negated conditional → KILLED |
if (!diff.similar()) { |
| 67 |
2
1. assertSimilar : removed call to fr/sii/ogham/testing/assertion/html/AssertHtml::logUnrecoverableDifferences → SURVIVED 2. assertSimilar : removed call to fr/sii/ogham/testing/assertion/html/AssertHtml::logUnrecoverableDifferences → NO_COVERAGE |
logUnrecoverableDifferences(diff); |
| 68 | throw new ComparisonFailure("HTML element different to expected one. See logs for details about found differences.\n", expected, actual); | |
| 69 | } | |
| 70 | } | |
| 71 | ||
| 72 | private static void logDifferences(DetailedDiff diff) { | |
| 73 | for (Difference difference : (List<Difference>) diff.getAllDifferences()) { | |
| 74 | LOG.error(difference.toString()); // NOSONAR | |
| 75 | } | |
| 76 | } | |
| 77 | ||
| 78 | private static void logUnrecoverableDifferences(DetailedDiff diff) { | |
| 79 | for (Difference difference : (List<Difference>) diff.getAllDifferences()) { | |
| 80 |
2
1. logUnrecoverableDifferences : negated conditional → NO_COVERAGE 2. logUnrecoverableDifferences : negated conditional → SURVIVED |
if (!difference.isRecoverable()) { |
| 81 | LOG.error(difference.toString()); // NOSONAR | |
| 82 | } | |
| 83 | } | |
| 84 | } | |
| 85 | ||
| 86 | private AssertHtml() { | |
| 87 | super(); | |
| 88 | } | |
| 89 | } | |
Mutations | ||
| 42 |
1.1 2.2 3.3 4.4 |
|
| 43 |
1.1 2.2 |
|
| 66 |
1.1 2.2 |
|
| 67 |
1.1 2.2 |
|
| 80 |
1.1 2.2 |


Let's talk about all nighters
The morning after - How to survive after an all nighter.
»The morning after - How to survive after an all nighter.
»Dear future Ryan,
»There is a viking ship with all the men rowing down below.
»My 1st job out of college was in the IT department of a franchising company.
»I have so much to tell you and share with you about life but more importantly, my wish is that you feel loved everyday.
»During his physical, the doctor asked the patient about his daily activity level. He described a typical day this way: “Well, yesterday afternoon, I waded along the edge of a lake, drank eight beers, escaped from wild dogs in the heavy brush, jumped away from an aggressive rattlesnake, marched up and down several rocky hills, stood in a patch of poison ivy, crawled out of quicksand and took four leaks behind big trees.”
»


"""
Finite difference weights
=========================
This module implements an algorithm for efficient generation of finite
difference weights for ordinary differentials of functions for
derivatives from 0 (interpolation) up to arbitrary order.
The core algorithm is provided in the finite difference weight generating
function (finite_diff_weights), and two convenience functions are provided
for:
- estimating a derivative (or interpolate) directly from a series of points
is also provided (``apply_finite_diff``).
- making a finite difference approximation of a Derivative instance
(``as_finite_diff``).
"""
from sympy import S
from sympy.core.compatibility import iterable, range
[docs]def finite_diff_weights(order, x_list, x0=S(0)):
"""
Calculates the finite difference weights for an arbitrarily
spaced one-dimensional grid (x_list) for derivatives at 'x0'
of order 0, 1, ..., up to 'order' using a recursive formula.
Order of accuracy is at least len(x_list) - order, if x_list
is defined accurately.
Parameters
==========
order: int
Up to what derivative order weights should be calculated.
0 corresponds to interpolation.
x_list: sequence
Sequence of (unique) values for the independent variable.
It is usefull (but not necessary) to order x_list from
nearest to farest from x0; see examples below.
x0: Number or Symbol
Root or value of the independent variable for which the finite
difference weights should be generated. Defaults to S(0).
Returns
=======
list
A list of sublists, each corresponding to coefficients for
increasing derivative order, and each containing lists of
coefficients for increasing subsets of x_list.
Examples
========
>>> from sympy import S
>>> from sympy.calculus import finite_diff_weights
>>> res = finite_diff_weights(1, [-S(1)/2, S(1)/2, S(3)/2, S(5)/2], 0)
>>> res
[[[1, 0, 0, 0],
[1/2, 1/2, 0, 0],
[3/8, 3/4, -1/8, 0],
[5/16, 15/16, -5/16, 1/16]],
[[0, 0, 0, 0],
[-1, 1, 0, 0],
[-1, 1, 0, 0],
[-23/24, 7/8, 1/8, -1/24]]]
>>> res[0][-1] # FD weights for 0th derivative, using full x_list
[5/16, 15/16, -5/16, 1/16]
>>> res[1][-1] # FD weights for 1st derivative
[-23/24, 7/8, 1/8, -1/24]
>>> res[1][-2] # FD weights for 1st derivative, using x_list[:-1]
[-1, 1, 0, 0]
>>> res[1][-1][0] # FD weight for 1st deriv. for x_list[0]
-23/24
>>> res[1][-1][1] # FD weight for 1st deriv. for x_list[1], etc.
7/8
Each sublist contains the most accurate formula at the end.
Note, that in the above example res[1][1] is the same as res[1][2].
Since res[1][2] has an order of accuracy of
len(x_list[:3]) - order = 3 - 1 = 2, the same is true for res[1][1]!
>>> from sympy import S
>>> from sympy.calculus import finite_diff_weights
>>> res = finite_diff_weights(1, [S(0), S(1), -S(1), S(2), -S(2)], 0)[1]
>>> res
[[0, 0, 0, 0, 0],
[-1, 1, 0, 0, 0],
[0, 1/2, -1/2, 0, 0],
[-1/2, 1, -1/3, -1/6, 0],
[0, 2/3, -2/3, -1/12, 1/12]]
>>> res[0] # no approximation possible, using x_list[0] only
[0, 0, 0, 0, 0]
>>> res[1] # classic forward step approximation
[-1, 1, 0, 0, 0]
>>> res[2] # classic centered approximation
[0, 1/2, -1/2, 0, 0]
>>> res[3:] # higher order approximations
[[-1/2, 1, -1/3, -1/6, 0], [0, 2/3, -2/3, -1/12, 1/12]]
Let us compare this to a differently defined x_list. Pay attention to
foo[i][k] corresponding to the gridpoint defined by x_list[k].
>>> from sympy import S
>>> from sympy.calculus import finite_diff_weights
>>> foo = finite_diff_weights(1, [-S(2), -S(1), S(0), S(1), S(2)], 0)[1]
>>> foo
[[0, 0, 0, 0, 0],
[-1, 1, 0, 0, 0],
[1/2, -2, 3/2, 0, 0],
[1/6, -1, 1/2, 1/3, 0],
[1/12, -2/3, 0, 2/3, -1/12]]
>>> foo[1] # not the same and of lower accuracy as res[1]!
[-1, 1, 0, 0, 0]
>>> foo[2] # classic double backward step approximation
[1/2, -2, 3/2, 0, 0]
>>> foo[4] # the same as res[4]
[1/12, -2/3, 0, 2/3, -1/12]
Note that, unless you plan on using approximations based on subsets of
x_list, the order of gridpoints does not matter.
The capability to generate weights at arbitrary points can be
used e.g. to minimize Runge's phenomenon by using Chebyshev nodes:
>>> from sympy import cos, symbols, pi, simplify
>>> from sympy.calculus import finite_diff_weights
>>> N, (h, x) = 4, symbols('h x')
>>> x_list = [x+h*cos(i*pi/(N)) for i in range(N,-1,-1)] # chebyshev nodes
>>> print(x_list)
[-h + x, -sqrt(2)*h/2 + x, x, sqrt(2)*h/2 + x, h + x]
>>> mycoeffs = finite_diff_weights(1, x_list, 0)[1][4]
>>> [simplify(c) for c in mycoeffs] #doctest: +NORMALIZE_WHITESPACE
[(h**3/2 + h**2*x - 3*h*x**2 - 4*x**3)/h**4,
(-sqrt(2)*h**3 - 4*h**2*x + 3*sqrt(2)*h*x**2 + 8*x**3)/h**4,
6*x/h**2 - 8*x**3/h**4,
(sqrt(2)*h**3 - 4*h**2*x - 3*sqrt(2)*h*x**2 + 8*x**3)/h**4,
(-h**3/2 + h**2*x + 3*h*x**2 - 4*x**3)/h**4]
Notes
=====
If weights for a finite difference approximation of 3rd order
derivative is wanted, weights for 0th, 1st and 2nd order are
calculated "for free", so are formulae using subsets of x_list.
This is something one can take advantage of to save computational cost.
Be aware that one should define x_list from nearest to farest from
x_list. If not, subsets of x_list will yield poorer approximations,
which might not grand an order of accuracy of len(x_list) - order.
See also
========
sympy.calculus.finite_diff.apply_finite_diff
References
==========
.. [1] Generation of Finite Difference Formulas on Arbitrarily Spaced
Grids, Bengt Fornberg; Mathematics of computation; 51; 184;
(1988); 699-706; doi:10.1090/S0025-5718-1988-0935077-0
"""
# The notation below closely corresponds to the one used in the paper.
if order < 0:
raise ValueError("Negative derivative order illegal.")
if int(order) != order:
raise ValueError("Non-integer order illegal")
M = order
N = len(x_list) - 1
delta = [[[0 for nu in range(N+1)] for n in range(N+1)] for
m in range(M+1)]
delta[0][0][0] = S(1)
c1 = S(1)
for n in range(1, N+1):
c2 = S(1)
for nu in range(0, n):
c3 = x_list[n]-x_list[nu]
c2 = c2 * c3
if n <= M:
delta[n][n-1][nu] = 0
for m in range(0, min(n, M)+1):
delta[m][n][nu] = (x_list[n]-x0)*delta[m][n-1][nu] -\
m*delta[m-1][n-1][nu]
delta[m][n][nu] /= c3
for m in range(0, min(n, M)+1):
delta[m][n][n] = c1/c2*(m*delta[m-1][n-1][n-1] -
(x_list[n-1]-x0)*delta[m][n-1][n-1])
c1 = c2
return delta
[docs]def apply_finite_diff(order, x_list, y_list, x0=S(0)):
"""
Calculates the finite difference approximation of
the derivative of requested order at x0 from points
provided in x_list and y_list.
Parameters
==========
order: int
order of derivative to approximate. 0 corresponds to interpolation.
x_list: sequence
Sequence of (unique) values for the independent variable.
y_list: sequence
The function value at corresponding values for the independent
variable in x_list.
x0: Number or Symbol
At what value of the independent variable the derivative should be
evaluated. Defaults to S(0).
Returns
=======
sympy.core.add.Add or sympy.core.numbers.Number
The finite difference expression approximating the requested
derivative order at x0.
Examples
========
>>> from sympy.calculus import apply_finite_diff
>>> cube = lambda arg: (1.0*arg)**3
>>> xlist = range(-3,3+1)
>>> apply_finite_diff(2, xlist, map(cube, xlist), 2) - 12 # doctest: +SKIP
-3.55271367880050e-15
we see that the example above only contain rounding errors.
apply_finite_diff can also be used on more abstract objects:
>>> from sympy import IndexedBase, Idx
>>> from sympy.calculus import apply_finite_diff
>>> x, y = map(IndexedBase, 'xy')
>>> i = Idx('i')
>>> x_list, y_list = zip(*[(x[i+j], y[i+j]) for j in range(-1,2)])
>>> apply_finite_diff(1, x_list, y_list, x[i])
(-1 + (x[i + 1] - x[i])/(-x[i - 1] + x[i]))*y[i]/(x[i + 1] - x[i]) + \
(-x[i - 1] + x[i])*y[i + 1]/((-x[i - 1] + x[i + 1])*(x[i + 1] - x[i])) - \
(x[i + 1] - x[i])*y[i - 1]/((-x[i - 1] + x[i + 1])*(-x[i - 1] + x[i]))
Notes
=====
Order = 0 corresponds to interpolation.
Only supply so many points you think makes sense
to around x0 when extracting the derivative (the function
need to be well behaved within that region). Also beware
of Runge's phenomenon.
See also
========
sympy.calculus.finite_diff.finite_diff_weights
References
==========
Fortran 90 implementation with Python interface for numerics: finitediff_
.. _finitediff: https://github.com/bjodah/finitediff
"""
# In the original paper the following holds for the notation:
# M = order
# N = len(x_list) - 1
N = len(x_list) - 1
if len(x_list) != len(y_list):
raise ValueError("x_list and y_list not equal in length.")
delta = finite_diff_weights(order, x_list, x0)
derivative = 0
for nu in range(0, len(x_list)):
derivative += delta[order][N][nu]*y_list[nu]
return derivative
[docs]def as_finite_diff(derivative, points=1, x0=None, wrt=None):
"""
Returns an approximation of a derivative of a function in
the form of a finite difference formula. The expression is a
weighted sum of the function at a number of discrete values of
(one of) the independent variable(s).
Parameters
==========
derivative: a Derivative instance (needs to have an variables
and expr attribute).
points: sequence or coefficient, optional
If sequence: discrete values (length >= order+1) of the
independent variable used for generating the finite
difference weights.
If it is a coefficient, it will be used as the step-size
for generating an equidistant sequence of length order+1
centered around x0. default: 1 (step-size 1)
x0: number or Symbol, optional
the value of the independent variable (wrt) at which the
derivative is to be approximated. default: same as wrt
wrt: Symbol, optional
"with respect to" the variable for which the (partial)
derivative is to be approximated for. If not provided it
is required that the Derivative is ordinary. default: None
Examples
========
>>> from sympy import symbols, Function, exp, sqrt, Symbol, as_finite_diff
>>> x, h = symbols('x h')
>>> f = Function('f')
>>> as_finite_diff(f(x).diff(x))
-f(x - 1/2) + f(x + 1/2)
The default step size and number of points are 1 and ``order + 1``
respectively. We can change the step size by passing a symbol
as a parameter:
>>> as_finite_diff(f(x).diff(x), h)
-f(-h/2 + x)/h + f(h/2 + x)/h
We can also specify the discretized values to be used in a sequence:
>>> as_finite_diff(f(x).diff(x), [x, x+h, x+2*h])
-3*f(x)/(2*h) + 2*f(h + x)/h - f(2*h + x)/(2*h)
The algorithm is not restricted to use equidistant spacing, nor
do we need to make the approximation around x0, but we can get
an expression estimating the derivative at an offset:
>>> e, sq2 = exp(1), sqrt(2)
>>> xl = [x-h, x+h, x+e*h]
>>> as_finite_diff(f(x).diff(x, 1), xl, x+h*sq2)
2*h*((h + sqrt(2)*h)/(2*h) - (-sqrt(2)*h + h)/(2*h))*f(E*h + x)/\
((-h + E*h)*(h + E*h)) + (-(-sqrt(2)*h + h)/(2*h) - \
(-sqrt(2)*h + E*h)/(2*h))*f(-h + x)/(h + E*h) + \
(-(h + sqrt(2)*h)/(2*h) + (-sqrt(2)*h + E*h)/(2*h))*f(h + x)/(-h + E*h)
Partial derivatives are also supported:
>>> y = Symbol('y')
>>> d2fdxdy=f(x,y).diff(x,y)
>>> as_finite_diff(d2fdxdy, wrt=x)
-f(x - 1/2, y) + f(x + 1/2, y)
See also
========
sympy.calculus.finite_diff.apply_finite_diff
sympy.calculus.finite_diff.finite_diff_weights
"""
if wrt is None:
wrt = derivative.variables[0]
# we need Derivative to be univariate to guess wrt
if any(v != wrt for v in derivative.variables):
raise ValueError('if the function is not univariate' +
' then `wrt` must be given')
order = derivative.variables.count(wrt)
if x0 is None:
x0 = wrt
if not iterable(points):
# points is simply the step-size, let's make it a
# equidistant sequence centered around x0
if order % 2 == 0:
# even order => odd number of points, grid point included
points = [x0 + points*i for i
in range(-order//2, order//2 + 1)]
else:
# odd order => even number of points, half-way wrt grid point
points = [x0 + points*i/S(2) for i
in range(-order, order + 1, 2)]
if len(points) < order+1:
raise ValueError("Too few points for order %d" % order)
return apply_finite_diff(order, points, [
derivative.expr.subs({wrt: x}) for x in points], x0)


?JARDIN
BOTANICO
NACIONAL
"DR.
RAFAEL
M.
MOSCOSO
SANTO
DOMINGO,
REPUBLICA
DOMtNICANA
^
9733
CAMã,A
Menyanthaceae_
Nymphoides
indica
(L.)
Kuntze
i
BOTANICAL
GARDE**,
New
York
Botanical
Garden
IbaMTSl
Petals
white;
fimbriate
edges;
fl,
protrude
above
water;
leaves
float
on
water.
Repdblica
Dominicanaj
Distrito
Nacional:
Laguna
La
Jagdita,
near
La
Batata;
pond
with
much
nymphoides
cattle
grazed
edges;
18¡35.5'N,
69¡38*W,
alt.
10
m.
December
9,
1930.
M.
Mejia,
T.
Zanoni.
1624951
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


This is a placeholder for a website that can be deployed using CloudFormation and hosted using S3, CloudFront and Lambda@Edge.
This public/
directory should be emptied and replaced with your own content.
See README.md
for details.
Here is an image, for illustration purposes...


Apple Crisp in a Mug
The following recipe is for Apple Crisp with a twist, in a mug. This is a fast, cheap, and delicious dinner to make for university students to enjoy eating.
Ingredients
- 1 Apple
- 2 TBS Butter
- 1/2 tsp Cinnamon
- 2 TBS Brown Sugar
- 1 pkg instant oatmeal (29 grams)
Steps:
Start:
Start by gathering all your ingredients together.
Step 1:
Peel the apple. Note: A little bit of skin can be left on.
Step 2:
Chop up apple into small chunks. Do not use core. Put apple chunks into mug.
Step 3:
Add Cinnamon to apple chunks in mug. Stir until evenly coated.
Step 4:
Blend together oats, brown sugar and butter in a bowl. Make sure its evenly mixed together.
Step 5:
Place oats mixture ontop of apple chunks in mug.
Step 6:
Microwave mug with ingredients for 1 minute.
Step 7:
Let stand to cool for 3 minutes.
Finish!
Stir in oats with apple and enjoy!


#include "jrb.h",and then compile the program with:
gcc -I/blugreen/homes/plank/cs360/includeWhen you link your object files to make an executable, follow the directions in the libfdr lecture notes.
The makefile in this directory does both of these things for you.
The main struct for rb-trees is the JRB. Like dllists, all rb-trees have a header node. You create a rb-tree by calling make_jrb(), which returns a pointer to the header node of an empty rb-tree. This header points to the main body of the rb-tree, which you don't need to care about, and to the first and last external nodes of the tree. These external nodes are hooked together with flink and blink pointers, so that you can view rb-trees as being dlists with the property that they are sorted, and you can find any node in the tree in O(log(n)) time.
Like dllists, each node in the tree has a val field, which is a Jval. Additionally, each node has a key field, which is also a Jval. The rb-tree tree makes sure that the keys are sorted. How they are sorted depends on the tree.
Note that it returns a pointer to the new jrb tree node. Also note that if the key is already in the tree, then it still creates a new node and puts it into the tree. No guarantees are made concerning the relative ordering of duplicate keys.
Even though the key is a string, it will be converted into a Jval in the new node. Thus, if you want to get at the key of node s, you should either use jval_s(s->key) or s->key.s.
This lets you do more sophisticated things than simply sorting with integers and strings. For example, strisort.c sorts strings but ignores case. strrsort2.c sorts strings in reverse order. Read these over.
To find keys, you use one of jrb_find_str(), jrb_find_int(), jrb_find_dbl() or jrb_find_gen(). Obviously, if you inserted keys with jrb_insert_str(), then you should use jrb_find_str() to find them. If the key that you're looking for is not in the tree, then jrb_find_xxx() returns NULL.
Finally, there are also: jrb_find_gte_str(), jrb_find_gte_int(), jrb_find_gte_dbl() and jrb_find_gte_gen(). These return the jrb tree node whose key is either equal to the specified key, or whose key is the smallest one greater than the specified key. If the specified key is greater than any in the tree, it will return a pointer to the sentinel node. It has an argument found that is set to tell you if the key was found or not.
A second way to do this is to have a two-level tree. The first tree has integers as keys and is based on the atoi() value of each line. The val field of each node, however, is another red-black tree. This red-black tree contains each line whose atoi() value is equal to the key of the node, sorted lexicographically. Thus, when you read a line, you first see if its atoi() value is in the tree. If so, you get a pointer to the val field of that node. Of not, you insert a new node into the tree whose key is the atoi(), and whose val field is a new, empty red-black tree. Now, you have a pointer to the red-black tree in the val field of the node whose key is the atoi() value of the string. What you do now is insert the string into this second red-black tree using jrb_insert_str(). When you're done, you have a big two-level red-black tree. You traverse it by traversing the top level tree, and for each node in that tree, you traverse the tree in its val field and print out the strings. See the code.
Now, suppose that we want to do some data processing on these files. For example, suppose we'd like to sort each player so that we first print out the players that have played the most tournaments, and then within that, we sort by the player with the lowest average score.
This is what golf.c does. It takes score files on the command line, then reads in all the players and scores. Then it sorts them by number of tournaments/average score, and prints them out in that order, along with their score for each tournament. For example, look at score1:
Jose Maria Olazabal -1 F -8 Davis Love III -1 F -6 Greg Norman +1 F -5and score2:
Greg Norman +1 F +9 David Frost +3 F +10 Davis Love III -2 F +11The golf program reads in these two files, and ranks the four players by number of tournaments, and then average score:
UNIX> golf score1 score2 Greg Norman : 2 tournaments : 2.00 -5 : score1 9 : score2 Davis Love III : 2 tournaments : 2.50 -6 : score1 11 : score2 Jose Maria Olazabal : 1 tournament : -8.00 -8 : score1 David Frost : 1 tournament : 10.00 10 : score2
Ok, now how does golf work? Well it works in three phases. In the first phase, it reads the input files to create a struct for each golfer. The data structure for this is a red-black tree keyed on the golfer's name, and whose val fields are Golfer structs that have the following defintion:
typedef struct { char *name; int ntourn; int tscore; Dllist scores; } Golfer;The first three fields are obvious. The last field is a list of the golfer's scores. Each element of the list points to a Score struct with the following definition:
typedef struct { char *tname; /* File name */ int score; /* Total score */ } Score;Note, in each file, we are going to ignore the ``sunday score.''
So, to read in the golfers, we create the jrb tree golfers, and then read in each line of each input file. For each line, we construct the golfer's name, and then we look to see if the golfer has an entry in the golfers tree. If there is no such entry, then one is created. Once the entry is found/created, the score for that file is added. When all the files have been read, phase 1 is completed:
Golfer *g; Score *s; JRB golfers, rnode; int i, fn; int tmp; IS is; char name[1000]; Dllist dnode; golfers = make_jrb(); for (fn = 1; fn < argc; fn++) { is = new_inputstruct(argv[fn]); if (is == NULL) { perror(argv[fn]); exit(1); } while(get_line(is) >= 0) { /* Error check each line */ if (is->NF < 4 || strcmp(is->fields[is->NF-2], "F") != 0 || sscanf(is->fields[is->NF-1], "%d", &tmp) != 1 || sscanf(is->fields[is->NF-3], "%d", &tmp) != 1) { fprintf(stderr, "File %s, Line %d: Not the proper format\n", is->name, is->line); exit(1); } /* Construct the golfer's name */ strcpy(name, is->fields[0]); for (i = 1; i < is->NF-3; i++) { strcat(name, " "); strcat(name, is->fields[i]); } /* Search for the name */ rnode = jrb_find_str(golfers, name); /* Create an entry if none exists. */ if (rnode == NULL) { g = (Golfer *) malloc(sizeof(Golfer)); g->name = strdup(name); g->ntourn = 0; g->tscore = 0; g->scores = new_dllist(); jrb_insert_str(golfers, g->name, new_jval_v(g)); } else { g = (Golfer *) rnode->val.v; } /* Add the information to the golfer's struct */ s = (Score *) malloc(sizeof(Score)); s->tname = argv[fn]; s->score = atoi(is->fields[is->NF-1]); g->ntourn++; g->tscore += s->score; dll_append(g->scores, new_jval_v(s)); } /* Go on to the next file */ jettison_inputstruct(is); }Now, this gives us all the information on the golfers, but they are sorted by the golfers' names, not by number of tournaments / average score. Thus, in phase 2, we construct a second red-black tree which will sort the golfers correctly. To do this, we need to construct our own comparison function that compares golfers by number of tournaments / average score. Here is the comparison function:
int golfercomp(Jval j1, Jval j2) { Golfer *g1, *g2; g1 = (Golfer *) j1.v; g2 = (Golfer *) j2.v; if (g1->ntourn > g2->ntourn) return 1; if (g1->ntourn < g2->ntourn) return -1; if (g1->tscore < g2->tscore) return 1; if (g1->tscore > g2->tscore) return -1; return 0; }And here is the part of main where the second red-black tree is built:
sorted_golfers = make_jrb(); jrb_traverse(rnode, golfers) { jrb_insert_gen(sorted_golfers, rnode->val, JNULL, golfercomp); }Note, you pass a Jval to jrb_insert_gen.
Finally, the third phase is to traverse the sorted_golfers tree, printing out the correct information for each golfer. This is straightforward, and done below:
jrb_rtraverse(rnode, sorted_golfers) { g = (Golfer *) rnode->key.v; printf("%-40s : %3d tournament%1s : %7.2f\n", g->name, g->ntourn, (g->ntourn == 1) ? "" : "s", (float) g->tscore / (float) g->ntourn); dll_traverse(dnode, g->scores) { s = (Score *) dnode->val.v; printf(" %3d : %s\n", s->score, s->tname); } }Try it out. You'll see that Tiger Woods did the best in all four majors this year:
UNIX> golf 1999_Majors/* Tiger Woods : 4 tournaments : 0.25 10 : 1999_Majors/British_Open 1 : 1999_Majors/Masters -11 : 1999_Majors/PGA_Champ 1 : 1999_Majors/US_Open Colin Montgomerie : 4 tournaments : 3.75 12 : 1999_Majors/British_Open -1 : 1999_Majors/Masters -6 : 1999_Majors/PGA_Champ 10 : 1999_Majors/US_Open Davis Love III : 4 tournaments : 4.50 10 : 1999_Majors/British_Open -6 : 1999_Majors/Masters 5 : 1999_Majors/PGA_Champ 9 : 1999_Majors/US_Open Jim Furyk : 4 tournaments : 4.50 11 : 1999_Majors/British_Open 0 : 1999_Majors/Masters -4 : 1999_Majors/PGA_Champ 11 : 1999_Majors/US_Open Nick Price : 4 tournaments : 4.75 17 : 1999_Majors/British_Open -3 : 1999_Majors/Masters -7 : 1999_Majors/PGA_Champ 12 : 1999_Majors/US_Open ...


Lady Vol Jordan Horston faces judge on shoplifting charges
SEVIERVILLE, Tenn. (WVLT) — Lady Vol Jordan Horston faced a judge Thursday after being arrested and charged with shoplifting at Tommy Hilfiger at Tanger Outlets in Sevierville in August.
According to court documents, Horston is accused of concealing merchandise, then leaving the store without paying on August 3.
A report shows Horston admitted to taking items valued at $124.97.
A Tommy Hilfiger employee reportedly witnessed the incident and called police.
Thursday, a judge granted Horston diversion for 11 months and 29 days. She must complete 20 hours of public service and pay court costs. She is also banned from Tanger Outlet Mall.
According to records, after completion of the requirements, the case will be dismissed and the charges expunged from Horston's record.
Horston has already been reprimanded by the University, but officials said she will continue to play on the team.
Lady Vols spokesperson Eric Trainer said, "We have been aware of this situation. It was addressed initially back in the summer, including a game suspension during the team's European trip. We believe Jordan has learned from this and used it as an opportunity for growth."


Copyright (C) 2006 Peter J Jones<EMAIL_ADDRESS>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
—
This started as a branch of the uformatparser lib by: Author:: Assaf Arkin<EMAIL_ADDRESS>Documentation:: http://trac.labnotes.org/cgi-bin/trac.cgi/wiki/Ruby/MicroformatParser Copyright:: Copyright (c) 2005 Assaf Arkin License:: Creative Commons Attribution-ShareAlike Rewrite and Hpricot support by Michael Garriss
++
Required Files
- yaml
- scrapes/hpricot
Classes and Modules
- MODULE Scrapes


Certificate Generator
Certificate generator
Create certificate anytime
Person Name
Event Name
Date of issue of certificate:
Upload Signature:
Select Template
Generate Certificate
click here to view certificate


I am an Economics major with a minor in Integrated Marketing Communications. I have a passion for Econometrics and data science.
THE LINK TO "MyCode" IS THE GitHub devicon BELOW, NEXT TO THE LINKDIN devicon
Learned how to code various programs and how to analyze and computate data frames using Pandas and Jupyter. The course also required web design using HTML
Manage 70 leaders and coordinate the formation of 150 student led study groups each quarter. Analyze data from a cross-platform database and illustrate statistical findings using Excel. Manage the hiring and training process for new instructional leaders. Run weekly staff meetings
Developed and evaluated investment strategies. Aided with different tasks to ensure a smooth and efficient operation that manages peoples' money. Assisted in writing financial summaries for specific clients, including financial history of investments, losses, and monthly incomes valued at $100,000+ using excel spreadsheets.
 In the summers, I enjoy spending my time at the beach and doing yoga. During the winter holidays, I love going on family ski trips and playing boardgames.
In school, I have found a passion for Econometrics and data analyis. After taking a few econometrics courses that required me to use STATA and JMP, I decided to further my human capital by learning more programming languages such as Python.
Besides the analytical side to my education, I decided to pursue a minor in marketing communications to utlize both sides of my logical and creative mind. I have taken public relations courses that tought me how to mitigate tense situations between the company and the client. I have also taken Photoshop and Illustrator courses that practiced my design skills.


"KOHATHITES "the descendants of Kohath. They formed the first of the three divisions of the Levites (Exodus 6:16, 18; Numbers 3:17). In the journeyings of the Israelites they had the charge of the most holy portion of the vessels of the tabernacle, including the ark (Numbers 4). Their place in the marching and encampment was south of the tabernacle (Numbers 3:29, 31). Their numbers at different times are specified (3:28; 4:36; 26:57, 62). Samuel was of this division.
"KOHATHITES "the descendants of Kohath. They formed the first of the three divisions of the Levites (Exodus 6:16, 18; Numbers 3:17). In the journeyings of the Israelites they had the charge of the most holy portion of the vessels of the tabernacle, including the ark (Numbers 4). Their place in the marching and encampment was south of the tabernacle (Numbers 3:29, 31). Their numbers at different times are specified (3:28; 4:36; 26:57, 62). Samuel was of this division.


Hello!..
I'm
Ankit Kumar
, a
Web Developer
.
Developing web based cloud applications based on Asp.Net and Azure


Product No1
Rugged and elegant design that combines thick layer of wood and a front glass panel makes it perfect for a desk clock.
This clock works in a way that it spell out time for you in five minute intervals and lights those words out in any color your want. Additional markings on the clock make it possible to read time in one-minute intervals!
Since it's entirely handmade, you can order it in a color that fits your environment and even ask for a specific set of light colors to be coded just for you!
There's a 15 character customizable space at the end of the glass panel that lets you order a dedicated message that will light up at the certain time of the day!

Even if there is no electricity, it will not lose time next time you turn it on
Perfect clock to give as a gift to anyone!


Documents bought from FPI and FaP
<EMAIL_ADDRESS>has bought the following documents from FPI and FaP
| Date | Service/product | Document bought | |
|---|---|---|---|
| Mon 26thJune 17 | Find property information | 25 Albert Lane, SO15 3GT Freehold summary (DN100001) |
generate pdf locally or, generate & email |
| 15thFeb 17 | Find a Property | 12 College Gate, PL1 1LP Freehold title register (GL34004) |
cannot reissue from this tool |
| 12 College Gate, PL1 1LP Freehold title plan (GL34004) |
cannot reissue from this tool |


You requested a missing resource or an unsupported URL!
This service scales/crops images with fixed configurable resolutions and provides metadata.
/image/(resize|crop)/{WIDTH}x{HEIGHT}/{IMAGE}Provides a resized/cropped version of IMAGE.
/image/info/{IMAGE}Provides image type and resolution of IMAGE as JSON.
/image/infoLists available image resolutions and transformations as JSON.


Please scan Aadhar Card to get patient details.
Aadhar Card scanned!
Aadhar Number:
Name:
Date Of Birth:
Gender:
Address:
City:
State:
Pincode:
Please wait while we fetch patient history.
Patient History:
Next
Symptoms
Cough lasting for 3 weeks or longer
Chest Pain
Coughing up blood or sputum
Fatigue
Weight Loss
No Appetite
Chills
Fever
Sweating at Night
Select The Medicine
Isoniazid/Rifampin/Ethambutol
Rifampin/Ethambutol/Pyrazinamide
Isoniazid/Ethambutol/Pyrazinamide
Isoniazid/Rifampin/Pyrazinamide
Patient Cured
Update Patient log
Updating patient data!
Thank you for updating!


Questions Call us toll free:
+1 234 4567 890
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed facilisis risus odio, eget euismod velit imperdiet non. Vestibulum ut suscipit mauris. In aliquet at erat sit amet pharetra.
Want to say hello? Want to know more about us? Give us a call or drop us an email and we will get back to you as soon as possible.


HDL
A class of lipoproteins of small size (4-13 nm) and dense (greater than 1.063 g/ml) particles. HDL lipoproteins, synthesized in the liver without a lipid core, accumulate cholesterol esters from peripheral tissues and transport them to the liver for re-utilization or elimination from the body (the reverse cholesterol transport). Their major protein component is APOLIPOPROTEIN A-I. HDL also shuttle APOLIPOPROTEINS C and APOLIPOPROTEINS E to and from triglyceride-rich lipoproteins during their catabolism. HDL plasma level has been inversely correlated with the risk of cardiovascular diseases.
(mesh:D008075)
Cross-references
Synonyms
| Synonym |
Reference |
Specificity |
| HDL |
|
Exact
|
| High-density lipoproteins |
|
Exact
|
Incoming Relations
Outgoing Relations
None available.


{% include 'pages/header_css_libs.html' %} {% include 'pages/header_js_libs.html' %}
Oppia is currently being upgraded, and the site should be up and running again in a few hours. Thanks for your patience!


Business & Marketing Information
Updated October 29, 2004
This page contains the business and marketing content of jxta.org.
Hosting the JXTA(TM) button
You can show your affiliation with the JXTA community by putting a JXTA Connected button on your website. Download the button.
Co-marketing for ISVs
Are you building a commercially available application using JXTA technology? We can help increase your exposure through co-marketing opportunities.
JXTA Solutions
JXTA Success Stories
- Brevient Technologies - Success Story on Brevient Technologies who developed a Web Conferencing application using Java and JXTA technologies.
- DigitalDream - Success story about DigitalDream who created a workgroup application using Java and JXTA technologies.
- Ericsson Microwave Systems - Teaming Up On Network-Centric Warfare Initiatives
- Peercom - Success Story on Peercom who developed a personal digital content management application using Java and JXTA technologies.
- Petroleum Convenience Alliance for Technology Standards (PCATS) - Success Story on PCATS who established JXTA technology as the way to ease electronic communication in connected convenience stores.
- Zudha Information Technology - Success story about Zudha who created a chat application using Java and JXTA technologies.
Presentations & Information
JXTA Awards
JXTA News
Community Page
Press Box Page
Naming Conventions
'JXTA' is the name of a collaborative project, not a product or service.
Therefore, we recommend that it is used by project participants in a manner
consistent with this purpose. 'JXTA' should not be used in the name of
any products or service implementing technologies developed as part of
Project JXTA.
Sun Microsystems would not object to use of the words 'JXTA' or 'Project
JXTA' to describe other collaborative activity taking place within the
Project JXTA. While JXTA should not be used as the name of a product or
service, Sun would not object to the use of the phrase 'Project JXTA' in
product descriptions.
As in any instance where you use a product or service name, we suggest
you consult your own attorney and have the name searched for potential
conflicts with other companies.
SUN DISCLAIMS ANY WARRANTIES THAT MAY BE EXPRESS OR IMPLIED BY LAW REGARDING
THE NAME 'JXTA', INCLUDING WARRANTIES AGAINST INFRINGEMENT OF THIRD PARTY
RIGHTS AND ANY OTHER WARRANTIES THAT MAY BE IMPLIED BY APPLICABLE LAW.
SUN DOES NOT GRANT ANY INDEMNITY AGAINST INFRINGEMENT OR OTHER CLAIMS ARISING
FROM YOUR USE OF THE 'JXTA' NAME.


6. Execution¶
Executing FloatingSE requires additional inputs beyond those of the geometry definition described above in Section Geometry. Other user inputs for the metocean and loading environment, and the operational constraints, are required to evaluate the total mass, cost, and code compliance. These variables are described below, followed by the sequence of FloatingSE calculations.
6.1. User Inputs¶
The remaining input variables beyond those listed in Section Geometry describe the metocean environment, the turbine geometry and loading, as well as loading constraints. The loading constraints are more relevant in the context of optimization, so they are described later in Section Optimization. The remaining variables are explained below.
6.1.1. Metocean Environment¶
The metocean condition is specified by the water and wind environment. Geographical dependence is chiefly captured by specifying the water depth. The wave loading is parameterized by setting the significant wave height, periodicity, and mean current speed (if any). Physical properties of the water, specifically the density and viscosity, are also captured. The user may also set the added mass constant used in Equation [eqn:morison] (Morison’s equation). All of these variables cumulatively are in Table 6.1.
| Variable | Type | Units | Description |
|---|---|---|---|
water_depth |
Float scalar | \(m\) | Distance to sea floor |
Hs |
Float scalar | \(m\) | Significant wave height |
T |
Float scalar | \(s\) | Wave period |
cm |
Float scalar | Added mass coefficient | |
Uc |
Float scalar | \(m/s\) | Mean current speed |
z0 |
Float scalar | \(m\) | z-coordinate of water line |
water_density |
Float scalar | \(kg/m^3\) | Density of water |
main.waveLoads.mu |
Float scalar | \(kg/m/s\) | Viscosity of water |
Not that the some of these variables, especially the one setting water viscosity, are awkwardly named. This is due to the need for OpenMDAO to have only one formal independent variable in any high-level group. Since FloatingSE is intended to be married with other WISDEM modules in simulation of a full turbine, the design load cases must be specified at this higher-level group. Thus, FloatingSE cannot declare independent variables relevant to the load cases on its own, and must therefore use the variable names as written in the module code.
The wind profile is specified by the user with a reference height and velocity. From there, wind speeds at other heights are determined using a shear exponent, for power-law scaling, althrough logarithmic scaling is available as well. The physical properties of the air at the turbine location must also be set. As with the water-relevant variables, the comment of awkwardly labeled variables applies. Cumulatively, all of the wind-related variables are in Table 6.2.
| Variable | Type | Units | Description |
|---|---|---|---|
Uref |
Float scalar | \(m/s\) | Wind reference speed |
zref |
Float scalar | \(m\) | Wind reference height |
shearExp |
Float scalar | Shear exponent in wind power law | |
beta |
Float scalar | \(deg\) | Wind beta angle |
main.windLoads.rho |
Float scalar | \(kg/m^3\) | Density of air |
main.windLoads.mu |
Float scalar | \(kg/m/s\) | Viscosity of air |
As mentioned in Section Theory, only a single load case is currently supported. Future development will allow for optimization around multiple load cases, each with their own metocean environment.
6.1.2. Turbine Description¶
To successfully analyze the entire load path through the substructure, the user, or other WISDEM modules, must input the geometry and loading of the wind turbine above the substructure. The next component after the substructure in the load path is the tower. As a long, slender column, the tower geometry parameterization is similar to that of the substructure columns and has similar variable names, listed in Table 6.3.
| Variable | Type | Units | Description |
|---|---|---|---|
hub_height |
Float scalar | \(m\) | Length from tower main.to top (not including freeboard) |
tower_section_height |
Float array (\(n_s\)) | \(m\) | Length of each tower section |
tower_outer_diameter |
Float array (\(n_s+1\)) | \(m\) | Diameter at each tower section node (linear lofting between) |
tower_wall_thickness |
Float array (\(n_s+1\)) | \(m\) | Diameter at each tower section node (linear lofting between) |
tower_buckling_length |
Float scalar | \(m\) | Tower buckling reinforcement spacing |
tower_outfitting_factor |
Float scalar | Scaling for unaccounted tower mass in outfitting |
At the top of the load path, above the tower, is the rotor nacelle assembly (RNA). The RNA includes the blades, hub, shaft(s), gearbox, generator, nacelle housing, etc. All of these components are addressed separately across multiple WISDEM modules, but FloatingSE only requires aggregate summations of the mass properties, forces, and moments. These cumulative variables are in Table 6.4.
| Variable | Type | Units | Description |
|---|---|---|---|
rna_mass |
Float scalar | \(kg\) | Mass |
rna_I |
Float array (6) | \(kg/m^2\) | Moment of intertia (xx,yy,zz,xy,xz,yz) |
rna_cg |
Float array (3) | \(m\) | Offset of RNA center of mass from tower top (x,y,z) |
rna_force |
Float array (3) | \(N\) | Net force acting on RNA (x,y,z) |
rna_moment |
Float array (3) | \(N*m\) | Net moment acting on RNA (x,y,z) |
yaw |
Float scalar | Turbine yaw angle |
6.2. Simulation Flow¶
Once the input variables are completely specified, FloatingSE executes
the analysis of the substructure. Conceptually, the simulation is
organized by the flowchart in Fig. 6.1. From a more
technical perspective, FloatingSE is an OpenMDAO Group, so the
analysis sequence is broken down by the sub-groups and sub-components in
the order that they are listed in Table [tbl:exec]. In an OpenMDAO
group, sub-groups and components are given prefixes to aid in referring
to specific variables. The prefixes used in FloatingSE are also listed
in Table 6.5. These prefixes also appear in some of the variable
names listed above (e.g., main.waveLoads.mu
) and will appear in the
discussion of optimization constraints in Section Optimization.
| Prefix | Name | Description | |
|---|---|---|---|
tow |
TowerLeanSE | Discretization of tower geometry (but no analysis) | |
main |
Column | Discretization and API Bulletin 2U compliance of main.vertical column | |
off |
Column | Discretization and API Bulletin 2U compliance of offset columns | |
sg |
SubstructureGeometry | Geometrical constraints on substructure | |
mm |
MapMooring | Mooring system analysis via pyMAP | |
load |
FloatingLoading | Structural analysis of complete floating turbine load path via pyFrame3DD | |
subs |
Substructure | Static stability and final mass and cost summation for generic substructure |
Outputs are accumulated in each sub-group or component, and they either become inputs to other components, become constraints for optimization problems, become design variables for optimization problems, or can simply be ignored. Currently, a single execution of FloatingSE takes only a handful of seconds on a modern laptop computer.
6.3. Examples¶
As mentioned in Section Package Documentation, two files are meant as analysis
starting points, sparInstance.py
and semiInstance.py
. These
files are encoded with default starting configurations (from [1] and [2],
respectively). They also have ready configurations for optimization with
design variables, constraints, and solvers options. However, due to the
flexible and object-oriented approach to programming these capabilities,
some complexity was introduced into the code and it is difficult to use
as simple examples. For demonstration purposes, the spar and
semisubmersible examples from OC3 and OC4 are also provided at the
bottom of the floating.py
file, and are copied below. A
visualization of the geometries described by these examples is shown in
Fig. 6.2 and Fig. 6.3.


{{ define "main" }} {{ "About Us" | markdownify }} {{ .Content }} {{ "This Site" | markdownify }} This site is created using Blogdown and hosted on Netlify. The Hugo theme is Liva, created by Themefisher. All the fantastic thumbnail images, unless attributed elsewhere, are made by Icons 8 {{ if .Site.Data.gallery.enable }} {{ with .Site.Data.gallery }} {{ range .gallery }} {{ end }} {{ end }} {{ end }} {{ end }}
Blogdown


A bath was not hard to find, though Elayne had to wait in the hall frowning at the lion-carved doors of her apartments, drafts flickering the mirrored stand-lamps while Rasoria and two of the Guardswomen went in to search. Once they were sure there were no assassins lying in wait, and guards had been arrayed in the corridor and outer room, Elayne entered to find white-haired Essande waiting in the bedchamber with Naris and Sephanie, the two young tirewomen she was training. Essande was slim, with Elayne’s Golden Lily embroidered over her left breast and a very great dignity emphasized by her deliberate way of moving, though some of that came from age and aching joints she refused to acknowledge. Naris and Sephanie were sisters, fresh-faced, sturdy and shy-eyed, proud of their livery and happy to have been chosen out for this rather than cleaning hallways but almost as much in awe of Essande as of Elayne. There were more experienced maids available, women who had worked years in the palace, but sadly, girls who had come seeking any sort of work they could find were safer.
Two copper bathtubs sat on thick layers of toweling laid atop the rose-colored floor tiles where one of the carpets had been rolled up, evidence that word of Elayne’s arrival had flown ahead of her. Servants had a knack for learning what was happening that the Tower’s eyes-and-ears might envy. A good blaze in the fireplace and tight casements in the windows made the room warm after the corridors, and Essande waited only to see Elayne enter the room before sending Sephanie off at a run to fetch the men with the hot water. That would be brought up in double-walled pails with lids to keep it from getting cold on the way from the kitchens, though it might be delayed a little by Guardswomen checking to make sure there were no knives hidden in the water.
Aviendha eyed the second bathtub almost as doubtfully as Essande eyed Birgitte, the one still uneasy about actually stepping into water and the other still not accepting that anyone more than necessary should be present during a bath, but the white-haired woman wasted no time before quietly bustling Elayne and Aviendha both into the dressing room, where another fire on a wide marble hearth had taken the chill from the air. It was a great relief to have Essande help her out of her riding clothes, knowing that she had more ahead of her than a hasty wash and a show of ease while worrying about how quickly she could move on to her next destination. Other pretenses awaited, the Light help her, and other worries, but she was home, and that counted for much. She could almost forget about that beacon shining in the west. Almost. Well, not at all, really, but she could manage to stop fretting over it as long as she did not dwell on the thing.
By the time they had been undressed—with Aviendha slapping Naris’ hands away and removing her own jewelry, doing her best to pretend that Naris did not exist and her garments were somehow removing themselves—by the time they had been bundled into embroidered silk robes and had their hair tied up in white toweling—Aviendha tried to wrap the towel around her own head three times, and only after the construction collapsed down her neck for the third time did she allow Naris to do it, muttering about getting so soft that she soon would need someone to lace up her boots until Elayne began laughing and she joined in, throwing her head back so that Naris had to start over again—by the time all that was done and they had returned to the bedchamber, the bathtubs were full and the scent of the rose oil that had been added to the water filled the air. The men who had brought up the water were gone, of course, and Sephanie was waiting with her sleeves pushed above her elbows in case someone wanted her back scrubbed. Birgitte was sitting on the turquoise-inlaid chest at the foot of the bed, her elbows on her knees.
Elayne allowed Essande to help her off with her pale green, swallow-worked robe and sank into her tub immediately, submerging herself to her neck in water just a hair short of too hot. That left her knees poking up, but it immersed most of her in the warmth, and she sighed, feeling weariness leach out of her and languor creep in. Hot water might have been the greatest single gift of civilization.
Staring at the other tub, Aviendha gave a start when Naris attempted to remove her robe, lavender and embroidered with flowers on the wide sleeves. Grimacing, she finally allowed it, and stepped gingerly into the water, but she snatched the round soap out of Sephanie’s hand and began washing herself vigorously. Vigorously, but very careful not to slop so much as a spoonful of water over the tub’s rim.  Elayne had shown her two of the great cisterns beneath Caemlyn, fed by a pair of underground rivers and large enough that the far side of each was lost in a forest of thick columns and shadows, but the arid Waste was in Aviendha’s bones.
Ignoring Essande’s pointed looks—she seldom said two words more than necessary, and thought baths no time to say anything—Birgitte talked while they bathed, though she took care of what she said in front of Naris and Sephanie. It was unlikely they were in the pay of another House, but maids gossiped almost as freely as men—it seemed almost a tradition. Some rumors were worth fostering, nonetheless. Mostly Birgitte talked of two huge merchants’ trains that had arrived yesterday from Tear, the wagons heavy with grain and salted beef, and another from Illian with oil and salt and smoked fish. It was always worthwhile reminding people that food continued to flow into the city. Few merchants braved the roads of Andor in winter, none carrying anything as cheap as food, but gateways meant that Arymilla could intercept all the merchants she wished and her forces still would starve long before Caemlyn felt the first pangs of hunger. The Windfinders, who were making most of those gateways, reported that the High Lord Darlin—claiming the title of Steward in Tear for the Dragon Reborn, of all things!—was besieged in the Stone of Tear by nobles who wanted the Dragon Reborn out of Tear completely, but even they were unlikely to try stopping a rich trade in grain, particularly since they believed the Kin who accompanied the Windfinders were Aes Sedai. Not that any real attempt was made at deception, but Great Serpent rings had been made for Kinswomen who had passed their tests for Accepted before being put out of the Tower, and if anyone drew the wrong conclusion, no one actually lied to them.
The water was going to shed its heat if she waited much longer, Elayne decided, so she took a rose-scented soap from Sephanie and allowed Naris to begin scrubbing her back with a long-handled brush. If there had been news of Gawyn or Galad, Birgitte would have mentioned it straight off. She was as eager to hear as Elayne, and she could not have held it back. Gawyn’s return was one rumor they dearly wanted to reach the streets. Birgitte performed her duties well as Captain-General, and Elayne meant her to keep the position, if she could be convinced, but having Gawyn there would allow both women to relax a little. Most of the soldiers in the city were mercenaries, and only enough of them to man the gates strongly and make a display along the miles of wall surrounding the New City, but they still numbered more than thirty companies, each with its own captain who inevitably was full of pride, obsessed with precedence, and ready to squabble over any imagined slight from another captain at the drop of a straw. Gawyn had trained his whole life to command armies. He could deal with the squabblers, leaving her free to secure the throne.
Apart from that, she simply wanted him away from the White Tower. She prayed that one of her messengers had gotten through and that he was well downriver by this time. Egwene had been besieging Tar Valon with her army for more than a week, now, and it would be the cruelest spinning of fate for Gawyn to be caught between his oaths to defend the Tower and his love for Egwene. Worse, he had already broken that oath once, or at least bent it, for love of his sister and perhaps his love of Egwene. If Elaida ever suspected that Gawyn had aided Siuan’s escape, whatever credit he had gained by helping her replace Siuan as Amyrlin would evaporate like a dewdrop, and if he was still within Elaida’s reach when she learned, he would find himself in a cell, and lucky to avoid the headsman. Elayne did not resent his decision to aid Elaida; he could not have known enough then to make any other choice. A good many sisters had been confused over what was happening, too. A good many still seemed to be. How could she ask Gawyn to see what Aes Sedai could not?
As for Galad . . . She had grown up unable to like the man, sure he must resent her, and resent Gawyn most of all. Galad had to have thought he would be First Prince of the Sword one day, until Gawyn was born. Her earliest memories of him were of a boy, a young man, already behaving more like a father or uncle than a brother, giving Gawyn his first lessons with a sword. She remembered being afraid he would break open Gawyn’s head with the practice blade. But he had never given more than the bruises any youth expected in learning swords. He knew what was right, Galad did, and he was willing to do what was right no matter the cost to anyone, including himself. Light, he had started a war to help her and Nynaeve escape from Samara, and it was likely he had known the risk from the start! Galad fancied Nynaeve, or had for a time—it was hard to imagine he still felt that way, with him a Whitecloak, the Light only knew where and doing what—but the truth was, he had started that war to rescue his sister. She could not condone him being a Child of the Light, she could not like him, yet she hoped that he was safe and well. She hoped he found his way home to Caemlyn, too. News of him would have been nearly as welcome as news of Gawyn. That surprised her, but it was true.
“Two more sisters came while you were away. They’re at the Silver Swan.” Birgitte made it sound as though they were merely stopping at an inn because every bed in the palace was taken. “A Green with two Warders and a Gray with one. They came separately. A Yellow and a Brown left the same day, so there are still ten altogether. The Yellow went south, toward Far Madding. The Brown was heading east.”
Sephanie, waiting patiently beside Aviendha’s tub with nothing to do, exchanged a glance with her sister over Elayne’s head and grinned. Like many in the city, they knew for a fact that the presence of Aes Sedai at the Silver Swan signified White Tower support for Elayne and House Trakand. Watching the two girls like a hawk, Essande nodded; she knew it, too. Every streetsweeper and ragpicker was aware that the Tower was divided against itself, but even so, the name still carried weight, and an image of strength that never failed. Everyone knew the White Tower had lent support to every rightful Queen of Andor. In truth, most sisters looked forward to a sitting monarch who was also Aes Sedai, the first in a thousand years and the first since the Breaking of the World to be openly known as Aes Sedai, but Elayne would not be surprised to find there was a sister in Arymilla’s camp, keeping discreetly out of notice. The White Tower never placed all of its coin on one horse unless the race was fixed.
“That’s enough of the brush,” she said, irritably twisting away from the bristles. Well trained, the girl laid the brush down on a stool and handed her a large Illianer sponge that she used to begin sluicing off soap. She wished she knew what those sisters meant. They were like a grain of sand in her slipper, so tiny a thing that you could hardly imagine it being a discomfort, but the longer it remained, the larger it seemed. The sisters at the Silver Swan were becoming a sizable stone just by being there.
Since before she arrived in Caemlyn the number at the inn had been changed frequently, a few sisters leaving every week and a few coming to replace them. The siege had not changed anything; the soldiers surrounding Caemlyn were no more likely to try stopping an Aes Sedai from going where she wanted than were the rebellious nobles in Tear. There had been Reds in the city too, for a while, asking after men heading for the Black Tower, but the more they learned, the more they had let their disgruntlement show, and the last pair had ridden out of the city the day after Arymilla appeared before the walls. Every Aes Sedai who entered the city was carefully watched, and none of the Reds had gone near the Silver Swan, so it seemed unlikely the sisters there had been sent by Elaida to kidnap her. For some reason she imagined little groups of Aes Sedai scattered from the Blight to the Sea of Storms, and constant streams of sisters flowing between, gathering information, sharing information. A peculiar thought. Sisters used eyes-and-ears to watch the world, and rarely shared what they learned unless it was a threat to the Tower itself. Likely those at the Swan were among the sisters sitting out the Tower’s troubles, waiting to see whether Egwene or Elaida would end with the Amyrlin Seat before they declared themselves. That was wrong—an Aes Sedai should stand for what she thought was right without worrying over whether she was choosing the winning side!—but these made her uneasy for another reason.
Recently one of her watchers at the Swan had overheard a disturbing name, murmured and quickly shushed, as if in fear of eavesdroppers. Cadsuane. Not a common name, that. And Cadsuane Melaidhrin had meshed herself closely with Rand while he was in Cairhien. Vandene did not think much of the woman, calling her opinionated and muleheaded, but Careane had almost fainted in awe at hearing her name. It seemed the stories surrounding Cadsuane amounted to legends. Trying to deal with the Dragon Reborn single-handed was just the sort of thing Cadsuane Melaidhrin might do. Not that Elayne had concerns about Rand and any Aes Sedai, except that he might outrage her beyond her control—the man was too pigheaded himself sometimes to see where his own good lay!—but why would a sister in Caemlyn mention her name? And why had another hushed her?
Despite the hot bathwater, she shivered, thinking of all the webs the White Tower had spun through the centuries, so fine that none could see them except the sisters who did the spinning, so convoluted that none but those sisters could have unraveled them. The Tower spun webs, the Ajahs spun webs, even individual sisters spun webs. Sometimes those schemes blended into one another as though guided by a single hand. Other times they had pulled one another apart. That was how the world had been shaped for three thousand years. Now the Tower had divided itself neatly into rough thirds, one third for Egwene, one for Elaida, and one that was standing aside. If those last were in contact with one another, exchanging information—forming plans?—the implications . . .
A sudden tumult of voices, dimmed by the closed door, made her sit up straight. Naris and Sephanie squealed and leaped to clutch one another, staring wide-eyed at the door.
 Snarling, Birgitte hurled herself off the chest and out of the room, slamming the door behind her. The voices rose higher.
It did not sound as if the Guardswomen were fighting, just arguing at the tops of the lungs, and the bond carried mainly anger and frustration, along with her bloody headache, but Elayne climbed out of the bathtub, holding out her arms for Essande to slip her robe on. The white-haired woman’s calmness, and perhaps Elayne’s, soothed the two maids enough that they blushed when Essande looked at them, but Aviendha leaped from her tub, splashing water everywhere, and dashed dripping into the dressing room. Elayne expected her to return with her belt knife, but instead she came back surrounded by the glow of saidar and holding the amber turtle in one hand. With the other she handed Elayne the angreal that had been in her belt pouch, an aged ivory carving of a woman clothed only in her hair. Excepting the towel atop her head, Aviendha wore only a wet sheen, and she angrily waved Sephanie away when the woman tried to put her robe on her. Knife or no knife, Aviendha still tended to think as if she were going to fight with a blade and might need to move suddenly.
“Put this back in the dressing room,” Elayne said, handing the ivory angreal to Essande. “Aviendha, I really don’t think we need to—”
The door opened a crack, and Birgitte put her head in, scowling. Naris and Sephanie jumped, not so soothed as they had seemed.
“Zaida wants to see you,” Birgitte growled at Elayne. “I told her she’d have to wait, but—” With a sudden yelp, she staggered into the room, catching her balance after two steps and whirling to face the woman who had pushed her.
The Wavemistress of Clan Catelar did not look as though she had pushed anyone. The ends of her intricately knotted red sash swirling about her knees, she entered the room calmly, followed by two Windfinders, one of whom shut the door in Rasoria’s angry face. All three swayed when they moved nearly as much as Birgitte did in her heeled boots.  More importantly, her air was one of command. Not of arrogance, but of the knowledge that she would be obeyed. The Windfinders eyed Aviendha, still glowing with the Power, and Chanelle’s angular face tightened, yet aside from a murmur from Shielyn that “the Aiel girl” was ready to weave, they remained silent and waited. The eight earrings in Shielyn’s ears marked her as Windfinder to a Clan Wavemistress, and Chanelle’s honor-chain carried nearly as many golden medallions as that of Zaida herself. Both were women of authority, and it was plain in the way they held themselves and moved, yet one needed to know nothing of the Atha’an Miere to know as soon as one saw them that Zaida din Parede held the first spot.
 “Clumsy things, boots.” She and the two Windfinders were barefoot as always. The soles of the Atha’an Miere’s feet were as tough as shoe-soles, unbothered by rough decks or cold floor tiles. Strangely, in addition to their blouses and trousers of brightly colored silk brocades, each woman wore a wide stole of plain white that hung below her waist and almost hid her multitude of necklaces.
“I was taking a bath,” Elayne said in a tight voice. As if they could not see that with her hair done up and her robe clinging to her damply. Essande was almost quivering with indignation, which meant she must be beside herself with fury. Elayne felt close to it herself. “I will be taking a bath again as soon as you go. I will speak with you when I have finished taking my bath. If it pleases the Light.” There! If they were going to shove into her rooms, let them chew on that for ceremony!
“The grace of the Light be upon you also, Elayne Sedai,” Zaida replied smoothly. She raised an eyebrow at Aviendha, though neither at the continuing light of saidar, since Zaida could not channel, nor at her nudity, since the Sea Folk were quite casual about that, at least out of sight of landmen. “You have never invited me to bathe with you, though it would have been courteous, but we will not speak of that. I have learned that Nesta din Reas Two Moons is dead, killed by the Seanchan. We mourn her loss.” All three women touched their white stoles and touched fingertips to lips, yet Zaida seemed as impatient with formality as Elayne. Without raising her voice or speeding its pace, she merely pushed on, almost shockingly abrupt and to the point for one of the Sea Folk.
“The First Twelve of the Atha’an Miere must meet to choose another Mistress of the Ships. What is happening to the west makes it clear there can be no delay.”  Its spicy perfume was sharp enough to slice through the scent of rose oil in the room. However they had described what they sensed to Zaida, she displayed no unease, or anything but certainty. Her gaze held steady on Elayne’s face. “We must be ready for whatever comes, and for that we need a Mistress of the Ships. In the name of the White Tower, you promised twenty teachers. I cannot take Vandene in her grief, or you, but I will take the other three with me. The rest, the White Tower owes, and I will expect prompt payment. I have sent to the sisters at the Silver Swan to see whether some of them will meet the Tower’s debt, but I cannot wait on their reply. If it pleases the Light, I will bathe with the other Wavemistresses tonight at the harbor of Illian.”
Elayne fought very hard to keep her own face smooth. The woman just announced that she intended to scoop up every Aes Sedai lying around loose in Caemlyn and carry them off? And it sounded very much as if she did not intend to leave any of the Windfinders behind. That made Elayne’s heart sink. Until Reanne returned, there were seven of the Kin with sufficient strength to weave a gateway, but two of those could not make one large enough to admit a horse cart. Without the Windfinders, plans for keeping Caemlyn supplied from Tear and Illian became problematical at best. The Silver Swan! Light, whoever Zaida had sent would reveal every line of the bargain she had made! Egwene was not going to thank her for spilling that mess out into the open. She did not think she had ever had so many problems dropped in her lap in the course of one short statement.
“I regret your loss, and the Atha’an Miere’s loss,” she said, thinking fast. “Nesta din Reas was a great woman.” She had been a powerful woman, anyway, and a very strong personality. Elayne had felt happy to walk away with more than her shift after her one meeting with her. Speaking of shifts, she could not afford time to dress. Zaida might not wait. She belted her robe tighter. “We must talk. Have wine brought for our guests, Essande, and tea for me. Weak tea,” she sighed at a burst of caution through the bond to Birgitte. “In the smaller sitting room. Will you join me, Wavemistress?”
To her surprise, Zaida merely nodded as if she had expected this. That started Elayne thinking about Zaida’s side of the bargain between them. The bargains; there were two, really, and that might be a key point.
No one had expected the smaller sitting room to be used for some time, so the air held a chill even after Sephanie rushed with a spark-wheel to light the kindling laid beneath split oak on the wide white hearth and scurried out of the room. Flames leapt up from the fatwood, catching on the log atop the fire-irons as the women arrayed themselves in the lightly carved low-backed chairs arranged in a semicircle in front of the fireplace. Well, Elayne and the Sea Folk women arrayed themselves, Elayne arranging her robe carefully over her knees and wishing Zaida had delayed just an hour so she could be properly dressed, the Windfinders coolly waiting for the Wavemistress to take a chair, then sitting to either side of her.  The bond carried a clear desire to wring an Atha’an Miere neck. Aviendha leaned casually against one of the sideboards, and even when Essande brought her robe and pointedly held it out for her, she merely put it on and resumed her pose with her arms folded beneath her breasts. She had released saidar, but the turtle was still in her hand, and Elayne suspected she was ready to embrace the Power again in an instant. Neither Aviendha’s cold green-eyed stare nor Birgitte’s scowl affected the Sea Folk in the least, however. They were who they were, and they knew who they were.
“The Atha’an Miere were promised twenty teachers,” Elayne said, emphasizing slightly. Zaida had said that she had been promised, that she would collect payment, but that bargain had been made with Nesta din Reas. Of course, Zaida might believe she would become the new Mistress of the Ships herself. “Proper teachers, to be selected by the Amyrlin Seat. I know that the Atha’an Miere pride themselves on meeting their bargains in full, and the Tower will meet its side, too. But you knew when sisters here agreed to teach, that it was temporary. And a bargain quite apart from that made with the Mistress of the Ships. You admitted as much when you agreed for Windfinders to weave gateways to bring supplies to Caemlyn from Illian and Tear. Surely you would not have gotten involved in the affairs of the shorebound for any reason other than paying off a bargain. But if you are leaving, your help is at an end, and so is our requirement to teach. I fear you will harvest no teachers at the Silver Swan, either. The Atha’an Miere will have to wait until the Amyrlin sends teachers. According to the bargain made with the Mistress of the Ships.” A pity she could not demand they stay away from the inn, but it might already be too late for that, and every reason she could think of sounded hollow. An argument that shattered for lack of a center would only embolden Zaida. The Atha’an Miere were ferocious hagglers. Scrupulous, but ferocious. She had to go very slowly, very carefully.
 “Hung up by the ankles, in fact.” That was a Sea Folk punishment that she found incredibly amusing, for some reason.
Elayne stifled a burst of irritation. Aviendha enjoyed chances to tweak the Sea Folk’s noses—she had begun while they were fleeing Ebou Dar and never really stopped—but this was no time for it.
Chanelle stiffened, her calm face sinking into a glare. The lean woman had been the butt of Aviendha’s nose-tweaking more than once, including a regrettable episode involving oosquai, a very potent Aiel drink. The glow of saidar actually surrounded her! Zaida could not see that, but she knew about the oosquai and Chanelle being carried to her bed, sicking up the whole way, and she raised a peremptory hand toward the Windfinder. The glow faded, and Chanelle’s face darkened. It might have been a blush or anger.
“All that you say may be so,” Zaida said, which was not far from insulting, especially said to an Aes Sedai. “In any event, Merilille was not part of that. She agreed to be one of the teachers long before she reached Caemlyn, and she will go with me to continue her teaching.”
Elayne drew a long breath. She could not even try to argue Zaida out of this. A great part of the White Tower’s influence rested on the fact that the Tower kept its word as surely as the Sea Folk. That it was known to keep its word. Oh, people said you had to listen carefully to be sure an Aes Sedai had promised what you thought she had, and that was often true, but once the promise was clear, it was as good as an oath under the Light. At least the Windfinders were not likely to let Merilille get away. They hardly let her out of their sight. “You may have to return her to me, if I have particular need of her.” If Vandene and the two helpers found proof that she was Black Ajah. “If that happens, I will arrange a replacement.” And who that could be, she had no idea.
“She has the rest of her year to serve. At least a year, by the bargain.” Zaida gestured as if making a concession. “But so long as you understand that her replacement must come before she leaves. I will not let her go without another in her place.”
“I suppose that will do,” Elayne replied calmly. It would bloody well have to, since she had no other choice!
Zaida smiled faintly and let the silence stretch. Chanelle shifted her feet, but more in impatience than as if to rise, and the Wavemistress did not stir. Plainly she wanted something more, intended another bargain, and plainly she wanted Elayne to speak first. Elayne set herself to outwait the other woman. The fire had begun to blaze and crackle, sending sparks up the chimney and radiating a fine warmth into the room, but her damp robe absorbed the chill in the air and transferred it to her skin. Ignoring the cold was all very well, but how were you supposed to ignore being cold and wet? She met Zaida’s gaze levelly and matched her tiny smile. Essande returned, followed by Naris and Sephanie carring ropework trays, the one with a silver teapot in the shape of a lion and thin green cups of Sea Folk porcelain, the other hammered silver cups and a tall-necked wine pitcher that gave off the aroma of spices. Everyone took wine, except for Elayne, who was never offered the choice. Peering into her tea, she sighed. She could see the bottom of the cup quite clearly. If they made it any weaker, they might as well give her water!
After a moment, Aviendha strode across the room to set her winecup back on the tray atop one of the sideboards and pour herself a cup of tea. She gave Elayne a nod and a smile combining sympathy with a suggestion that she really preferred watery tea to wine. Elayne smiled back in spite of herself. First-sisters shared the bad as well as the good. Birgitte grinned over the top of her silver cup, and proceeded to empty half of it in a gulp. The bond carried her amusement at the grumpiness she felt from Elayne. And it still carried her headache, in no way reduced. Elayne rubbed her temple. She should have insisted that Merilille Heal the woman as soon as she had seen her. A number of the Kin outstripped Merilille when it came to Healing, but she was the only sister in the palace with a halfway decent ability.
“You have great need of women to make these gateways,” Zaida said suddenly. Her full mouth was no longer smiling. She disliked having spoken first.
Elayne sipped her wretched excuse for tea and said nothing.
“It might please the Light that I could leave one or two Windfinders here,” Zaida went on. “For a set time.”
Elayne wrinkled her brow as though considering. She needed those bloody women, and more than one or two. “What would you ask in return?” she said finally.
“One square mile of land on the River Erinin. Good land, mind. Not marshy or boggy. It is to be Atha’an Miere land in perpetuity. Under our laws, not Andor’s,” she added as if that were a small afterthought hardly worth mentioning.
Elayne choked on her tea. The Atha’an Miere hated leaving the sea, hated being out of sight of it. And Zaida was asking for land a thousand miles from the nearest salt water? Asking for it to be ceded absolutely, at that. Cairhienin and Murandians and even Altarans had bled trying to take bits of Andor, and Andorans had bled to keep them out. Still, one square mile was a small bit, and a small price to keep Caemlyn supplied. Not that she would let Zaida know that. And if the Sea Folk began trading directly into Andor, then Andoran goods would be able to move in Sea Folk bottoms everywhere the Sea Folk sailed, and that was everywhere. Zaida surely knew that already, but there was no point in letting her know that Elayne had thought of it. The Warder bond urged caution, yet there were times for boldness, as Birgitte should know better than anyone.
“Sometimes tea goes down the wrong way.” Not a lie; merely an evasion. “For a square mile of Andor, I deserve more than two Windfinders. The Atha’an Miere got twenty teachers and more for help using the Bowl of the Winds, and when they go you will have twenty to replace them. You have twenty-one Windfinders with you. For a mile of Andor, I should have all twenty-one, and twenty-one more in their places when they leave, for as long as Aes Sedai teach Sea Folk.” Best not to let the woman think that was her way of rejecting the offer out of hand. “Of course, the normal customs duties would apply to any goods moving off this land into Andor.”
Zaida raised her silver cup to her mouth, and when she lowered it, she wore the tiniest smile. Yet Elayne thought it was a smile of relief rather than triumph. “Goods moving into Andor, but not goods coming from the river onto our land. I might leave three Windfinders. For half a year, say. And they must not be used in fighting. I will not have my people die for you, and I will not have other Andorans angry at us because Sea Folk have killed some of them.”
“They will be asked only to make gateways,” Elayne said, “though they must make them wherever I require.” Light! As if she intended using the One Power as a weapon! The Sea Folk did so without a second thought, but she was trying very hard to behave as Egwene demanded, as though she had already taken the Three Oaths. Besides, if she blasted those camps outside the walls with saidar, or allowed anyone else to, not a House in Andor would stand with her. “They must stay until my crown is secure, whether that is half a year or longer.” The crown should be hers in much less time, but as her old nurse Lini used to say, you counted your plums in the basket, not on the tree. Once the crown was hers, though, she would not need Windfinders to supply the city, and in all truth, she would be happy to see their backs. “But three is not nearly enough. You will want Shielyn, since she is your Windfinder. I will keep the rest.”
The medallions on Zaida’s honor-chain swayed gently as she shook her head. “Talaan and Metarra are apprentices still. They must return to their training. The others have duties, too. Four might be spared until your crown is secure.”
From there it was just a matter of bargaining. Elayne had never expected to keep the apprentices, and Windfinders to Clan Wavemistresses could not be spared either, which she had expected. Most Wavemistresses used their Windfinders and Swordmasters as close advisors, and would be parted from one as easily as she would be parted from Birgitte. Zaida tried to exclude others as well, such as Windfinders who served on large vessels like rakers and skimmers, but that would have disqualified the greater number right there, and Elayne refused, and refused to come down in her demands unless Zaida came up in her offers. Which the woman did slowly, grudging every concession. But not so slowly as Elayne might have expected. Clearly, the Wavemistress needed this bargain as much as she herself needed women who could weave gateways.
“Under the Light, it is agreed,” she was able to say at last, kissing the fingertips of her right hand and leaning forward to press them to Zaida’s lips. Aviendha grinned, obviously impressed. Birgitte kept a smooth face, but the bond said she found it hard to believe Elayne had come out so well.
“It is agreed, under the Light,” Zaida murmured. Her fingers on Elayne’s lips were hard and callused, though she could not have hauled on a rope herself in many years. She looked quite satisfied for a woman who had yielded nine of the fourteen Windfinders who had been on the table. Elayne wondered how many of those nine would be women whose ships had been destroyed by the Seanchan in Ebou Dar. Losing a ship was a serious matter among the Atha’an Miere, whatever the reason, and maybe cause enough to want to stay away from home a little longer. No matter.
Chanelle looked glum, her tattooed hands tight on the knees of her red brocaded trousers, yet not so glum as might be expected from a Sea Folk woman who would have to remain ashore a while longer. She was to command the Windfinders who stayed, and she did not like it that Zaida had acceded to her being under Elayne’s authority, and Birgitte’s. There were to be no more Sea Folk striding about the palace as if they owned it and making demands left and right. But then, Elayne suspected that Zaida had come to this meeting knowing she would leave some of her party behind, and Chanelle had come knowing she would command them. That hardly mattered, either, nor did it matter what advantage Zaida hoped to gain toward becoming Mistress of the Ships. That she saw some was clear as good glass. All that mattered was that Caemlyn would not go hungry.  No, she would be a queen, and she could not be a moonstruck girl. Caemlyn and Andor were all that could matter.


IGNOU launches a new PG programme in Computer Applications
The PG course has been divided into two semesters per year and there will be two examinations every year, in the month of June and in the month of December.
by Education DeskIndira Gandhi National Open University ’s School of Computer and Information Sciences has launched a new post graduate programme. The introduced course is called Diploma in Computer Applications and will start from the January 2020 admission cycle.
The minimum duration of the course is 1 year and the maximum duration of the exam is 4 years and the course is offered in both January and July cycle of admissions. There is no age limit for the candidates.
Course eligibility:
The candidate must have any Bachelor’s degree of minimum three years’ duration from a recognised University and mathematics as one of the subjects at 10+2 level or graduation level.
Course fee:
The fee for the course is Rs 10,800 per semester and for non-maths students, the candidates will have to pay an additional fee of Rs 1,400.
Course details:
This PG Diploma in Computer Applications consists of 12 courses worth 36 credits and is designed with a semester approach in mind. It has been divided into two semesters per year and there will be two examinations every year, in June for the January to June semester and in the month of December for the July to December courses.


1 write to Association1
System.Management.Automation (1)
cimSupport\cmdletization\xml\CoreCLR\cmdlets-over-objects.xmlSerializer.autogen.cs (1)
4348
o.
@Association1
= Reader.Value;
1 reference to Association1
System.Management.Automation (1)
cimSupport\cmdletization\ScriptWriter.cs (1)
1574
CodeGeneration.EscapeSingleQuotedStringContent(associationMetadata.
Association1
),


lib
/
com.github.thibaultbee.srtdroid.enums
/
KMState
/
KM_S_BADSECRET
KM_S_BADSECRET
KM_S_BADSECRET
Stream encrypted and wrong secret, cannot decrypt Keying Material