Two Chair Dining Table two chair dining table dining table dining table and two chairs table ideas uk design. two chair dining table terrific amazing of two seater dining table breathtaking 2 seat at designs. two chair dining table top 20 two chair dining tables dining room ideas ideas. Two Chair Dining Table two chair dining table small dining table and two chairs 4712 small tables and chairs designs. two chair dining table dining table for two two chair dining table dining table and two design. two chair dining table birlea romford glass dining table set with two chairs white birlea sets. Two Chair Dining Table two chair dining table dining table for two unique two dining table chair dining table with tables.
Two Chair Dining Table two chair dining table terrific amazing of two seater dining table breathtaking 2 seat at designs. two chair dining table top 20 two chair dining tables dining room ideas ideas. two chair dining table small dining table and two chairs 4712 small tables and chairs designs. two chair dining table dining table for two two chair dining table dining table and two design. two chair dining table birlea romford glass dining table set with two chairs white birlea sets.


text:
Latest episode of The Martin Garrix Show shows behind the scenes of ADE show
Now in the 3rd series of his groundbreaking YouTube series, 'The Martin Garrix show', Dutch DJ and producer Martin Garrix has dropped Episode 13 of the latest season, offering fans an insight into the crazy hard-work and dedication that went into his recent ADE show. With Martin's team working until 5am, as Garrix advises them on the special effects he is looking for during the show, the episode proves that there are many unsung heroes behind a headline DJ performance.
The vlog also shows the moment Martin created his track 'Waiting For Tomorrow' in the studio with Pierce Fulton. Claiming the number #1 spot in DJ Mag's Top 100 poll yet again in 2018 (the 3rd year in a row), ADE 2018 was a special one for Martin, and with more in the pipeline for 2019, it is tough to see anybody toppling the youngster in the forthcoming years as his popularity goes from strength to strength
You can catch the latest episode of the Martin Garrix show below:
Tags: ADE, amf, Amsterdam Dance Event, dj mag, Garrix, Martin Garrix, Martin Garrix Show, Pierce Fulton
About the Author / Jake Gable
Music journalist, lover of house. Body in London, heart in Ibiza.

redpajama_set_name: RedPajamaCommonCrawl


Find the best Meridian movers on HireAHelper for your unique move. Then securely reserve your mover in just minutes!
Want the freshest crews and best prices? After moving 5 people in Meridian, here's our data for the best times to move.
Reduce Stress. Book Meridian Movers Today.


Livestock feed maker The Harbro Group Ltd has reported a slight fall in pre-tax profits for the 2012 year despite revenues rising nearly 10 per cent.
Sales for the year to June 30, 2012, rose by £7.4 million on the previous year to £85.3 million.
However, one-off costs linked to investment in a new IT system along with increased borrowing and raw material costs pushed pre-tax profits down more than six per cent to £2.78 million.
Harbro, which operates the Harbro Country Stores farm supply retail chain, said the new IT system, which has required "significant investment" in the past 24 months, will allow the group to improve processes and "become leaner and more efficient".
The Turriff-based company said the financial year was "strong" as a result of "increased volumes, market growth and increased market penetration in England".
However, the group said turnover was "tempered slightly" by volatility in raw material prices which has impacted on profits.
Group net debt rose to £9.62 million against £8.47 million the previous year.
Harbro said its June 2012 acquisition of Border Farm Supplies Ltd, which includes two retail premises in Earlston and Duns, along with a new Country Store opening in Perth, will deliver "further turnover growth in the agri-retail sector".


Goetz Maeuser joined the Board as a Director in November 2018 and has extensive international experience, both as an advisor and director of private and listed businesses in the technology and media sectors.
Goetz is the Chairman of Max 21 AG, a listed technology company on the Frankfurt Stock Exchange that operates in the Post and Mail Management and IT Security sectors, and has held this position since July 2015. He also serves as a Member of Board of Directors of PSquared Asset Management AG, Zürich.
Goetz began his career as a management consultant with McKinsey & Co., Inc., working in Germany and Brazil. He continued his career as a Partner in private equity firm Permira Advisers Ltd, where he focused on a broad range of sectors including industrials, consumer, healthcare and lead the media effort within the telecommunications, media and technology sector. He was the lead Partner on a number of significant transactions including the acquisition and subsequent merger of SBS Broadcasting Sarl and ProSiebenSat.1 Media AG.
From 2007 to 2014, Mr Maeuser was a member of the supervisory board and served more than four years as chairman of MDAX-listed ProSiebenSat.1 Media AG, the leading German entertainment player with a strong e-commerce business.
Goetz graduated in Business Administration from the University of Cologne and holds a Master of Business Administration from Leonard N. Stern School of Business, New York University.


Analysts expect Trimble Inc (NASDAQ:TRMB) to announce earnings of $0.40 per share for the current quarter, Zacks reports. Six analysts have provided estimates for Trimble's earnings, with the lowest EPS estimate coming in at $0.39 and the highest estimate coming in at $0.41. Trimble posted earnings of $0.39 per share in the same quarter last year, which would suggest a positive year-over-year growth rate of 2.6%. The business is scheduled to report its next earnings results on Monday, May 6th.
According to Zacks, analysts expect that Trimble will report full year earnings of $1.84 per share for the current financial year, with EPS estimates ranging from $1.74 to $1.90. For the next financial year, analysts forecast that the firm will report earnings of $2.02 per share, with EPS estimates ranging from $1.91 to $2.12. Zacks' EPS averages are a mean average based on a survey of sell-side research analysts that that provide coverage for Trimble.
Trimble (NASDAQ:TRMB) last announced its quarterly earnings results on Wednesday, February 6th. The scientific and technical instruments company reported $0.41 earnings per share for the quarter, beating analysts' consensus estimates of $0.40 by $0.01. The firm had revenue of $792.90 million for the quarter, compared to analysts' expectations of $809.82 million. Trimble had a net margin of 9.10% and a return on equity of 16.48%. Trimble's revenue was up 11.9% compared to the same quarter last year. During the same period in the previous year, the company posted $0.39 earnings per share.
A number of brokerages have weighed in on TRMB. Zacks Investment Research raised shares of Trimble from a "sell" rating to a "hold" rating in a research report on Friday, February 22nd. BidaskClub raised shares of Trimble from a "sell" rating to a "hold" rating in a research report on Thursday, November 22nd. One investment analyst has rated the stock with a sell rating, four have given a hold rating and five have given a buy rating to the company's stock. The company presently has a consensus rating of "Hold" and an average price target of $41.00.
TRMB stock traded down $1.02 during midday trading on Thursday, reaching $38.37. 1,070,939 shares of the company's stock traded hands, compared to its average volume of 1,052,496. The stock has a market cap of $10.05 billion, a price-to-earnings ratio of 23.95, a price-to-earnings-growth ratio of 2.07 and a beta of 2.23. The company has a quick ratio of 0.75, a current ratio of 1.03 and a debt-to-equity ratio of 0.64. Trimble has a fifty-two week low of $29.75 and a fifty-two week high of $44.55.
In other news, CEO Steven W. Berglund sold 381,675 shares of Trimble stock in a transaction that occurred on Friday, February 8th. The shares were sold at an average price of $37.73, for a total transaction of $14,400,597.75. Following the sale, the chief executive officer now owns 574,467 shares in the company, valued at $21,674,639.91. The transaction was disclosed in a legal filing with the Securities & Exchange Commission, which is available at the SEC website. Also, Director Ulf J. Johansson sold 85,000 shares of Trimble stock in a transaction that occurred on Friday, February 8th. The shares were sold at an average price of $38.05, for a total transaction of $3,234,250.00. Following the sale, the director now owns 60,356 shares in the company, valued at approximately $2,296,545.80. The disclosure for this sale can be found here. Insiders have sold 625,336 shares of company stock worth $23,979,921 in the last quarter. Insiders own 0.36% of the company's stock.
Several institutional investors and hedge funds have recently bought and sold shares of TRMB. FMR LLC raised its stake in shares of Trimble by 28.7% during the second quarter. FMR LLC now owns 8,494,787 shares of the scientific and technical instruments company's stock valued at $278,969,000 after purchasing an additional 1,893,300 shares during the period. Advisors Asset Management Inc. raised its stake in shares of Trimble by 7.1% during the second quarter. Advisors Asset Management Inc. now owns 26,125 shares of the scientific and technical instruments company's stock valued at $858,000 after purchasing an additional 1,741 shares during the period. Bank of Montreal Can raised its stake in shares of Trimble by 18.0% during the third quarter. Bank of Montreal Can now owns 19,782 shares of the scientific and technical instruments company's stock valued at $860,000 after purchasing an additional 3,020 shares during the period. Aperio Group LLC raised its stake in shares of Trimble by 15.2% during the third quarter. Aperio Group LLC now owns 78,958 shares of the scientific and technical instruments company's stock valued at $3,432,000 after purchasing an additional 10,411 shares during the period. Finally, Cornerstone Wealth Management LLC raised its stake in shares of Trimble by 36.2% during the third quarter. Cornerstone Wealth Management LLC now owns 12,177 shares of the scientific and technical instruments company's stock valued at $300,000 after purchasing an additional 3,239 shares during the period. Institutional investors own 90.64% of the company's stock.
Trimble Inc provides technology solutions that enable professionals and field mobile workers to enhance or transform their work processes worldwide. The company operates in four segments: Buildings and Infrastructure, Geospatial, Resources and Utilities, and Transportation. The Buildings and Infrastructure segment offers field and office software for route selection and design; systems to guide and control construction equipment; systems to monitor, track, and manage assets, equipment, and workers; software to share and communicate data; 3D conceptual design and modeling software; building information modeling software; integrated site layout and measurement systems; applications for sub-contractors and trades; integrated workplace management services software; capital program and facility management solutions; field based data collection systems; and communication systems and back-office software.


Statistics let us to remove emotional stimuli and focus on the hard truth of what happens. But statistics aren't always enough. It's necessary to place statistics into context of their environment to understand what they are. 60% accuracy doesn't tell you any real information, but 60% accuracy throwing against man coverage gives you something to work with. That's the purpose of this season-long project.


Business in the front, party in the back: this feminine pink swing dress features a bold burnt orange panel at the back for a pop of on-trend colour. Crafted from clever compact ponte jersey, this fabric has all the softness and comfort of traditional jersey, with the addition of a subtle sheen that lends a sophisticated edge. Our classic swing shape is ultra-flattering; slim at the bust, with kimono-style arm holes for a more relaxed, comfortable feel during warm summer days. Extra volume and swing has been added to this knee-length style with a intelligent panel detail at the back that creates a cool silhouette.
+ Crafted from compact ponte which is super-comfortable but also maintains its shape.
+ Skirt panel at the back creates a chic swing shape without being too overwhelming.
+ Contrast pink stitch detailing throughout.
+ Dress will be delivered with pockets tacked closed but these can be easily unpicked to make pockets functional.
+ Machine washable at 30 degrees.


text:
Der Rote Kamm ist ein Einschlagkrater mittlerer Größe in der Namib im Süden Namibias innerhalb des Tsau-ǁKhaeb-(Sperrgebiet)-Nationalparks (ehemals Diamantensperrgebiet), in der Region ǁKaras.

Der Krater hat einen Durchmesser von etwa 2,5 Kilometer und ist etwa 130 Meter tief, wobei er mit einer etwa 100 Meter dicken Sandschicht bedeckt ist. Das Alter des Kraters wird auf etwa 3,7 (± 0,3) Millionen Jahre geschätzt; seine Entstehung fällt somit ins Pliozän. Seine Brekzie ist nur am Kraterrand zu finden.

Siehe auch
 Liste der Einschlagkrater der Erde

Weblinks

Einzelnachweise

Einschlagkrater in Afrika
Geographie (ǁKharas)
Geologie (Namibia)

redpajama_set_name: RedPajamaWikipedia


There's no doubt about it, walking is good for you. It's good for your heart, it's good for your lungs, it's good for the muscle and bone growth of your children and it's good for your feeling of wellbeing! Strong scientific evidence now supports the many benefits to health of regular walking.
Ceredigion with its lovely coastline and countryside provides an ideal environment to get out and about, and there are lots of walks available for those of all different abilities.


text:
Little Bustard (Tetrax tetrax) Sisão
A pheasant sized resident species that is widespread throughout Portugal; Little Bustards are essentially a steppe bird and thus flourish on the Alentejo Plains, especially near Castro Verde, but are also seen near the coast in more intensively farmed surroundings. Breeding success depends upon the male territories containing ground beetles in sufficient numbers which the chicks eat exclusively during the first two weeks of life, and territories are defended fiercely with displays where the male repeatedly jumps with outstretched wings.
Plumage is white below and cryptic and successful camouflage above except for breeding males who sport a black neck with a white band above and below. Very duck-like in flight with a shallow and rapid wing beat especially noticeable during the Spring. An adaptation to one of their primaries leads to a whistling sound in flight, and that, together with their "lady's fart" call, is the sound of Spring on the Plains. Best way to find them is to look for little black pegs in the ground; if you see one chances are you've found a male.
They are gregarious for the majority of the year, so the spring, when they spread out into breeding territories and males become conspicuous, is the easiest time to find them. However, if you're lucky enough to come across them during other times of the year and they take wing you'll be in for a treat, as a Little Bustard flock in flight is a joy to behold.
Tags: Rails, Crakes, Cranes & Bustards


Domson's Engineering offers design, supply and installation of Fire Fighitng systems. Company provides highest efficiency sprinkler and hydrant type systems to ensure safety and reliability of indoor environment for it's customers. Highly experienced engineers as well as high quality products are the key to succesfull implementation of fire fighting systems.


text:
Aaron Jarvis (born 20 May 1986) is a former Wales international rugby union player. A prop forward he had previously played for the Dragons, ASM Clermont Auvergne, Ospreys and Bath. He is the assistant coach for the Dallas Jackals in the Major League Rugby (MLR).

In February 2011, it was announced that Jarvis had signed for the Ospreys for the 2011–12 season.

Jarvis joined the Dragons for the 2018–19 season. He retired at the end of 2021 to take up a coaching position for the Dallas Jackals.

International

Jarvis is eligible to represent Wales as his grandmother was born in Wales. In October 2012 Jarvis was named in the 35 man Wales squad for the Autumn international series. He made his international debut on 10 November 2012 against Argentina in Cardiff.

References

External links
Ospreys profile

1986 births
Living people
Bath Rugby players
Dragons RFC players
English people of Welsh descent
English rugby union players
Ospreys (rugby union) players
Rugby union players from Exeter
Wales international rugby union players
ASM Clermont Auvergne players
Rugby union props


Communication is one of the most important tool in the process of management. It influences every function of management. Managers at various levels use the communication system to plan, organize, direct and control activities and efforts of people. Every organization should build an effective system of communication for facilitating job performance and promoting satisfaction among people.
Communication ensures the smooth working of the enterprise. It plays an important role in all types of organizations. It solves a lot of problems in the case of complex organization. The successful completion of tasks on the part of the superiors depends upon the nature and flow of communication they receive from the subordinates. Similarly, the work of the subordinates also to a large extent depends upon the communication they receive from the superiors.
Managers need information, reports, statements from various sources for formulating plans and taking various decisions. Further, the managerial decisions and plans are to be communicated to the subordinates. However, intelligent the personnel may be it would be of no benefit if the higher level management cannot effectively communicate policies and decisions to them.
The effective implementation of plans and decisions depends upon the nature of communication. It is said that communication acts as a driving force which keeps all the individuals working as per the expectations of the top management.
The communication system plays a vital role in coordination of efforts and activities within single work units are between the various subsystems of the organization. Only through communication, coordination between various individuals and activities can be brought out.
Communication system is used by the managers to clarify organizational and departmental objectives, policies and programmes, issues instructions, assignment of job to their subordinates, to advise, guide and assist the subordinates on which, how, when and where jobs so assigned are to be performed, to motivate, praise their subordinates and so on. Thus, managers perform their direction and leadership function through the communication system.
Managerial control function involves the measurement of actual performance, comparing it with set standards and taking corrective actions in case of deviations if any. The communication system plays a critical role in managerial control function also. The control process is lubricated through the communication of information at all relevant points.
Information with regard to plans, programmes and budgets is to be communicated to managers responsible for determination of standards of performance and also to subordinates who have to meet them through various operations. As and when the actual performance is measured and recorded, information in the form of reports have to be prepared and communicated to the concerned managers for purpose of evaluation.
Necessary corrective action, if any, needed in case of deviations, are also to be fed back to the operating system to set right the processes in the future. All this can be made possible only when there is an efficient communication system.
Communication is very much needed when there is a change in organizational systems, structures, processes and practices. The objectives of proposals and programmes of organizational change, its elements and implications should be communicated to the persons who are likely to be affected by it. One of the ways of overcoming resistance to change among people in an organization is proper and timely communication on the various aspects of change.
Communication also plays an important role in keeping the various subsystems of the organization together and in moving them in such a fashion to achieve the organizational goals. In every organization, individuals and groups in one work unit should know what is going on in other work units for which a smooth and efficient communication system is essential.
If an effective system of communication is adopted, employees can present their ideas, suggestions, and complaints and employees grievances can be set right at their earliest stage. This will avoid industrial unrest. It is said that many conflicts arise because of the lack of communication or misunderstood motives.
Management cannot communicate to workers unless management itself is informed. Not only must management know but it must also understand the information well enough to interpret it to others. Just as a photograph can be no clearer than the negative from which it is printed, the manager cannot transmit more clearly than he understands.
It is essential if a manager is to make proper judgements and decisions. The manager is often completely isolated from the point of performance, and he can serve as a "decision centre" only to the extent that reports and other information reach him. This requires two-way communication.
11. The scope of manager's influence is typically greater than a worker's. Therefore, inadequate communication to any one manager can have a direct effect on profit, productivity, or morale because his wide span of control and coordination affects many people and different activities.
12. Management communication is necessary because most of the links in the chain of communication from top to bottom and bottom to top, are in the management group. Each link attends a new opportunity for distorting, fading and delay.


text:
Which President Was Head Cheerleader {Feb 2021} Know!
Alexis Alden February 16, 2021 February 17, 2021 no commentNo tags
Which President Was Head Cheerleader {Feb 2021} Know! >> The article is about the famous high school head cheerleader who later became president of country.
Which President Was Head Cheerleader? This question might be weird in its way, and usually, no one would address Cheerleader and president in the same sentence.
In the United States, not many citizens know that some of their former presidents were cheerleaders in the schooling years. Cheerleading in the past was very much different compared to now. Cheerleaders and lawmakers additionally must give composure and grace when under pressure. With these points in the brain, it grows less remarkable that a president had a cheerleading background under the belt. Let's answer these intriguing questions below.
Which President Was Head Cheerleader?
Who is George W. Bush?
How becoming a Head Cheerleader helped the president?
Which President Was Head Cheerleader and what he has to say about his experiences?
The Head Cheerleader in the high school was none other than President George W. Bush. He went to high school at the Phillips Academy in Massachusetts, United States. Apart from studies, he participated in baseball, and throughout his senior school year, he was the head cheerleader. Following high school, Bush went to Yale till 1968, where he again became a cheerleader.
George Walker Bush is an American diplomat and businessman who worked as the 43rd president of the United States. He was the president from 2001 till 2009. as a member of the Republican. he had earlier been the 46th governor of Texas till 2000.
Which President Was Head Cheerleader: Young George W. Bush excels in one of the essential skills compared to others, people skills. During his high school, he first appeared to encourage others. He exhibited these skills, applying the tactics that were wise and included showmanship.
There are many images of the former president in his school day where George W. Bush and his friends used wigs and falsies to stretch out their sweaters. The same picture is famous, which shows that he cultivated the skills from the early days. It was published in the Phillips Academy newspaper in Andover. It was 1963, when he, as a high school senior and head cheerleader, was driving a skit meant to mock competitive schools.
As a head cheerleader, George W. Bush got a chance to persuade the crowds. George admitted a range of humorous pep speeches and skits in the daily high school assemblies. He pointed out that the school administrators worried that they just brought attention to the cheerleaders willingly than the football team. This leads to "Bush's antics."
Soon the school official even became remarkably fond of George. George had established Andover's spirit to its highest level during his schooling years.
Which President Was Head Cheerleader? Lifting the spirits of the crowd is what is typically seen in the cheerleaders. Many presidents who were cheerleaders in their schooling years and famous of all is the George W. Bush. Please read the article to know how he gained the people skills and grow as a strong, confident person.
What do the readers think of George W. Bush being a cheerleader head then a president? Comment Below.
Alexis Alden February 16, 2021
Gg.gg/Innersloth {Feb 2021} Know the Game & Its Term!
Rm 201 Mask (February 2021) Explore Some of its Facts
Boruto Manga 66 Chapter {Jan} Curious, Read Storyline
This article helps to enhance your knowledge regarding the upcoming episode of Boruto, that is, Boruto Manga 66 Chapter, and...
What Does a Pink and Blue Ribbon (Jan) Read Details!
All of the facts about What Does A Pink And Blue Ribbon have been given out before. Kindly review its contents and advantages to see whether it may assist you. Do you know the significance of Pink & Blue Ribbon? When a child is born with a congenital disability, illness, or other condition, the pink and blue ribbons are used to express sadness. People may find all the meanings of the pink and blue ribbons here. Deficiencies in conception. The death of a child and some disorders affect children under...
Wewe Global Scam (Jan 2022) Read Features & Stay Safe!
If you are also looking out for the authentic information of Wewe Global Scam, scroll down to the headers to know the related facts. With a sudden upsurge in the online website, a significant rise in online scams has also been noticed. This article below will reveal the details of global Wewe scams, trapping people in the United States, the United Kingdom, Australia, and many other parts of the world. Read the headers in this article below to know about Wewe Global Scam, revealing how the same will trap you in their illegal terms! What...
Snow How Much Fell In Toronto {Jan} Read Stats Here!
The following research on Snow How Much Fell in Toronto will guide you on the climatic conditions of Toronto. Winters...


ATLANTIC CITY -- A poor showing in September could be a prelude to a challenging fourth quarter for Atlantic City casinos, a prominent Wall Street gaming analyst reported.
After leading an investor field trip to Atlantic City, Marc Falcone of Deutsche Bank Securities said he expects the industry's September revenue report, due out this week, to show a year-over-decline despite the addition of the $1.1 billion Borgata Hotel Casino & Spa. Same-store sales, meaning industrywide revenue without Borgata "will be down meaningfully," he said in a 14-page report to his clients.
Casino executives are wary of a promotional war as they try to recoup business lost to Borgata during the traditional fall and winter slowdown, Falcone reported. The Harrah's Entertainment and Trump Hotels & Casino Resorts properties are "getting more aggressive" with customer incentives while the Park Place Entertainment and Aztar casinos are holding the line, he said.
Although feeling the pinch from Borgata, Atlantic City casinos are also trying to capitalize on the "outstanding success" of Borgata's celebrity restaurateurs, Falcone said. Several casinos, including those owned by Harrah's, Park Place and Colony Capital, are in talks with high-profile restaurants, he said.
As for Borgata itself, executives there told Falcone that its table-games revenue is ahead of plan while slot revenue is lagging. Borgata's customer database has surpassed 500,000 names. An in-house survey showed customers most often citing Harrah's, "Las Vegas" and Trump Taj Mahal as the last casino they visited before Borgata, he said.
"Interestingly, the fact that many customers are citing Las Vegas as the last 'casino' they visited would indicate that Borgata is reaching some new customers," Falcone said.
Boyd Gaming announced that third-quarter earnings will be well below Wall Street estimates. The company blamed results at its Stardust in Las Vegas and Par-A-Dice in East Peoria, Ill., but analysts said they believe there's more to the story.
"In addition to weak results at the two properties mentioned, we continue to believe that profitability ramp-up at Borgata will be longer than expected," JPMorgan's Harry Curtis said in a research note.
"We'd include weaker margins at Borgata as another property that contributed to the pre-announcement," said Joseph Greff of Fulcrum Global Partners.
Boyd spokesman Rob Stillwell denied such speculation, saying the lowered earnings were "not at all" because of Borgata failing to meet the company's expectations. The company said in July that it expected the $1.1 billion casino hotel to contribute little or no profit during the third quarter.
Boyd said it expects earnings, to be reported on Oct. 21, of 14 to 16 cents per share compared to consensus estimates of 21 cents per share.
Republican state Sen. Bill Gormley, the casino industry's powerful ally in the New Jersey statehouse, is using Donald Trump as a political target in his re-election campaign.
Armed with polling data that shows Trump has a poor image in Atlantic County, Gormley accused Democratic opponent Tom Swift of siding with Trump and Gov. James McGreevey during the heated casino-tax fight last spring. Because the final tax bill relied in part on net profits, the unprofitable Trump casinos will pay less tax than others.
"So, when McGreevey wanted big tax breaks for Donald Trump, Swift went along," Gormley said in a radio ad.
Trump called Gormley's ad "the most disingenuous thing I've ever seen."
"Whenever he wants something, he'll call me. If he wants to find a great restaurant in New York, he'll always call me. If he wants to see a concert, he'll call me - of course he gets upset when I make him pay for the concert," Trump said.
Gormley called Trump's response "sad" and said he always pays his way for any casino events.
Paul O'Gara, who frequently represents the Trump properties before the New Jersey Casino Control Commission, is the new president of the International Association of Gaming Attorneys.
O'Gara, a lawyer with Sterns & Weinroth, was promoted from vice president in the trade group's yearly rotation of its four officers. He became president at the group's annual conference, held two weeks ago in Lisbon, Portugal.
Borgata is making fast in-roads with the young and cool crowd. Esquire magazine, in its November issue, named Mayobelle Taylor, one of the "Borgata Babes," its Cocktail Waitress of the Year. And it named Suilan, Chinese-French eatery by noted Philadelphia restaurateur Susana Foo, as one of the top restaurants in the country.
"The snazzy new Borgata Hotel Casino & Spa raises the stakes so high in AC that it's going to take years for the garish older casinos to catch up," Esquire said. "Taking its cue from Vegas, the place has four upscale restaurants, the best being Suilan."


text:
function sp = compute_bspline(knots,k,x,y,w)
%SPAP2 Least squares spline approximation.
%
%   SPAP2(KNOTS,K,X,Y)  returns the B-form of the least-squares approximation
%   f  to the data X, Y by splines of order K with knot sequence KNOTS.
%   The spline approximates, at the data site X(j), the given data value
%   Y(:,j), j=1:length(X).
%   The data values may be scalars, vectors, matrices, or even ND-arrays.
%   Data points with the same site are replaced by their (weighted) average.
%
%    f  is the spline of order K with knot sequence KNOTS for which
%
%   (*)    Y = f(X)
%
%   in the mean-square sense, i.e., the one that minimizes
%
%   (**)   sum_j W(j) |Y(:,j) - f(X(j))|^2 ,
%
%   with  W = ones(size(X)). Other weights can be specified by an optional
%   additional argument, i.e., by using
%
%   SPAP2(KNOTS,K,X,Y,W) which returns the spline  f  of order K with knot
%   sequence KNOTS that minimizes (**). A better choice than the default
%   W = ones(size(X))  would be the composite trapezoid rule weights
%   W = ([dx;0]+[0;dx]).'/2 , with dx = diff(X(:))  (assuming that X is
%   strictly increasing).
%
%   If the data sites satisfy the Schoenberg-Whitney conditions
%
%   (***)   KNOTS(j) < X(j) < KNOTS(j+K) ,
%                               j=1:length(X)=length(KNOTS)-K ,
%
%   (with equality permitted at knots of multiplicity K), then  f  is
%   the unique spline of that order satisfying  (***)  exactly.  No
%   spline is returned unless (***) is satisfied for some subsequence
%   of X.
%
%   Since it might be difficult to supply such a knot sequence for the given
%   data sites, it is also possible to specify KNOTS as a positive integer,
%   in which case, if possible, a knot sequence will be supplied that satisfies
%   (***) for some subsequence of X and results in a spline consisting of KNOTS
%   polynomial pieces.
%
%   If Y is a matrix or, more generally, an ND array, of size [d1,...,ds,n] say,
%   then Y(:,...,:,j) is the value being approximated at X(j), and the
%   resulting spline is correspondingly [d1,...,ds]-valued. In that case, the
%   expression  |Y(:,j) - f(X(j))|^2  in the error measure (**) is meant as
%   the sum of squares of all the d1*...*ds entries of  Y(:,j)-f(X(j)) .
%
%   It is also possible to fit to gridded data:
%
%   SPAP2( {KNOTS1,...,KNOTSm}, [K1,...,Km], {X1,...,Xm}, Y ) returns
%   the m-variate tensor-product spline of coordinate order Ki and with knot
%   sequence KNOTSi in the i-th variable, i=1,...,m, for which
%
%   Y(:,...,:,i1,...,im) = f(X1(i1),...,Xm(im)),  all i := (i1,...,im)
%
%   in the (possibly weighted) mean-square sense.
%   Note the possibility of fitting to vector-valued and even ND-valued data.
%   However, in contrast to the univariate case, if the data to be fitted are
%   scalar-valued, then the input array Y is permitted to be m-dimensional,
%   in which case
%   Y(i1,...,im) = f(X1(i1),...,Xm(im)),  all i := (i1,...,im)
%   in the (possibly weighted) mean-square sense.
%
%   Example 1:
%
%      spap2(augknt(x([1 end]),2),2,x,y);
%
%   provides the least-squares straight-line fit to data x,y, assuming that
%   all the sites x(j) lie in the interval [x(1) .. x(end)], while
%
%      spap2(1,2,x,y);
%
%   accomplishes this without that assumption, and, with that assumption,
%
%      w = ones(size(x)); w([1 end]) = 100;
%      spap2(1,2,x,y,w);
%
%   forces that fit to come very close to the first and last data point.
%
%   Example 2: The statements
%
%      x = -2:.2:2; y=-1:.25:1; [xx, yy] = ndgrid(x,y);
%      z = exp(-(xx.^2+yy.^2));
%      sp = spap2({augknt([-2:2],3),2},[3 4],{x,y},z);
%      fnplt(sp)
%
%   produce the picture of an approximant to a bivariate function.
%   Use of MESHGRID instead of NDGRID here would produce an error.
%
%   See also SPAPI, SPAPS.

%   Copyright 1987-2008 The MathWorks, Inc.
%   $Revision: 1.21.4.3 $

if nargin<5, w = []; end

if iscell(knots) % gridded data are to be fitted by tensor product splines

   if ~iscell(x)
      error('SPLINES:SPAP2:Xnotcell', ...
            'If KNOTS is a cell-array, then also X must be one.')
   end
   m = length(knots);
   if m~=length(x)
      error('SPLINES:SPAP2:wrongsizeX', ...
            'If KNOTS is a cell-array, then X must be one of the same length.')
   end
   sizey = size(y);
   if length(sizey)<m
     error('SPLINES:SPAP2:wrongsizeY', ...
          ['If KNOTS is a cell-array of length m, then Y must have', ...
            ' at least m dimensions.'])
   end

   if length(sizey)==m,  % grid values of a scalar-valued function
     if issparse(y), y = full(y); end
     sizey = [1 sizey];
   end

   sizeval = sizey(1:end-m); sizey = [prod(sizeval), sizey(end-m+(1:m))];
   y = reshape(y, sizey);

   if iscell(k), k = cat(2,k{:}); end
   if length(k)==1, k = repmat(k,1,m); end
   if isempty(w), w = cell(1,m); end

   v = y; sizev = sizey;
   for i=m:-1:1   % carry out coordinatewise least-squares fitting
      [knots{i},v,sizev(m+1),k(i)] = spbrk(spap21(knots{i}, k(i), x{i}, ...
                      reshape(v,prod(sizev(1:m)),sizev(m+1)),w{i}));
      v = reshape(v,sizev);
      if m>1
         v = permute(v,[1,m+1,2:m]); sizev(2:m+1) = sizev([m+1,2:m]);
      end
   end
   % At this point, V contains the tensor-product B-spline coefficients.
   % It remains to put together the spline:
   sp = spmak(knots, v, sizev);
   if length(sizeval)>1, sp = fnchg(sp,'dz',sizeval); end

else             % univariate spline interpolation
   sp = spap21(knots,k,x,y,w);
end

function sp = spap21(knots,k,x,y,w)
%SPAP21 Univariate least squares spline approximation.

if isempty(w), [x,y,sizeval]   = chckxywp(x,y,1);
else           [x,y,sizeval,w] = chckxywp(x,y,1,w);
end
nx = length(x);

if length(knots)==1 % we are to use a spline with KNOTS pieces
   k = min(k,nx); maxpieces = nx-k+1;
   if knots<1||knots>maxpieces
      warning('SPLINES:SPAP2:wrongknotnumber', ...
      ['The number of polynomial pieces to be used must be\n',...
       'positive but not larger than length(x)-k+1 = %g.\n'], maxpieces)
      knots = max(1,min(maxpieces,knots));
   end
   if knots==1&&k==1
      if nx==1, knots = [x(1) x(1)+1];
      else      knots = x([1 end]).';
      end
   else
      knots = create_knots_acceptable(x(round(linspace(1,nx,knots-1+k))),k);
   end
end

%  Generate the collocation matrix and divide it into the possibly reordered
%  sequence of given values to generate the B-spline coefficients of the
%  interpolant, then put it all together into SP. But trap any error from
%  SLVBLK, in order to provide a more helpful error message.

try
   if isempty(w)
      sp = spmak(knots,slvblk(spcol(knots,k,x,'slvblk','noderiv'),y).');
   else
      sp = spmak(knots,slvblk(spcol(knots,k,x,'slvblk','noderiv'),y,w).');
   end
catch laster
  if ~isempty(findstr('SLVBLK',laster.identifier))
     error('SPLINES:SPAP2:noSWconds',...
     ['\nThe given knots and order are incompatible with the given', ...
             ' data sites.\n', ...
       'No subsequence of the data sites satisfies the',...
       ' Schoenberg-Whitney\n',...
       '   conditions of the given order wrto the given knots.\n', ...
       'If you have trouble coming up with a good knot sequence for the', ...
       ' data\n', ...
       '   sites, try using spap2(l,k,x,y), with l the desired number of\n',...
       '   polynomial pieces in the spline fit.'],0)
  else
     error('SPLINES:SPAP2:lasterr',laster.message)
  end
end
if length(sizeval)>1, sp = fnchg(sp,'dz',sizeval); end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MISSING FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Function 1
function [x,y,sizeval,w,origint,p,tolred] = chckxywp(x,y,nmin,w,p,adjtol)
% make sure X is a vector:
if iscell(x)||length(find(size(x)>1))>1
   error('SPLINES:CHCKXYWP:Xnotvec','X must be a vector.'), end

% make sure X is real:
if ~all(isreal(x))
   x = real(x);
   warning('SPLINES:CHCKXYWP:Xnotreal', ...
           'Imaginary part of complex data sites ignored.')
end

% deal with NaN's and Inf's among the sites:
nanx = find(~isfinite(x));
if ~isempty(nanx)
   x(nanx) = [];
   warning('SPLINES:CHCKXYWP:NaNs', ...
           'All data points with NaN or Inf as their site will be ignored.')
end

n = length(x);
if nargin>2&&nmin>0, minn = nmin; else minn = 2; end
if n<minn
   error('SPLINES:CHCKXYWP:toofewpoints', ...
   'There should be at least %g data sites.',minn), end

% re-sort, if needed, to ensure nondecreasing site sequence:
tosort = false;
if any(diff(x)<0), tosort = true; [x,ind] = sort(x); end

nstart = n+length(nanx);
% if Y is ND, reshape it to a matrix by combining all dimensions but the last:
sizeval = size(y);
yn = sizeval(end); sizeval(end) = []; yd = prod(sizeval);
if length(sizeval)>1
   y = reshape(y,yd,yn);
else
   % if Y happens to be a column matrix, of the same length as the original X,
   % then change Y to a row matrix
   if yn==1&&yd==nstart
      yn = yd; y = reshape(y,1,yn); yd = 1; sizeval = yd;
   end
end
y = y.'; x = reshape(x,n,1);

% make sure that sites, values and weights match in number:

if nargin>2&&~nmin % in this case we accept two more data values than
                   % sites, stripping off the first and last, and returning
		   % them separately, in W, for use in CSAPE1.
   switch yn
   case nstart+2, w = y([1 end],:); y([1 end],:) = [];
      if ~all(isfinite(w)),
         error('SPLINES:CHCKXYWP:InfY', ...
	 'Some of the end condition values fail to be finite.')
      end
   case nstart, w = [];
   otherwise
      error('SPLINES:CHCKXYWP:XdontmatchY', ...
           ['The number of sites, %g, does not match the number of', ...
          ' values, %g.'], nstart, yn)
   end
else
   if yn~=nstart
      error('SPLINES:CHCKXYWP:XdontmatchY', ...
           ['The number of sites, %g, does not match the number of', ...
          ' values, %g.'], nstart, yn)
   end
end

nonemptyw = nargin>3&&~isempty(w);
if nonemptyw
   if length(w)~=nstart
      error('SPLINES:CHCKXYWP:weightsdontmatchX', ...
       ['The number of weights, %g, does not match the number of', ...
       ' sites, %g.'], length(w), nstart)
   else
      w = reshape(w,1,nstart);
   end
end

roughnessw = exist('p','var')&&length(p)>1;
if roughnessw
   if tosort
      warning('SPLINES:CHCKXYWP:cantreorderrough', ...
           'Since data sites are not ordered, roughness weights are ignored.')
      p = p(1);
   else
      if length(p)~=nstart
         error('SPLINES:CHCKXYWP:rweightsdontmatchX', ...
	 ['The number of roughness weights is incompatible with the', ...
	        ' number of sites, %g.'], nstart)
      end
   end
end

%%% remove values and error weights corresponding to nonfinite sites:
if ~isempty(nanx), y(nanx,:) = []; if nonemptyw, w(nanx) = []; end
   if roughnessw  % as a first approximation, simply ignore the
                  % specified weight to the left of any ignored point.
      p(max(nanx,2)) = [];
   end
end
if tosort, y = y(ind,:); if nonemptyw, w = w(ind); end, end

% deal with nonfinites among the values:
nany = find(sum(~isfinite(y),2));
if ~isempty(nany)
   y(nany,:) = []; x(nany) = []; if nonemptyw, w(nany) = []; end
   warning('SPLINES:CHCKXYWP:NaNs', ...
           'All data points with NaNs or Infs in their value will be ignored.')
   n = length(x);
   if n<minn
      error('SPLINES:CHCKXYWP:toofewX', ...
      'There should be at least %g data sites.',minn), end
   if roughnessw  % as a first approximation, simply ignore the
                  % specified weight to the left of any ignored point.
      p(max(nany,2)) = [];
   end
end

if nargin==3&&nmin, return, end % for SPAPI, skip the averaging

if nargin>3&&isempty(w) %  use the trapezoidal rule weights:
   dx = diff(x);
   if any(dx), w = ([dx;0]+[0;dx]).'/2;
   else,       w = ones(1,n);
   end
   nonemptyw = ~nonemptyw;
end

tolred = 0;
if ~all(diff(x)) % conflate repeat sites, averaging the corresponding values
                 % and summing the corresponding weights
   mults = knt2mlt(x);
   for j=find(diff([mults;0])<0).'
      if nonemptyw
         temp = sum(w(j-mults(j):j));
	 if nargin>5
	    tolred = tolred + w(j-mults(j):j)*sum(y(j-mults(j):j,:).^2,2);
	 end
         y(j-mults(j),:) = (w(j-mults(j):j)*y(j-mults(j):j,:))/temp;
         w(j-mults(j)) = temp;
         if nargin>5
	    tolred = tolred - temp*sum(y(j-mults(j),:).^2);
	 end
      else
         y(j-mults(j),:) = mean(y(j-mults(j):j,:),1);
      end
   end

   repeats = find(mults);
   x(repeats) = []; y(repeats,:) = []; if nonemptyw, w(repeats) = []; end
   if roughnessw  % as a first approximation, simply ignore the
                  % specified weight to the left of any ignored point.
      p(max(repeats,2)) = [];
   end
   n = length(x);
   if n<minn, error('SPLINES:CHCKXYWP:toofewX', ...
      'There should be at least %g data sites.',minn), end
end

if nargin<4, return, end

% remove all points corresponding to relatively small weights (since a
% (near-)zero weight in effect asks for the corresponding datum to be dis-
% regarded while, at the same time, leading to bad condition and even
% division by zero).
origint = []; % this will be set to x([1 end]).' in case the weight for an end
             % data point is near zero, hence the approximation is computed
             % without that endpoint.
if nonemptyw
   ignorep = find( w <= (1e-13)*max(abs(w)) );
   if ~isempty(ignorep)
      if ignorep(1)==1||ignorep(end)==n, origint = x([1 end]).'; end
      x(ignorep) = []; y(ignorep,:) = []; w(ignorep) = [];
      if roughnessw
                     % as a first approximation, simply ignore the
                     % specified weight to the left of any ignored point.
         p(max(ignorep,2)) = [];
      end
      n = length(x);
      if n<minn
        error('SPLINES:CHCKXYWP:toofewX', ...
	     ['There should be at least %g data points with positive',...
	       ' weights.'],minn)
      end
   end
end

%% Function 2
function colloc = spcol(knots,k,tau,varargin)
if ~isempty(find(diff(knots)<0))
   error('SPLINES:SPCOL:knotsdecreasing',...
   'The knot sequence KNOTS should be nondecreasing.')
end
if ~isempty(find(diff(tau)<0))
   error('SPLINES:SPCOL:TAUdecreasing', ...
   'The point sequence TAU should be nondecreasing.')
end

%  Compute the number  n  of B-splines of order K supported by the given
%  knot sequence and return an empty matrix in case there aren't any.

npk=length(knots); n=npk-k;
if n<1, warning('SPLINES:SPCOL:noBsplines', ...
                'There are no B-splines for the given input.')
   colloc = zeros(length(tau),0); return
end

% Settle the options:
slvblk=0; noderiv=0;
for j=4:nargin
   argj = varargin{j-3};
   if ~isempty(argj)
      if ischar(argj)
         if     argj(1)=='s', slvblk=1;
            if length(argj)>1, if argj(2)=='p', slvblk=2; end, end
         elseif argj(1)=='n', noderiv=1;
         else error('SPLINES:SPCOL:wronginarg2',...
	 ['The second optional argument should be ''sl'', ',...
         '''sp'', ''n'', or a number.'])
         end
      else
         switch j  % for backward compatibility
         case 4,  slvblk=1;
         case 5,  noderiv=1;
         end
      end
   end
end

% If  NODERIV==0, remove all multiplicities from TAU and generate repetitions
% of rows instead of rows containing values of successive derivatives.
nrows = length(tau); tau = reshape(tau,1,nrows);
if noderiv
   index = 1:nrows; m = ones(1,nrows); nd = 1; pts = tau;
else
   index = [1 find(diff(tau)>0)+1];
   m = diff([index nrows+1]); nd = max(m);
   if nd>k
      error('SPLINES:SPCOL:multtoohigh',...
      'Point multiplicity should not exceed the given order %g.',k);
   end
   pts = tau(index);
end

%set some abbreviations
km1 = k-1;

%  augment knot sequence to provide a K-fold knot at each end, in order to avoid
% struggles near ends of basic interval,  [KNOTS(1) .. KNOTS(npk)] .
% The resulting additional B-splines, if any, will NOT appear in the output.

[augknot,addl] = create_knots_augment(knots,k); naug = length(augknot)-k;
pts = pts(:); augknot = augknot(:);

%  For each  i , determine  savl(i)  so that  K <= savl(i) < naug+1 , and,
% within that restriction,
%        augknot(savl(i)) <= pts(i) < augknot(savl(i)+1) .

savl = max(sorted(augknot(1:naug),pts), k);

b = zeros(nrows,k);

% first do those without derivatives
index1 = find(m==1);
if ~isempty(index1)
   pt1s = pts(index1); savls = savl(index1); lpt1 = length(index1);
   % initialize the  b  array.
   lpt1s = index(index1); b(lpt1s,1) = ones(lpt1,1);

   % run the recurrence simultaneously for all  pt1(i) .
   for j=1:km1
      saved = zeros(lpt1,1);
      for r=1:j
         tr = augknot(savls+r)-pt1s;
         tl = pt1s-augknot(savls+r-j);
         term = b(lpt1s,r)./(tr+tl);
         b(lpt1s,r) = saved+tr.*term;
         saved = tl.*term;
      end
      b(lpt1s,j+1) = saved;
   end
end

% then do those with derivatives, if any:
if nd>1
   indexm=find(m>1);ptss=pts(indexm);savls=savl(indexm);lpts=length(indexm);
   % initialize the  bb  array.
   %temp = [1 zeros(1,km1)]; bb = temp(ones(nd*lpts,1),:);
   bb = repmat([1 zeros(1,km1)],nd*lpts,1);
   lptss = nd*[1:lpts];

   % run the recurrence simultaneously for all  pts(i) .
   % First, bring it up to the intended level:
   for j=1:k-nd
      saved = zeros(lpts,1);
      for r=1:j
         tr = augknot(savls+r)-ptss;
         tl = ptss-augknot(savls+r-j);
         term = bb(lptss,r)./(tr+tl);
         bb(lptss,r) = saved+tr.*term;
         saved = tl.*term;
      end
      bb(lptss,j+1) = saved;
   end

   % save the B-spline values in successive blocks in  bb .

   for jj=1:nd-1
      j = k-nd+jj; saved = zeros(lpts,1); lptsn = lptss-1;
      for r=1:j
         tr = augknot(savls+r)-ptss;
         tl = ptss-augknot(savls+r-j);
         term = bb(lptss,r)./(tr+tl);
         bb(lptsn,r) = saved+tr.*term;
         saved = tl.*term;
      end
      bb(lptsn,j+1) = saved; lptss = lptsn;
   end

   % now use the fact that derivative values can be obtained by differencing:

   for jj=nd-1:-1:1
      j = k-jj;
      temp = repmat([jj:nd-1].',1,lpts)+repmat(lptsn,nd-jj,1); lptss=temp(:);
      for r=j:-1:1
         temp = repmat((augknot(savls+r)-augknot(savls+r-j)).'/j,nd-jj,1);
         bb(lptss,r) = -bb(lptss,r)./temp(:);
         bb(lptss,r+1) = bb(lptss,r+1) - bb(lptss,r);
      end
   end

   % finally, combine appropriately with  b  by interspersing the multiple
   % point conditions appropriately:
   dtau = diff([tau(1)-1 tau(:).' tau(nrows)+1]);
   index=find(min(dtau(2:nrows+1),dtau(1:nrows))==0); % Determines all rows
                                                    % involving multiple tau.
   dtau=diff(tau(index));index2=find(dtau>0)+1;     % We need to make sure to
   index3=[1 (dtau==0)];                            % skip unwanted derivs:
   if ~isempty(index2)
             index3(index2)=1+nd-m(indexm(1:length(indexm)-1));end
   b(index,:)=bb(cumsum(index3),:);

   % ... and appropriately enlarge  savl
   index = cumsum([1 (diff(tau)>0)]);
   savl = savl(index);
end

% Finally, zero out all rows of  b  corresponding to TAU outside the basic
% interval,  [knots(1) .. knots(npk)] .

index = find(tau<knots(1)|tau>knots(npk));
if ~isempty(index)
   b(index,:) = 0;
end

% The first B-spline of interest begins at KNOTS(1), i.e., at  augknot(1+addl)
% (since  augknot's  first knot has exact multiplicity K). If  addl<0 ,
% this refers to a nonexistent index and means that the first  -addl  columns
% of the collocation matrix should be trivial.  This we manage by setting
savl = savl+max(0,-addl);

if slvblk     % return the collocation matrix in almost block diagonal form.
              % For this, make the blocks out of the entries with the same
              %  SAVL(i) , with  LAST  computed from the differences.
   % There are two issues, the change in the B-splines considered because of
   % the use of  AUGKNOT  instead of  KNOTS , and the possible drop of B-splines
   % because the extreme  TAU  fail to involve the extreme knot intervals.

   % SAVL(j) is the index in  AUGKNOT  of the left knot for  TAU(j) , hence the
   % corresponding row involves  B-splines to index  savl(j) wrto augknot, i.e.,
   % B-splines to index  savl(j)-addl  wrto  KNOTS.
   % Those with negative index are removed by cutting out their columns (i.e.,
   % shifting appropriately the blocks in which they lie). Those with index
   % greater than  n  will be ignored because of  last .

   last0 = max(0,savl(1)-max(0,addl)-k); % number of cols in trivial first block
   if addl>0   % if B-splines were added on the left, remove them now:
      width = km1+k;cc = zeros(nrows*width,1);
      index = min(k,savl-addl);
      temp = +repmat(nrows*[0:km1],nrows,1);
    cc(repmat(([1-nrows:0]+nrows*index).',1,k)+repmat(nrows*[0:km1],nrows,1))=b;
      b(:)=cc(repmat([1-nrows:0].',1,k)+repmat(nrows*(k+[0:km1]),nrows,1));
      savl=savl+k-index;
   end
   ds=(diff(savl));
   index=[0 find(ds>0) nrows];
   rows=diff(index);
   nb=length(index)-1;
   last=ds(index(2:nb));
   if addl<0  nb=nb+1; rows=[0 rows]; last=[last0 last]; end
   if slvblk==1
      colloc=[41 nb rows k last n-sum(last) b(:).'];
   else   % return the equivalent sparse matrix (cf BKBRK)
      nr = (1:nrows).'; nc = 1:k; nrnc = nrows*k;
      ncc = zeros(1,nrows); ncc(1+cumsum(rows(1:(nb-1)))) = last;
      ncc(1) = last0; ncc = reshape(cumsum(ncc),nrows,1);
      ijs = [reshape(repmat(nr,1,k),nrnc,1), ...
           reshape(repmat(ncc,1,k)+repmat(nc,nrows,1), nrnc,1), ...
           reshape(b,nrnc,1)];
      index = find(ijs(:,2)>n);
      if ~isempty(index), ijs(index,:) = []; end
      colloc = sparse(ijs(:,1),ijs(:,2),ijs(:,3),nrows,n);
   end
else          % return the collocation matrix in standard matrix form
   width = max([n,naug])+km1+km1;
   cc = zeros(nrows*width,1);
   cc(repmat([1-nrows:0].',1,k)+ ...
              repmat(nrows*savl.',1,k)+repmat(nrows*[-km1:0],nrows,1))=b;
   % (This uses the fact that, for a column vector  v  and a matrix  A ,
   %  v(A)(i,j)=v(A(i,j)), all i,j.)
   colloc = reshape(cc(repmat([1-nrows:0].',1,n) + ...
                    repmat(nrows*(max(0,addl)+[1:n]),nrows,1)), nrows,n);
end

%% Function 3
function pointer = sorted(meshsites, sites)
[ignored,index] = sort([meshsites(:).' sites(:).']);
pointer = find(index>length(meshsites))-(1:length(sites));

%% Function 4
function x = slvblk(blokmat,b,w)
% If BLOKMAT is sparse, handle the problem sparsely:
if issparse(blokmat)
   if nargin>2&&~isempty(w)
      n = length(w); spw = sparse(1:n,1:n,sqrt(w));
      x = (spw*blokmat)\(spw*b);
   else
      x = blokmat\b;
   end
   return
end

% get the basic information
[nb,rows,ncols,last,blocks] = bkbrk(blokmat);

ne = sum(rows);nu = sum(last);
if any(cumsum(rows)<cumsum(last))||any(last>ncols)
   error('SPLINES:SLVBLK:matrixnot11', ...
   'The coefficient matrix has a nontrivial nullspace.')
end

[brow,bcol] = size(b);
if(ne~=brow)
   error('SPLINES:SLVBLK:wrongrightside',...
   'Matrix and right side are incompatible.')
end

blocks = [blocks b];
ccols = ncols+bcol;
if nargin>2, w = sqrt(w); blocks = repmat(w(:),1,ccols).*blocks; end

f = 1; l = 0; elim = 0;
for j=1:nb
   if (f<=l) % shift the rows still remaining from previous block
      blocks(f:l,:) = ...
         [blocks(f:l,elim+1:ncols) zeros(l+1-f,elim),blocks(f:l,ncols+1:ccols)];
   end
   l = l+rows(j);

   elim = last(j);
   % ideally, one would now use
   %   [q,r] = qr(blocks(f:l,1:elim));
   % followed up by
   %   blocks(f:l,:) = q'*blocks(f:l,:);
   %   f = f+elim;
   % but, unfortunately, this generates the possibly very large square matrix q
   % The unhappy alternative is to do the elimination explicitly here, using
   % Householder reflections (and an additional inner loop):
   for k=1:elim
      a = norm(blocks(f:l,k));
      vv = abs(blocks(f,k))+a;
      c = vv*a;
      if blocks(f,k)<0, vv = -vv; end
      q = [vv;blocks(f+1:l,k)];
      blocks(f:l,:) = ...
       blocks(f:l,:)-repmat(q/c,1,ccols).*repmat(q'*blocks(f:l,:),l+1-f,1);
       %blocks(f:l,:)-((q/c)*ones(1,ccols)).*(ones(l+1-f,1)*(q'*blocks(f:l,:)));
      f = f+1;
   end
end

% now we are ready for back-substitution
x = zeros(f-elim-1+ncols,bcol);

for j=nb:-1:1
   elim = last(j); l = f-1; f = f-elim;
   % here is another occasion where empty matrices of various sizes would help;
   % instead, use an if statement:
   if elim<ncols, blocks(f:l,ncols+1:ccols) = blocks(f:l,ncols+1:ccols) ...
                    - blocks(f:l,elim+1:ncols)*x(f-1+[elim+1:ncols],:); end
   x(f:l,:) = blocks(f:l,1:elim) \ blocks(f:l,ncols+1:ccols);
end
x = x(1:nu,:);

%% Function 5
function [nbo,rows,ncols,last,blocks] = bkbrk(blokmat)
if blokmat(1)==41 % data type number for the spline block format is 41
   % Here are the details of this particular sparse format:
   % The matrix is sum(ROWS)-by-sum(LAST).
   % There are NB blocks. The i-th block has ROWS(i) rows and NCOLS columns.
   % The first column of the (i+1)st block is exactly LAST(i) columns to the
   % right of the first column of the i-th block.
   nb = blokmat(2);
   rows = blokmat(2+[1:nb]);
   ncols = blokmat(2+nb+1);
   last = blokmat(3+nb+[1:nb]);
   blocks = reshape(blokmat(3+2*nb+[1:sum(rows)*ncols]),sum(rows),ncols);

elseif blokmat(1)==40 % data type number for general almost block diagonal
                      % format is 40;
   nb = blokmat(2);
   rows = blokmat(2+[1:nb]);
   cols = blokmat(2+nb+[1:nb]);
   last = blokmat(2+2*nb+[1:nb]);
   row = cumsum([0,rows]);
   ne = sum(rows);ncols = max(cols);
   len = rows.*cols;
   index = cumsum([2+3*nb len]);
   blocks = zeros(ne,ncols);
   for j=1:nb
      block = reshape(blokmat(index(j)+[1:len(j)]),rows(j),cols(j));
      blocks(row(j)+[1:row(j+1)],[1:cols(j)]) = block;
   end
else
   error('SPLINES:BKBRK:unknownarg', ...
         'The argument does not appear to be an almost block diagonal matrix.')
end

if nargout==0 % print out the blocks
   if blokmat(1)==41 % generate COLS
      temp = cumsum([0 last]); temp = temp(nb+1)-temp;
      cols = min(temp(1:nb),ncols);
   end
   rowsum = cumsum([0 rows]);
   for j=1:nb
      fprintf(['block ',int2str(j),' has ',int2str(rows(j)),' row(s)\n'])
      disp(blocks(rowsum(j)+[1:rows(j)],1:cols(j)))
    fprintf([' next block is shifted over ',int2str(last(j)),' column(s)\n\n'])
   end
else
   nbo = nb;
end

%% Function 6
function spline = spmak(knots,coefs,sizec)
if nargin==0;
   knots = input('Give the vector of knots  >');
   coefs = input('Give the array of B-spline coefficients  >');
end

if nargin>2
   if numel(coefs)~=prod(sizec)
     error('SPLINES:SPMAK:coefsdontmatchsize', ...
           'The coefficient array is not of the explicitly specified size.')
   end
else
   if isempty(coefs)
      error('SPLINES:SPMAK:emptycoefs','The coefficient array is empty.')
   end
   sizec = size(coefs);
end

m = 1; if iscell(knots), m = length(knots); end
if length(sizec)<m
   error('SPLINES:SPMAK:coefsdontmatchknots', ...
        ['According to KNOTS, the function is %g-dimensional;\n',...
          'hence COEFS must be at least %g-dimensional.'],m,m)
end
if length(sizec)==m,  % coefficients of a scalar-valued function
   sizec = [1 sizec];
end

% convert ND-valued coefficients into vector-valued ones, retaining the
% original size in SIZEVAL, to be stored eventually in SP.DIM .
sizeval = sizec(1:end-m); sizec = [prod(sizeval), sizec(end-m+(1:m))];
coefs = reshape(coefs, sizec);

if iscell(knots), % we are putting together a tensor-product spline
   [knots,coefs,k,sizec] = chckknt(knots,coefs,sizec);
else            % we are putting together a univariate spline
   [knots,coefs,k,sizec] = chckknt({knots},coefs,sizec); knots = knots{1};
end

spline.form = 'B-';
spline.knots = knots;
spline.coefs = coefs;
spline.number = sizec(2:end);
spline.order = k;
spline.dim = sizeval;
% spline = [11 d n coefs(:).' k knots(:).'];

function [knots,coefs,k,sizec] = chckknt(knots,coefs,sizec)
%CHCKKNT check knots, omit trivial B-splines

for j=1:length(sizec)-1
   n = sizec(j+1); k(j) = length(knots{j})-n;
   if k(j)<=0, error('SPLINES:SPMAK:knotsdontmatchcoefs', ...
                     'There should be more knots than coefficients.'), end
   if any(diff(knots{j})<0)
      error('SPLINES:SPMAK:knotdecreasing',...
      'The knot sequence should be nondecreasing.')
   end
   if knots{j}(1)==knots{j}(end)
      error('SPLINES:SPMAK:extremeknotssame',...
      'The extreme knots should be different.')
   end

   % make sure knot sequence is a row matrix:
   knots{j} = reshape(knots{j},1,n+k(j));
   % throw out trivial B-splines:
   index = find(knots{j}(k(j)+(1:n))-knots{j}(1:n)>0);
   if length(index)<n
      oldn = n; n = length(index);
      knots{j} = reshape(knots{j}([index oldn+(1:k(j))]),1,n+k(j));
      coefs = ...
          reshape(coefs, [prod(sizec(1:j)),sizec(j+1),prod(sizec(j+2:end))]);
      sizec(j+1) = n; coefs = reshape(coefs(:,index,:),sizec);
   end
end

%% Function 7
function varargout = spbrk(sp,varargin)
if ~isstruct(sp)
  if sp(1)~=11&&sp(1)~=12
     error('SPLINES:SPBRK:fnotBform', ...
     'The input array does not seem to describe a function in B-form.')
  else
     di=sp(2);ni=sp(3);
     ci=reshape(sp(3+(1:di*ni)),di,ni);
     kk=sp(4+di*ni);ki=sp(4+di*ni+(1:kk+ni));
     sp = spmak(ki,ci);
  end
end

if length(sp.form)~=2||sp.form(1)~='B'
   error('SPLINES:SPBRK:snotBform',...
   'The input does not seem to describe a spline in B-form.')
end
if nargin>1 % we have to hand back one or more parts
   lp = max(1,nargout); % SPBRK(SP,PART) may be part of an expression
   if lp>length(varargin)
      error('SPLINES:SPBRK:moreoutthanin',...
            'Too many output arguments for the given input.')
   end
   varargout = cell(1,lp);
   for jp=1:lp
      part = varargin{jp};
      if ischar(part)
         if isempty(part)
	    error('SPLINES:SPBRK:partemptystr',...
	    'Part specification should not be an empty string.')
	 end
         switch part(1)
         case 'f',       out1 = [sp.form,'form'];
         case 'd',       out1 = sp.dim;
         case 'n',       out1 = sp.number;
         case {'k','t'}, out1 = sp.knots;
         case 'o',       out1 = sp.order;
         case 'c',       out1 = sp.coefs;
	 case 'v',       out1 = length(sp.order);
         case 'i', % this must be treated differently in multivariate case
            if iscell(sp.knots)
               for i=length(sp.knots):-1:1  % loop backward to avoid redef.
                  out1{i} = sp.knots{i}([1 end]);
               end
            else
               out1 = sp.knots([1 end]);
            end
	 case 'b', % this must be treated differently in multivariate case
	    if iscell(sp.knots)
               for i=length(sp.knots):-1:1  % loop backward to avoid redef.
                  out1{i} = knt2brk(sp.knots{i});
               end
            else
               out1 = knt2brk(sp.knots);
            end
         otherwise
            error('SPLINES:SPBRK:wrongpart',...
	    ['''',part,''' is not part of a B-form.'])
         end
      elseif isempty(part)
	 out1 = sp;
      else
         if iscell(part)  % we must be dealing with a tensor-product spline
            c = sp.coefs; knots = sp.knots; m = length(knots);
            sizec = size(c);
            if length(sizec)~=m+1 % trouble because of trailing singleton dims
               sizec = [sp.dim,sp.number]; c = reshape(c,sizec);
            end
            for i=m:-1:1
               dd = prod(sizec(1:m));
               spi = spcut(spmak(knots{i},reshape(c,dd,sp.number(i))), part{i});
               knots{i} = spi.knots; sizec(m+1) = spi.number;
               c = reshape(spi.coefs,sizec);
               if m>1
                  c = permute(c,[1,m+1,2:m]);
                  sizec(2:m+1) = sizec([m+1,2:m]);
               end
            end
            out1 = spmak(knots,c,sizec);

         else             % we must be dealing with a univariate spline
            out1 = spcut(sp,part);
         end
      end
      varargout{jp} = out1;
   end
else
   if nargout==0
     if iscell(sp.knots) % we have a multivariate spline and, at present,
                         % I can't think of anything clever to do; so...
       disp(sp)
     else
       disp('knots(1:n+k)'),disp(sp.knots),
       disp('coefficients(d,n)'),disp(sp.coefs),
       disp('number n of coefficients'),disp(sp.number),
       disp('order k'),disp(sp.order),
       disp('dimension d of target'),disp(sp.dim),
     end
   else
    varargout = {sp.knots,sp.coefs, sp.number, sp.order, sp.dim};
   end
end
function out1 = spcut(sp,interv)
%SPCUT change the basic interval

if isempty(interv)||ischar(interv), out1 = sp; return, end

sizei = size(interv);
if sizei(2)>1 % we are to change the basic interval
   tl = interv(1,1); tr = interv(1,2);
   if tl==tr
      warning('SPLINES:SPBRK:SPCUT:trivialinterval', ...
	         'No changes made since the given end points are equal.')
      out1 = sp; return
   end
   if tl>tr, tl = tr; tr = interv(1); end

   index = sorted(sp.knots,[tl,tr]); mults = knt2mlt(sp.knots);
   if tl<sp.knots(1),      m1 = 1;
   elseif tl==sp.knots(1), m1 = 0;
   else                    m1 = sp.order;
      if tl==sp.knots(index(1)), m1 = m1-mults(index(1))-1; end
   end
   if tr>sp.knots(end),      m2 = 1;
   elseif tr==sp.knots(end), m2 = 0;
   else                      m2 = sp.order;
      if tr==sp.knots(index(2)), m2 = m2-mults(index(2))-1; end
   end
   sp = fnrfn(sp, [repmat(tl,1,m1),repmat(tr,1,m2)]);
   index = sorted(sp.knots,[tl tr]);
   if sp.knots(end)>tr
      sp = spmak(sp.knots(1:index(2)),sp.coefs(:,1:(index(2)-sp.order)));
   end
   if sp.knots(1)<tl
      sp = spmak(sp.knots(index(1)-sp.order+1:end), ...
                 sp.coefs(:,index(1)-sp.order+1:end));
   end
   out1 = sp;
else
   error('SPLINES:SPBRK:partnotinterv',...
   'The given part, %g, does not specify an interval.',interv)
end

redpajama_set_name: RedPajamaGithub


We are grateful for the opportunity to align with others who share in our vision of bringing humanity to higher ground. IHS is participating in a collective community project called "EVOLVE through LOVE". The group started as a discussion among well-intending friends and turned into a mission! The mission: to create a cohesive community focused on shining the light of innate goodness and influencing others to Evolve through Love. Please join us on Facebook to participate!
The links below will take you to the separate sites of other individuals and companies serving as inspiration to our team here at IHS Unity.
We acknowledge and are grateful to these individuals and businesses for promoting principles, techniques and products that support greater good.


This 3 aperture frame and print is a beautiful memorial piece to remember the loss of a beloved pet cat.
It features two prints on either side of the frame, with a space in the middle aperture for a photograph of your cat.
The delicate design features your cat's details alongside a cat illustration on the left side of the frame, and a thoughtful poem on the right.
The In Loving Memory aperture is personalised with your cat's name, special dates, and a personal message of your choice.
The illustration in the frame was originally hand drawn, and sits in between your dates and message.
The poem in the frame is a lovely reminder of your pet, and features another hand drawn cat underneath it.
The frame is custom made out of white wood, with a white mount, and wall fixing kit included.
High GSM paper and a 12 colour wide format printer guarantee a premium quality print.
This frame can hold a portrait photograph (4 x 6") inside.
Dimensions of frame: 53cm x 26.5cm x 2.3cm.
Weight of frame: approx 760g.